DE102017009118A1 - IMAGE BALANCE FOR SERIAL PICTURES - Google Patents

IMAGE BALANCE FOR SERIAL PICTURES Download PDF

Info

Publication number
DE102017009118A1
DE102017009118A1 DE102017009118.8A DE102017009118A DE102017009118A1 DE 102017009118 A1 DE102017009118 A1 DE 102017009118A1 DE 102017009118 A DE102017009118 A DE 102017009118A DE 102017009118 A1 DE102017009118 A1 DE 102017009118A1
Authority
DE
Germany
Prior art keywords
image
feature points
local area
reference image
matched
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.)
Pending
Application number
DE102017009118.8A
Other languages
German (de)
Inventor
Zhaowen Wang
Hailin Jin
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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
Priority claimed from US15/676,903 external-priority patent/US10453204B2/en
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102017009118A1 publication Critical patent/DE102017009118A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • 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
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • H04N25/57Control of the dynamic range
    • H04N25/58Control of the dynamic range involving two or more exposures
    • H04N25/587Control of the dynamic range involving two or more exposures acquired sequentially, e.g. using the combination of odd and even image fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10144Varying exposure
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Erzeugen eines neuen abgeglichenen Bilds aus einer Mehrzahl von Serienbildern. Die Systeme und Verfahren unterteilen ein Referenzbild in eine Mehrzahl von Bereichen und ein nachfolgendes Bild in eine Mehrzahl von entsprechenden lokalen Bereichen. Zusätzlich erfassen die Systeme und Verfahren eine Mehrzahl von Merkmalspunkten in jedem des Referenzbilds und des nachfolgenden Bilds und bestimmen abgestimmte Merkmalspunktpaare zwischen dem Referenzbild und dem nachfolgenden Bild. Auf der Basis der abgestimmten Merkmalspunktpaare bestimmen die Systeme und Verfahren mindestens eine Homographie des Referenzbilds zu dem nachfolgenden Bild. Auf der Basis der Homographie erzeugen die Systeme und Verfahren ein neues abgeglichenes Bild, das pixelweise mit dem Referenzbild abgeglichen ist. Ferner verfeinern die Systeme und Verfahren Grenzen zwischen lokalen Bereichen des neuen abgeglichenen Bilds.The present disclosure relates to systems and methods for generating a new matched image from a plurality of burst images. The systems and methods divide a reference image into a plurality of regions and a subsequent image into a plurality of corresponding local regions. In addition, the systems and methods capture a plurality of feature points in each of the reference image and the subsequent image and determine matched feature point pairs between the reference image and the subsequent image. On the basis of the matched feature point pairs, the systems and methods determine at least one homography of the reference image to the subsequent image. Based on homography, the systems and methods generate a new matched image that is matched pixel by pixel to the reference image. Further, the systems and methods refine boundaries between local areas of the new matched image.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS

Diese Anmeldung beansprucht die Priorität der US-Provisional-Patentanmeldung Nr. 62/430,709 , die am 6. Dezember 2016 eingereicht worden ist und die in ihrer Gesamtheit hierin einbezogen ist.This application claims the priority of U.S. Provisional Patent Application No. 62 / 430,709 , filed December 6, 2016, which is incorporated herein by reference in its entirety.

HINTERGRUNDBACKGROUND

Eine Serienbildaufnahme (z.B. das Aufnehmen mehrerer aufeinanderfolgender Bilder in einem relativ kurzen Zeitraum) steht für verschiedene Typen von Bildaufnahmevorrichtungen zur Verfügung (z.B. Digitalkameras, Mobiltelefone, usw). Durch Aufnehmen einer Mehrzahl von Bildern in einem kurzen Zeitraum kann ein Nutzer herkömmlich ein Bild aus den Serienbildern auswählen, das die höchste Qualität oder das beste Timing aufweist. In manchen Fällen wird jedoch eines der Bilder die höchste Qualität aufweisen, während ein anderes das beste Timing aufweist. In anderen Fällen hat keines der Bilder eine sehr gute Qualität. Darüber hinaus können die Serienbilder Mängel bei der Belichtung und eine signifikante Unschärfe aufweisen.Continuous shooting (e.g., taking a plurality of consecutive pictures in a relatively short period of time) is available for various types of image capture devices (e.g., digital cameras, cell phones, etc.). By picking up a plurality of images in a short period of time, a user can conventionally select an image from the burst images having the highest quality or the best timing. In some cases, however, one of the images will be of the highest quality while another will have the best timing. In other cases, none of the pictures has a very good quality. In addition, the continuous images may have deficiencies in exposure and significant blurring.

Es wurden einige Anstrengungen unternommen, eine Mehrzahl von Bildern der Serienbilder zu verschmelzen (z.B. zu vereinigen), um ein Rauschen (d.h., statistische Variationen der Helligkeit und/oder der Farbinformationen) von den Serienbildern zu beseitigen oder ein einzelnes Bild ohne Rauschen zu bilden. Solche herkömmlichen Systeme funktionieren üblicherweise nur dann gut, wenn lokale Bewegungen konsistent sind (z.B. eine Bewegung in allen Serienbildern konsistent ist), und wenn diese Annahme nicht gilt (aufgrund einer Kameraverformung oder einer 3D-Ansichtsänderung), nimmt die Genauigkeit einer lokalen Bewegungsabschätzung (essentiell zum Verschmelzen der Mehrzahl von Bildern) ab. Als Ergebnis führen die Bildsysteme herkömmlich nicht zu hochqualitativeren Bildern als die Serienbilder. Zusätzliche Anstrengungen wurden bezüglich eine Bildabgleichs (z.B. bezüglich des Abgleichens von Serienbildern miteinander) und des Bereitstellens eines neuen abgeglichenen Bilds aus dem abgeglichenen Bild unternommen. Solche Bildsysteme arbeiten jedoch herkömmlich offline und erfordern eine signifikante Verarbeitungsleistung und einen signifikanten Speicher. Als Ergebnis sind die Bildsysteme nicht für mobile Echtzeitanwendungen (z.B. Mobiltelefonanwendungen) geeignet.Some effort has been made to merge (e.g., unify) a plurality of images of the burst images to eliminate noise (i.e., statistical variations in brightness and / or color information) from the burst images or to form a single image without noise. Such conventional systems usually work well only when local motions are consistent (eg, motion is consistent in all bursts), and if this assumption is not true (due to camera deformation or 3D view change), the accuracy of local motion estimation (essential for merging the plurality of images). As a result, the image systems conventionally do not produce higher quality images than the burst images. Additional efforts have been made in terms of image matching (e.g., matching of burst images with each other) and providing a new matched image from the matched image. However, such imaging systems traditionally operate offline and require significant processing power and memory. As a result, the image systems are not suitable for real-time mobile applications (e.g., mobile phone applications).

Demgemäß gibt es diese und andere Nachteile bezüglich herkömmlicher Systeme.Accordingly, there are these and other disadvantages with respect to conventional systems.

KURZE ZUSAMMENFASSUNGSHORT SUMMARY

Die vorstehend beschriebenen verschiedenen Ausführungsformen stellen einen Nutzen bereit und/oder lösen eines oder mehrere der vorstehend genannten oder anderer Probleme im Stand der Technik mit Systemen und Verfahren zum Erzeugen eines Bilds aus einer Mehrzahl von Serienbildern mit erhöhter Qualität. Insbesondere stellen die Systeme und Verfahren die Erzeugung eines Einzelbilds (z.B. eines Bilds mit höherer Gesamtqualität) aus der Mehrzahl von Serienbildern bereit, das den Moment (d.h., das Timing) der Serienbilder aufnimmt, während es ein Qualitätsniveau von typischen Nicht-Serienbildern erreicht. Insbesondere sorgen die Systeme und Verfahren für eine effiziente Kompensation einer Translation, Rotation und Skalierung, die in einer Mehrzahl von Serienbildern auftreten können, und eine effiziente Erzeugung eines neuen abgeglichenen Bilds, das eine höhere Qualität aufweist als die Qualität von jedem der einzelnen Serienbilder. Darüber hinaus sorgen die Systeme und Verfahren für eine effiziente Erzeugung des neuen abgeglichenen Bilds auf einer mobilen Vorrichtung, wie z.B. einem Mobiltelefon.The various embodiments described above provide utility and / or solve one or more of the foregoing or other problems in the art with systems and methods for producing an image of a plurality of enhanced quality continuous frames. In particular, the systems and methods provide for the generation of a frame (e.g., a higher overall quality picture) from the plurality of bursts that captures the instant (i.e., timing) of the burst images while attaining a quality level of typical non-burst images. In particular, the systems and methods provide efficient compensation for translation, rotation, and scaling that can occur in a plurality of burst images, and efficient generation of a new matched image that has higher quality than the quality of each of the individual burst images. In addition, the systems and methods provide for efficient generation of the new matched image on a mobile device, such as a mobile device. a mobile phone.

In einer oder mehreren Ausführungsform(en) unterteilen die Systeme und Verfahren ein Referenzbild und ein nachfolgendes Bild der Serienbilder in einer Mehrzahl von lokalen Bereichen und erfassen Merkmalspunkte in jedem der lokalen Bereiche. Ferner stimmen die Systeme und Verfahren Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild gemäß den lokalen Bereichen ab. Auf der Basis der abgestimmten bzw. zusammengehörigen Merkmalspunkte bestimmen die Systeme und Verfahren eine Homographie (d.h., eine Bewegungstransformation), die es den Systemen und Verfahren ermöglicht, das nachfolgende Bild zu verändern bzw. zu verzerren bzw. zu warpen („warp“) und ein neues abgeglichenes Bilds mit höherer Qualität zu erzeugen, das pixelweise mit dem Referenzbild abgeglichen ist. Demgemäß bestimmen, da die Systeme und Verfahren das Referenzbild und das nachfolgende Bild in lokale Bereiche unterteilen und Merkmalspunkte auf der Basis der lokalen Bereiche erfassen, die Systeme und Verfahren eine genauere Homographie, die verglichen mit herkömmlichen Systemen zu einem neuen abgeglichenen Bild mit einer höheren Qualität führt.In one or more embodiments, the systems and methods divide a reference image and a subsequent image of the series images into a plurality of local areas and detect feature points in each of the local areas. Further, the systems and methods tune feature points between the reference image and the subsequent image according to the local regions. On the basis of the matched feature points, the systems and methods determine homography (ie, motion transformation) that enables the systems and methods to warp the subsequent image ("warp") and create a new matched image of higher quality matched pixel by pixel with the reference image. Accordingly, as the systems and methods subdivide the reference image and the subsequent image into local areas and capture feature points based on the local areas, the systems and methods determine more accurate homography compared to conventional systems to a new, higher quality, reconciled image leads.

Zusätzliche Merkmale und Vorteile von einer oder mehreren Ausführungsform(en) der vorliegenden Offenbarung sind in der folgenden Beschreibung dargelegt und ergeben sich teilweise aus der Beschreibung oder ergeben sich aus der Praxis solcher Beispielausführungsformen. Additional features and advantages of one or more embodiments of the present disclosure are set forth in the description which follows, and in part will be apparent from the description, or from the practice, of such example embodiments.

Figurenlistelist of figures

Verschiedene Ausführungsformen werden mit einer zusätzlichen Spezifität und detaillierter durch die Verwendung der beigefügten Zeichnungen beschrieben und erläutert, worin:

  • 1 ein Ablaufflussdiagramm des Erzeugen eines neuen abgeglichenen Bilds von einer Mehrzahl von Serienbildern gemäß einer oder mehrerer Ausführungsform(en) zeigt;
  • 2 ein Referenzbild und ein nachfolgendes Bild einer Mehrzahl von Serienbildern zeigt, wobei das Referenzbild und das nachfolgende Bild eine Mehrzahl von erfassten Merkmalspunkten aufweist, gemäß einer oder mehrerer Ausführungsform(en);
  • 3 einen Vergleich von Merkmalspunkten, die mit einem allgemeinen Erfassungssystem erfasst worden sind, und Merkmalspunkten, die mit einem lokalen Bereich-Erfassungssystem erfasst worden sind, gemäß einer oder mehrerer Ausführungsform(en) zeigt;
  • 4 eine schematische Darstellung von abgestimmtes Merkmalspunkten zwischen einem Referenzbild und einem nachfolgenden Bild gemäß einer oder mehrerer Ausführungsform(en) zeigt;
  • 5 eine schematische Darstellung des Vereinigens von lokalen Bereichen eines Bilds gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 6 eine schematische Darstellung von verschiedenen Hierarchieniveaus von lokalen Bereichen innerhalb eines Bilds und dazugehörige Homographien gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 7 einen Vergleich von Abgleichfehlern, die durch allgemeines Anwenden eines Homographiebewegungsmodells auf ein Bild erzeugt werden, und Abgleichfehlern, die durch individuelles Anwenden einer Homographie auf jeden lokalen Bereich des Bilds erzeugt werden, gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 8A und 8B eine schematische Darstellung des Verfeinerns von Grenzen von lokalen Bereichen innerhalb eines Bilds zum Vermindern der Verformung, wenn Bilder verändert werden, gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigen;
  • 9 eine schematische Darstellung von nicht-angrenzenden Eckpunkten eines veränderten Bilds und durchschnittlichen Koordinaten der nicht-angrenzenden Eckpunkte gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 10 eine schematische Darstellung einer gemeinsamen Grenze von lokalen Bereichen eines Bilds gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 11 ein schematisches Diagramm einer Ausführungsform einer beispielhaften Umgebung, in der ein Bildabgleichsystem gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung arbeiten kann zeigt;
  • 12 ein Flussdiagramm eines Beispielverfahrens zum Erzeugen eines neuen abgeglichenen Bilds von einer Mehrzahl von Serienbildern gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 13 ein Flussdiagramm eines weiteren Beispielverfahrens zum Erzeugen eines neuen abgeglichenen Bilds von einer Mehrzahl von Serienbildern gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 14 ein Flussdiagramm eines weiteren Beispielverfahrens zum Erzeugen eines neuen abgeglichenen Bilds von einer Mehrzahl von Serienbildern gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 15 ein Diagramm eines Algorithmus zum Durchführen eines Schritts zum Abstimmen von Merkmalspunkten zwischen einem Referenzbild und dem nachfolgenden Bild gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt;
  • 16 ein Diagramm eines Algorithmus zum Durchführen eines Schritts zum Abstimmen von Merkmalspunkten zwischen einem Referenzbild und dem nachfolgenden Bild gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt; und
  • 17 ein Blockdiagramm einer Beispielrechenvorrichtung gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung zeigt.
Various embodiments are described and illustrated with additional specificity and in more detail by the use of the accompanying drawings, in which:
  • 1 10 is a flowchart diagram of generating a new matched image from a plurality of burst images according to one or more embodiments;
  • 2 a reference image and a subsequent image of a plurality of series images, the reference image and the subsequent image having a plurality of detected feature points, according to one or more embodiments;
  • 3 a comparison of feature points acquired with a general detection system and feature points detected with a local area detection system according to one or more embodiments;
  • 4 12 shows a schematic representation of matched feature points between a reference image and a subsequent image according to one or more embodiments;
  • 5 FIG. 12 is a schematic illustration of merging local areas of an image according to one or more embodiments of the present disclosure; FIG.
  • 6 Figure 12 shows a schematic representation of various hierarchical levels of local areas within an image and associated homographies according to one or more embodiments of the present disclosure;
  • 7 FIG. 4 shows a comparison of alignment errors generated by generally applying a homography gesture model to an image, and alignment errors produced by individually applying homography to each local region of the image, according to one or more embodiments of the present disclosure;
  • 8A and 8B Figure 12 is a schematic illustration of refining boundaries of local areas within an image to reduce deformation when images are changed, according to one or more embodiments of the present disclosure;
  • 9 12 shows a schematic representation of non-contiguous vertices of a modified image and average coordinates of the non-contiguous vertices, in accordance with one or more embodiments of the present disclosure;
  • 10 12 shows a schematic representation of a common boundary of local areas of an image according to one or more embodiments of the present disclosure;
  • 11 12 is a schematic diagram of one embodiment of an example environment in which an image matching system may operate in accordance with one or more embodiments of the present disclosure;
  • 12 FIG. 10 is a flowchart of an example method for generating a new matched image from a plurality of burst images according to one or more embodiments of the present disclosure; FIG.
  • 13 FIG. 10 is a flowchart of another example method for generating a new matched image from a plurality of burst images according to one or more embodiments of the present disclosure; FIG.
  • 14 FIG. 10 is a flowchart of another example method for generating a new matched image from a plurality of burst images according to one or more embodiments of the present disclosure; FIG.
  • 15 10 is a diagram of an algorithm for performing a step of matching feature points between a reference image and the subsequent image according to one or more embodiments of the present disclosure;
  • 16 10 is a diagram of an algorithm for performing a step of matching feature points between a reference image and the subsequent image according to one or more embodiments of the present disclosure; and
  • 17 FIG. 3 shows a block diagram of a sample computing device according to one or more embodiments of the present disclosure. FIG.

DETAILED DESCRIPTIONDETAILED DESCRIPTION

Die hier beschriebenen verschiedenen Ausführungsformen stellen ein Bildabgleichsystem zum Erzeugen eines neuen abgeglichenen Bilds aus einer Mehrzahl von Serienbildern bereit. Beispielsweise kann das Bildabgleichsystem ein neues ausgerichtetes Bild aus der Mehrzahl von Serienbildern erzeugen, das eine höhere Qualität (z.B. eine höhere Auflösung, eine bessere Belichtung, weniger Rauschen, weniger Unschärfe) als jedwedes der einzelnen Serienbilder der Mehrzahl von Serienbildern aufweist. In einigen Ausführungsformen unterteilt das Bildabgleichsystem Bilder der Mehrzahl von Serienbildern in eine Mehrzahl von lokalen Bereichen und wendet ein Homographiebewegungsmodell auf jeden lokalen Bereich der Mehrzahl von lokalen Bereichen an. In zusätzlichen Ausführungsformen stimmt das Bildabgleichsystem Schlüsselmerkmalspunkte zwischen Bildern der Mehrzahl von Serienbildern gemäß dem jeweiligen lokalen Bereich der Merkmalspunkte ab. In einer oder mehreren Ausführungsform(en) nutzt das Bildabgleichsystem einen hierarchischen Ansatz von unten nach oben zum Bestimmen der Homographien der Bilder. In weiteren Ausführungsformen verfeinert das Bildabgleichsystem Grenzen der lokalen Bereiche der Bilder, während das neue abgeglichenen Bild erzeugt wird, um eine Bildverformung zu vermindern, die durch eine uneinheitliche Positionsbewegungsveränderung verursacht wird. Jedes der Vorstehenden wird nachstehend detaillierter diskutiert.The various embodiments described herein provide an image matching system for generating a new matched image from a plurality of burst images. For example, the image matching system may generate a new aligned image from the plurality of burst images that has higher quality (e.g., higher resolution, better exposure, less noise, less blur) than any of the individual burst images of the plurality of burst images. In some embodiments, the image matching system divides images of the plurality of burst images into a plurality of local areas and applies a homography motion model to each local area of the plurality of local areas. In additional embodiments, the image matching system matches key feature points between images of the plurality of burst images according to the respective local region of the feature points. In one or more embodiments, the image matching system uses a hierarchical bottom-up approach to determine the homographies of the images. In further embodiments, the image matching system refines boundaries of the local areas of the images while creating the new matched image to reduce image distortion caused by non-uniform positional motion change. Each of the above will be discussed in more detail below.

In einigen Ausführungsformen unterteilt das Bildabgleichsystem Bilder der Mehrzahl von Serienbilder in eine Mehrzahl von lokalen Bereichen und wendet ein Homographiebewegungsmodell auf jeden lokalen Bereich der Mehrzahl von lokalen Bereichen an. Insbesondere unterteilt das Bildabgleichsystem ein Referenzbild und ein nachfolgendes Bild der Mehrzahl von Serienbilder in eine Mehrzahl von lokalen Bereichen und eine Mehrzahl von jeweiligen entsprechenden lokalen Bereichen. Ferner wendet das Bildabgleichsystem ein Homographiebewegungsmodell auf jeden der lokalen Bereiche und die jeweiligen entsprechenden lokalen Bereiche einzeln an, um eine Homographie jedes lokalen Bereichs des Referenzbilds zu dessen jeweiligen entsprechenden lokalen Bereich des nachfolgenden Bilds zu bestimmen. Zusätzlich erzeugt, wie es nachstehend detaillierter diskutiert wird, das Bildabgleichsystem das neue Bild mit höherer Qualität auf der Basis der bestimmten Homographien.In some embodiments, the image matching system divides images of the plurality of burst images into a plurality of local areas and applies a homography motion model to each local area of the plurality of local areas. More specifically, the image matching system divides a reference image and a subsequent image of the plurality of burst images into a plurality of local areas and a plurality of respective corresponding local areas. Further, the image matching system individually applies a homography motion model to each of the local areas and the respective corresponding local areas to determine a homography of each local area of the reference image to its respective corresponding local area of the subsequent image. In addition, as discussed in more detail below, the image matching system generates the new, higher quality image based on the particular homographies.

Da das Bildabgleichsystem das Referenzbild und das nachfolgende Bild in lokale Bereiche und entsprechende lokale Bereiche unterteilt und Homographiebewegungsmodelle auf jeden der lokalen Bereiche individuell anwendet (z.B. eine lokale Bewegung für die lokalen Bereiche bestimmt), bestimmt das Bildabgleichsystem der vorliegenden Offenbarung die Gesamtbewegung des Referenzbilds zu dem nachfolgenden Bild genauer (d.h., eine genauere Homographie), und zwar verglichen mit herkömmlichen Systemen, die herkömmlich ein allgemeines Homographiebewegungsmodell auf alle Referenzbilder und nachfolgenden Bilder anwendet. Insbesondere bestimmt das Bildabgleichsystem der vorliegenden Offenbarung eine genauere Homographie für jeden lokalen Bereich, was zu einer genaueren Gesamthomographie für das gesamte Bild führt.Since the image matching system divides the reference image and the succeeding image into local areas and corresponding local areas and individually applies homography motion models to each of the local areas (eg, determines a local motion for the local areas), the image matching system of the present disclosure determines the overall motion of the reference image to the following image more precisely (ie, a more accurate homography) compared to conventional systems which conventionally apply a general homo-motion model to all reference images and subsequent images. In particular, the image matching system of the present disclosure determines a more accurate homography for each local area, resulting in a more accurate overall tomography for the entire image.

Wie es vorstehend angegeben ist, passt das Bildabgleichsystem in zusätzlichen Ausführungsformen Merkmalspunkte zwischen Bildern (d.h., dem Referenzbild und dem nachfolgenden Bild) der Mehrzahl von Serienbildern gemäß den jeweiligen lokalen Bereichen der Merkmalspunkte an. Insbesondere erfasst das Bildabgleichsystem Merkmalspunkte in jedem der lokalen Bereiche und entsprechenden lokalen Bereichen einzeln. Ferner erfasst unter der Annahme, dass ein lokaler Bereich eine Schwellenanzahl von (z.B. 100) Merkmalspunkten umfasst, das Bildabgleichsystem die Schwellenanzahl von Merkmalspunkten in jedem lokalen Bereich und entsprechenden lokalen Bereich.As noted above, in additional embodiments, the image matching system adjusts feature points between images (i.e., the reference image and the subsequent image) of the plurality of burst images according to the respective local regions of the feature points. In particular, the image matching system detects feature points in each of the local areas and corresponding local areas individually. Further, assuming that a local area includes a threshold number of (e.g., 100) feature points, the image matching system detects the threshold number of feature points in each local area and corresponding local area.

Zusätzlich passt das Bildabgleichsystem Merkmalspunkte zwischen einem gegebenen lokalen Bereich und dessen entsprechenden lokalen Bereich durch Vorhersagen einer Pixelposition eines gegebenen Merkmalspunkts innerhalb des lokalen Bereichs an. Nach dem Vorhersagen der Pixelposition des Merkmalspunkts innerhalb des lokalen Bereichs nutzt das Bildabgleichsystem ein k-nächstes Verfahren zum Auswählen von einigen am Besten potenziell abgestimmten Merkmalspunkten. Ferner bestimmt das Bildabgleichsystem Ähnlichkeiten zwischen dem gegebenen Merkmalspunkte und jedweden potenziell abgestimmten Merkmalspunkten. In einigen Ausführungsformen bestimmt das Bildabgleichsystem Ähnlichkeiten zwischen Merkmalspunkten auf der Basis eines Hamming-Abstands zwischen Deskriptoren der Merkmalspunkte. Das Bildabgleichsystem filtert jedwede Paare des gegebenen Merkmalspunkts und von potenziell abgestimmten Merkmalspunkten mit Deskriptorabständen oberhalb eines vorgegebenen Ausmaßes (z.B. 80). Darüber hinaus bestimmt das Bildabgleichsystem einen durchschnittlichen Verschiebungsvektor aller verbleibenden Paare von Merkmalspunkten und filtert jedwede Paare des gegebenen Merkmalspunkts und von potenziell abgestimmten Merkmalspunkten mit einer Verschiebung, die von dem durchschnittlichen Veschiebungsvektor um mehr als eine vorgegebene Anzahl von Pixeln abweicht.In addition, the image matching system adjusts feature points between a given local area and its corresponding local area by predicting a pixel location of a given feature point within the local area. After predicting the pixel location of the feature point within the local area, the image matching system uses a k-next method to select some of the best potentially matched feature points. Further, the image matching system determines similarities between the given feature point and any potentially matched feature points. In some embodiments, the image matching system determines similarities between feature points based on a Hamming distance between descriptors of the feature points. The image matching system filters any pairs of the given feature point and potentially matched feature points with descriptor intervals above a given extent (eg 80). In addition, the image matching system determines an average displacement vector of all remaining pairs of feature points and filters any pairs of the given feature point and potentially matched feature points with a shift that deviates from the average displacement vector by more than a predetermined number of pixels.

Da das Bildabgleichsystem Merkmalspunkte in jedem der lokalen Bereiche und entsprechenden lokalen Bereiche einzeln erfasst, anstatt Merkmalspunkte nur allgemein zu erfassen, erreicht das Bildabgleichsystem der vorliegenden Offenbarung verglichen mit herkömmlichen Systemen, die typischerweise Merkmalspunkte allgemein erfassen, eine gleichmäßiger verteilte Anzahl von erfassten Merkmalspunkten. Als Ergebnis des Vorstehenden stellt das Bildabgleichsystem sicher, dass jeder Bereich der Bilder (d.h., des Referenzbilds und des nachfolgenden Bilds) in den erfassten Merkmalspunkten anstatt nur in Bereichen mit höheren Konzentrationen von Merkmalspunkten dargestellt ist.Since the image matching system detects feature points in each of the local areas and corresponding local areas individually, rather than just generally detecting feature points, the image matching system of the present disclosure achieves a more evenly distributed number of detected feature points as compared to conventional systems that typically capture feature points generally. As a result of the foregoing, the image matching system ensures that each area of the images (i.e., the reference image and the subsequent image) is represented in the detected feature points rather than only in areas with higher concentrations of feature points.

Da ferner das Bildabgleichsystem Merkmalspunkte von dem Referenzbild mit Merkmalspunkten des nachfolgenden Bilds auf der Basis von lokalen Bereichen abstimmt, ergibt das Bildabgleichsystem der vorliegenden Offenbarung weniger Abstimmungsfehler als herkömmliche Systeme, die typischerweise Merkmalspunkte allgemein abstimmen. Darüber hinaus wird, wie es für den Fachmann ersichtlich ist, das Bildabgleichsystem verglichen mit herkömmlichen Systemen durch das Erreichen von weniger Abstimmungsfehlern schließlich ein neues abgeglichenes Bild mit einer höheren Qualität erzeugen.Further, because the image matching system tunes feature points from the reference image to feature points of the subsequent image based on local areas, the image matching system of the present disclosure provides fewer matching errors than conventional systems, which typically tune feature points generally. Moreover, as will be apparent to those skilled in the art, the image matching system will eventually produce a new matched image with a higher quality as compared to conventional systems by achieving fewer matching errors.

Wie es vorstehend kurz erwähnt worden ist, nutzt das Bildabgleichsystem einen Ansatz von unten nach oben zum Bestimmen der Homographien der Bilder. Insbesondere bestimmt das Bildabgleichsystem, ob ein gegebener lokaler Bereich auf einem niedrigsten Hierarchieniveau (z.B. einem kleinsten lokalen Bereich, der sich aus einem Unterteilen der Bilder ergibt (z.B. ein 1/16-Abschnitt eines Bilds)) die Schwellenanzahl (z.B. eine vorgegebene Zahl) von Merkmalspunkten umfasst, um sicherzustellen, dass ein angewandtes (z.B. angepasstes) Homographiebewegungsmodell eine genaue Homographie des lokalen Bereichs bereitstellt. Wenn das Bildabgleichsystem bestimmt, dass der lokale Bereich nicht die Schwellenanzahl von (z.B. 100) Merkmalspunkten umfasst, kann das Bildabgleichsystem den gegebenen lokalen Bereich mit anderen lokalen Bereichen vereinigen, bis ein resultierender lokaler Bereich die Schwellenanzahl von Merkmalspunkten umfasst. Nach dem Vereinigen der lokalen Bereiche kann das Bildabgleichsystem ein stabileres Homographiebewegungsmodell auf den vereinigten lokalen Bereich anwenden.As mentioned briefly above, the image matching system uses a bottom-up approach to determine the homographies of the images. In particular, the image matching system determines whether a given local area at a lowest hierarchical level (eg, a smallest local area resulting from dividing the images (eg, a 1/16 portion of an image)) the threshold number (eg, a predetermined number) of Feature points to ensure that an applied (eg, fitted) homography motion model provides accurate homography of the local area. If the image matching system determines that the local area does not include the threshold number of (e.g., 100) feature points, the image matching system may merge the given local area with other local areas until a resulting local area includes the threshold number of feature points. After merging the local areas, the image matching system can apply a more stable homography motion model to the unified local area.

Da das Bildabgleichsystem sicherstellt, dass die lokalen Bereiche, auf die das Bildabgleichsystem Homographiebewegungsmodelle anwendet, eine Schwellenanzahl von Merkmalspunkten umfasst, stellt das Bildabgleichsystem sicher, dass jeder Abschnitt des Referenzbilds innerhalb der bestimmten Homographie des Referenzbildsdargestellt (z.B. berücksichtigt) ist. Beispielsweise stellt das Bildabgleichsystem der vorliegenden Offenbarung verglichen mit herkömmlichen Systemen, die Homographien bestimmen, die stark auf Abschnitten des Referenzbilds beruhen (d.h., bestimmt werden), die viele Merkmalspunkte aufweisen, sicher, dass jeder Bereich (d.h., lokaler Bereich) des Referenzbilds in der bestimmten Homographie gleich dargestellt ist. Demgemäß führt das Bildabgleichsystem der vorliegenden Offenbarung verglichen mit herkömmlichen Systemen zu einem geringeren Abgleichfehler, wenn ein neues ausgerichtetes Bild aus der Mehrzahl von Serienbildern erzeugt wird.Since the image matching system ensures that the local areas to which the image matching system applies homography motion models includes a threshold number of feature points, the image matching system ensures that each portion of the reference image is represented (e.g., considered) within the particular homography of the reference image. For example, the image matching system of the present disclosure, as compared with conventional systems that determine homographies that rely heavily on portions of the reference image (ie, determined) that have many feature points, ensures that each area (ie, local area) of the reference image in the certain homography is shown in the same way. Accordingly, the image matching system of the present disclosure results in less matching error when compared to conventional systems when creating a new aligned image from the plurality of burst images.

Da ferner das Bildabgleichsystem der vorliegenden Offenbarung den Ansatz von unten nach oben zum Bestimmen der Homographien der Bilder nutzt, wie es vorstehend beschrieben worden ist, stellt das Bildabgleichsystem Verbesserungen beim Leistungsvermögen eines Computersystems bereit. Da beispielsweise das Bildabgleichsystem eine Merkmalsanpassung auf lokale Bereiche und entsprechende lokale Bereiche beschränkt, während relativ geringe Ausmaße einer Bewegung zwischen Bildern von Serienbildern angenommen wird, vermindert das Bildabgleichsystem die erforderliche Verarbeitungsleistung, den erforderlichen Speicher und die erforderlichen Kommunikationsresourcen, die zum Bestimmen von Homographien eines ersten Bilds (d.h., des Referenzbilds) der Mehrzahl von Serienbildern zu einem zweiten Bild (d.h., des nachfolgenden Bilds) der Mehrzahl von Serienbildern benötigt werden. Da ferner das Bildabgleichsystem eine Homographie von jedem lokalen Bereich unabhängig bestimmt, vermindert das Bildabgleichsystem verglichen mit herkömmlichen Systemen, die bekannte gemeinsame Abschätzverfahren nutzen, die Verarbeitungsleistung, den Speicher und die Kommunikationsresourcen, die zur Bestimmung einer Homographie eines ersten Bilds zu einem zweiten Bild erforderlich sind. Demgemäß führt das Inhaltsanalysesystem zu einer geringeren Datenübertragung und Datenbandbreitennutzung für einen Computer/ein Kommunikationssystem. Mit anderen Worten, das Bildabgleichsystem führt zu einer geringeren erforderlichen Verarbeitungsleistung und Kommunikationsbandbreite vergleichen mit herkömmlichen Systemen. Als Ergebnis offenbart das Bildabgleichsystem der vorliegenden Offenbarung verglichen mit herkömmmlichen Systemen ein geeigneteres System für mobile Vorrichtungen, wie z.B. ein Mobiltelfon.Further, since the image matching system of the present disclosure utilizes the bottom-up approach for determining the homographies of the images as described above, the image matching system provides improvements in the performance of a computer system. For example, because the image matching system limits feature matching to local areas and corresponding local areas while assuming relatively small amounts of motion between frames of burst images, the image matching system reduces the required processing power, memory, and communication resources needed to determine a first photograph Image (ie, the reference image) of the plurality of burst images to a second image (ie, the subsequent image) of the plurality of burst images. Further, because the image matching system independently determines homography from each local area, the image matching system reduces the processing power, memory, and communication resources required to determine homography of a first image to a second image as compared to conventional systems that use known common estimation techniques , Accordingly, the content analysis system results in less data transfer and data bandwidth utilization for a computer / communication system. In other words, the image matching system results in less required processing power and communication bandwidth compared with conventional systems. As a result, the image matching system of the present invention discloses Revelation compared with conventional systems, a more suitable system for mobile devices, such as a Mobilfunkelfon.

Zusätzlich ermöglicht das Bildabgleichsystem der vorliegenden Offenbarung durch Verschmelzen von Serienbildern (d.h., des Referenzbilds und des nachfolgenden Bilds) in der vorstehend beschriebenen Weise verglichen mit herkömmlichen Systemen eine zusätzliche Rauschverminderung, erleichtert die Nutzung eines hohen Dynamikbereichs („HDR“) mit Bildern und das Bewegen und/oder Entfernen von Objekten innerhalb der Bilder.In addition, the image matching system of the present disclosure, by fusing serial images (ie, the reference image and the succeeding image) in the manner described above, allows additional noise reduction as compared with conventional systems, facilitates the use of high dynamic range ("HDR") with images and motion and / or removing objects within the images.

Wie es vorstehend kurz angegeben worden ist, verfeinert das Bildabgleichsystem in weiteren Ausführungsformen Grenzen von lokalen Bereichen der Bilder, während das neue abgeglichenen Bild erzeugt wird, um eine Bildverformung zu vermindern, die durch eine uneinheitliche Positionsbewegungsveränderung verursacht wird. Beispielsweise kann das Bildabgleichsystem entlang gemeinsamer Grenzen von lokalen Bereichen des nachfolgenden Bilds Vektorströme von Pixeln einstellen, die durch jeweilige Homographien festgelegt sind, die nahe an den gemeinsamen Grenzen vorliegen. Ferner kann das Bildabgleichsystem eine Position von angrenzenden Ecken des nachfolgenden Bilds einstellen, um uneinheitliche Homographien zwischen lokalen Bereichen zu kompensieren.As briefly stated above, in other embodiments, the image matching system refines boundaries of local areas of the images while creating the new matched image to reduce image distortion caused by non-uniform positional motion change. For example, along common boundaries of local areas of the subsequent image, the image matching system may adjust vector streams of pixels defined by respective homographies that are close to the common boundaries. Further, the image matching system may adjust a position of adjacent corners of the subsequent image to compensate for non-uniform homographies between local areas.

Die 1 zeigt ein Ablaufflussdiagramm, das ein Bildabgleichsystem 100 zum Erzeugen eines neuen abgeglichenen Bilds 116 aus einer Mehrzahl von Serienbildern gemäß einer oder mehreren Ausführungsform(en) der vorliegenden Offenbarung nutzen kann. Wie es gezeigt ist, empfängt das Bildabgleichsystem 100 eine Mehrzahl von Serienbildern von einer Bildaufnahmevorrichtung 102 (z.B. einer eigenständigen Kamera, einer Kamera einer mobilen Vorrichtung, usw.). Wie hier verwendet, kann sich der Begriff „Serienbild“ auf das Aufnehmen von mehreren (z.B. zehn, zwanzig, dreißig, vierzig, usw.) Bildern innerhalb eines kurzen Zeitraums (z.B. 1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden, usw.) beziehen. In einigen Ausführungsformen umfasst das Bildabgleichsystem 100 die Bildaufnahmevorrichtung 102 und jedwede Software, die mit der Bildaufnahmevorrichtung 102 zusammenhängt.The 1 FIG. 10 is a flowchart diagram showing an image matching system. FIG 100 to create a new matched image 116 from a plurality of burst images according to one or more embodiments of the present disclosure. As shown, the image matching system receives 100 a plurality of burst images from an image pickup device 102 (eg a standalone camera, a camera of a mobile device, etc.). As used herein, the term "burst" may refer to recording multiple (eg, ten, twenty, thirty, forty, etc.) images within a short period of time (eg, 1 second, 2 seconds, 5 seconds, 10 seconds, etc.). ) Respectively. In some embodiments, the image matching system includes 100 the image pickup device 102 and any software associated with the image capture device 102 related.

Als Reaktion auf das Empfangen einer Mehrzahl von Serienbildern von der Bildaufnahmevorrichtung 102 wählt das Bildabgleichsystem 100 ein Referenzbild 104 und ein nachfolgendes Bild 106 aus der Mehrzahl von Serienbildern aus, um ein neues abgeglichenes Bild 116 zu erzeugen. Beispielsweise kann das Bildabgleichsystem 100 ein erstes Bild (d.h., das Referenzbild 104) innerhalb der Mehrzahl von Serienbildern und ein zweites Bild (d.h., das nachfolgende Bild 106), das nach dem ersten Bild vorliegt (d.h., das nach dem ersten Bild aufgenommen worden ist). In einigen Ausführungsformen kann das Bildabgleichsystem 100 das Referenzbild 104 gemäß der Bildqualität auswählen. Beispielsweise kann das Bildabgleichsystem 100 das Bild mit der höchsten Qualität (z.B. mit der höchsten Auflösung, der besten Belichtung, dem geringsten Rauschen, usw.) als Referenzbild 104 auswählen. In alternativen Ausführungsformen kann das Bildabgleichsystem 100 ein erstes Bild in der Mehrzahl von Serienbildern (d.h., ein erstes Bild, das mit der Mehrzahl von Serienbildern aufgenommen worden ist) als Referenzbild auswählen. In weiteren Ausführungsformen kann, wie es nachstehend detaillierter beschrieben ist das Bildabgleichsystem 100 ein Bild mit den meisten erfassten Merkmalspunkten 108 als Referenzbild 104 auswählen. Ferner kann das Bildabgleichsystem 100 jedwedes Bild, das nach dem ausgewählten Referenzbild 104 folgt, als nachfolgendes Bild 106 auswählen. Zusätzlich kann das Bildabgleichsystem 100 in einigen Ausführungsformen ein Bild nach dem ausgewählten Referenzbild 104 mit der höchsten Qualität als das nachfolgende Bild 106 auswählen. In einer oder mehreren Ausführungsform(en) können das Referenzbild 104 und das nachfolgende Bild 106 mindestens allgemein (z.B. mindestens wesentlich) dieselbe Szene umfassen.In response to receiving a plurality of burst images from the image capture device 102 selects the image matching system 100 a reference picture 104 and a subsequent picture 106 from the plurality of burst images to a new matched image 116 to create. For example, the image matching system 100 a first image (ie, the reference image 104 ) within the plurality of burst images and a second image (ie, the subsequent image 106 ) present after the first image (ie, taken after the first image). In some embodiments, the image matching system may 100 the reference picture 104 according to the image quality. For example, the image matching system 100 the image with the highest quality (eg, the highest resolution, the best exposure, the lowest noise, etc.) as a reference image 104 choose. In alternative embodiments, the image matching system 100 selecting a first image in the plurality of burst images (ie, a first image taken with the plurality of burst images) as the reference image. In further embodiments, as described in greater detail below, the image matching system may be used 100 a picture with the most recorded feature points 108 as a reference picture 104 choose. Furthermore, the image matching system 100 Any image that matches the selected reference image 104 follows, as the following picture 106 choose. In addition, the image matching system 100 in some embodiments, an image after the selected reference image 104 with the highest quality than the following picture 106 choose. In one or more embodiments, the reference image may 104 and the following picture 106 at least generally (eg, at least substantially) comprise the same scene.

Nach dem Auswählen des Referenzbilds 104 und des nachfolgenden Bilds 106 unterteilt das Bildabgleichsystem 100 das Referenzbild 104 in eine Mehrzahl von lokalen Bereichen 105 und das nachfolgende Bild 106 in eine Mehrzahl von entsprechenden lokalen Bereichen 107. Insbsondere kann jedes des Referenzbilds 104 und des nachfolgenden Bilds 106 eine jeweilige Bildebene festlegen und das Bildabgleichsystem 100 kann die Bildebene in die lokalen Bereiche 105 (z.B. verschiedene Abschnitte) und entsprechende lokale Bereiche 107 aufteilen. Ferner kann jeder lokale Bereich der Mehrzahl von lokalen Bereichen 105 des Referenzbilds 104 einen entsprechenden lokalen Bereich der Mehrzahl von entsprechenden lokalen Bereichen aufweisen (z.B. diese betreffen). Zum Erleichtern der Erläuterung des Bildabgleichsystems 100 und des Betriebs des Bildabgleichsystems 100 können die lokalen Bereiche 105 des Referenzbilds 104 und die entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106 hier zusammen als „lokale Bereiche“ bezeichnet werden).After selecting the reference image 104 and the following picture 106 subdivides the image matching system 100 the reference picture 104 into a plurality of local areas 105 and the following picture 106 into a plurality of corresponding local areas 107 , In particular, each of the reference image 104 and the subsequent image 106 define a respective image plane and the image matching system 100 can change the picture plane into the local areas 105 (eg different sections) and divide corresponding local areas 107. Furthermore, each local area of the plurality of local areas 105 of the reference picture 104 have a corresponding local area of the plurality of corresponding local areas (eg affecting them). To facilitate the explanation of the image matching system 100 and the operation of the image matching system 100 can the local areas 105 of the reference picture 104 and the corresponding local areas 107 of the following picture 106 collectively referred to herein as "local areas").

In einigen Ausführungsformen kann das Bildabgleichsystem 100 das Referenzbild 104 und das nachfolgende Bild 106 mittels eines räumlichen Gitters unterteilen. Insbesondere kann das Bildabgleichsystem 100 das Referenzbild 104 und das nachfolgende Bild 106 z.B. mittels eines räumlichen 2 x 2-Gitters, eines räumlichen 4 x 4-Gitters, eines räumlichen 8 x 8-Gitters, usw., unterteilen. In solchen Ausführungsformen können jeder der lokalen Bereiche 105 und der entsprechenden Bereiche mindestens allgemein dieselbe Form und Größe aufweisen. In alternativen Ausführungsformen kann das Bildabgleichsystem 100 das Referenzbild 104 und das nachfolgende Bild 106 in unregelmäßige Bereiche unterteilen. Beispielsweise können die lokalen Bereiche 105 des Referenzbilds 104 uneinheitliche Größen und zufällige Formen aufweisen.In some embodiments, the image matching system may 100 the reference picture 104 and the following picture 106 subdivide by means of a spatial grid. In particular, the image matching system 100 the reference picture 104 and the following picture 106 eg by means of a 2 x 2 spatial grid, a 4 x 4 spatial grid, a 8 x 8 spatial grid, etc. In such embodiments, each of the local areas 105 and the corresponding areas at least generally the same shape and size. In alternative embodiments, the image matching system 100 the reference picture 104 and the following picture 106 divide into irregular areas. For example, the local areas 105 of the reference picture 104 have inconsistent sizes and random shapes.

Zusätzlich zum Unterteilen des Referenzbilds 104 und des nachfolgenden Bilds 106 erfasst das Bildabgleichsystem Merkmalspunkte 108 in dem Referenzbild 104 und dem nachfolgenden Bild 106. Beispielsweise kann das Bildabgleichsystem 100 eine Mehrzahl von Merkmalspunkten 108 in jedem des Referenzbilds 104 und des nachfolgenden Bilds 106 erfassen. In einigen Fällen erfasst das Bildabgleichsystem 100 eine Mehrzahl von Merkmalspunkten 108 in jedem der lokalen Bereiche 105 der Mehrzahl von lokalen Bereiche 105 des Referenzbilds 104 in jedem der entsprechenden lokalen Bereiche 107 der Mehrzahl von entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106.In addition to dividing the reference image 104 and the subsequent image 106, the image matching system detects feature points 108 in the reference picture 104 and the following picture 106 , For example, the image matching system 100 a plurality of feature points 108 in each of the reference picture 104 and the following picture 106 to capture. In some cases, the image matching system captures 100 a plurality of feature points 108 in each of the local areas 105 the plurality of local areas 105 of the reference image 104 in each of the corresponding local areas 107 the plurality of corresponding local areas 107 of the following picture 106 ,

Zusätzlich extrahiert (d.h., erzeugt) das Bildabgleichsystem 100 Merkmalsdeskriptoren 110 für jeden erfassten Merkmalspunkt 108 des Referenzbilds 104 und des nachfolgenden Bilds 106. Beispielsweise erzeugt das Bildabgleichsystem 100 einen Deskriptorvektor für jeden erfassten Merkmalspunkt 108. Jeder Deskriptorvektor umfasst Informationen (z.B. Intensitätsinformationen, Pixelpositionsinformationen, Informationen über die lokale Nachbarschaft) bezüglich dessen jeweiligen Merkmalspunkt 108. Beispielsweise kann jeder Merkmalsdeskriptor 110 einen numerischen „Fingerabruck“ umfassen, der zum Differenzieren eines Merkmalspunkts 108 von einem anderen verwendet werden kann. Das Erfassen der Merkmalspunkte 108 und das Extrahieren von Merkmalsdeskriptoren 110 werden nachstehend unter Bezugnahme auf die 2 und 3 detaillierter diskutiert.Additionally, the image matching system extracts (ie, generates) 100 Merkmalsdeskriptoren 110 for each detected feature point 108 of the reference picture 104 and the following picture 106 , For example, the image matching system generates 100 a descriptor vector for each detected feature point 108 , Each descriptor vector includes information (eg, intensity information, pixel position information, local neighborhood information) regarding its respective feature point 108 , For example, each feature descriptor 110 include a numeric "fingerprint" that differentiates a feature point 108 can be used by another. The detection of the feature points 108 and extracting feature descriptors 110 are described below with reference to the 2 and 3 discussed in more detail.

Als Reaktion auf das Erfassen von Merkmalspunkten 108 in jedem des Referenzbilds 104 und des nachfolgenden Bilds 106 bestimmt das Bildabgleichsystem 100 abgestimmte Paare 112 von Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106. Insbesondere bestimmt das Bildabgleichsystem 100, welche Merkmalspunkte 108, die in dem Referenzbild 108 erfasst werden, welchen Merkmalspunkten 108 entsprechen, die in dem nachfolgenden Bild 106 erfasst werden. Beispielsweise bestimmt das Bildabgleichsystem 100 für einen gegebenen Merkmalspunkt 108, der in dem Referenzbild 104 erfasst wird, einen Merkmalspunkt, der in dem nachfolgenden Bild 106 erfasst wird, der mit dem gegebenen Merkmalspunkt des Referenzbilds 104 korreliert (z.B. gibt den gleichen Merkmalspunkt als den gegebenen Merkmalspunkt an). In einigen Ausführungsformen stimmt das Bildabgleichsystem die erfassten Merkmalspunkte 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 gemäß den Ähnlichkeiten des Merkmalsdeskriptors 110 der Merkmalspunkte 108 ab. Das Abstimmen der Merkmalspunkte 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 wird nachstehenden in Bezug auf die 4 detaillierter beschrieben.In response to detecting feature points 108 in each of the reference picture 104 and the following picture 106 determines the image matching system 100 matched pairs 112 of feature points 108 between the reference picture 104 and the following picture 106 , In particular, the image matching system determines 100 , which feature points 108 included in the reference picture 108 which feature points 108 correspond to those shown in the following image 106 be recorded. For example, the image matching system determines 100 for a given feature point 108 , which is detected in the reference image 104, a feature point shown in the subsequent image 106 is detected with the given feature point of the reference image 104 correlates (eg indicates the same feature point as the given feature point). In some embodiments, the image matching system matches the detected feature points 108 between the reference picture 104 and the following picture 106 according to the similarities of the feature descriptor 110 the feature points 108 from. The tuning of the feature points 108 between the reference image 104 and the subsequent image 106 will be described below in relation to 4 described in more detail.

Nach dem Bestimmen der abgestimmten Paare 112 von Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 bestimmt (z.B. schätzt ab) das Bildabgleichsystem 100 mindestens eine Homographie 114 (z.B. Homographietransformation, eine Bewegungstransformation) des Referenzbilds 104 zu dem nachfolgenden Bild 106 auf der Basis der abgestimmten Paare 112 von Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106. Wie hier verwendet, bezieht sich der Begriff „Homographie“ auf eine Transformation, die Objekte und/oder Linien von einer Ebene zu einer anderen Ebene überträgt bzw. Zuordnet. Beispielsweise bezieht sich der Begriff „Homographie“ auf eine Transformation, die Merkmalspunkte 108 von dem Referenzbild 104 (d.h., der festgelegten Ebene des Referenzbilds 104) dem nachfolgenden Bild 106 (d.h., der festgelegten Ebene des nachfolgenden Bilds 106) zuordnet.After determining the matched pairs 112 of feature points 108 between the reference picture 104 and the following picture 106 determines (eg, estimates) the image matching system 100 at least one homography 114 (eg homography transformation, a motion transformation) of the reference image 104 to the following picture 106 on the basis of matched pairs 112 of feature points 108 between the reference picture 104 and the following picture 106 , As used herein, the term "homography" refers to a transformation that transfers objects and / or lines from one level to another level. For example, the term "homography" refers to a transformation, the feature points 108 from the reference picture 104 (ie, the specified plane of the reference image 104 ) the following picture 106 (ie, the specified level of the subsequent image 106 ).

In einer oder mehreren Ausführungsform(en) bestimmt das Bildabgleichsystem 100 die Homographie 114 durch Anwenden (d.h., Anpassen) eines Homographiebewegungsmodells auf mindestens einen Abschnitt des Referenzbilds 104 und des nachfolgenden Bilds 106 mittels herkömmlicher Optimierungsverfahren. In manchen Fällen kann das Bildabgleichsystem 100 ein Homographiebewegungsmodell auf jeden der lokalen Bereiche 105 des Referenzbilds 104 und der entsprechenden lokalen Bereiche 107 einzeln anwenden, um eine Mehrzahl von Homographien zu bestimmen, die verschiedene Abschnitte (d.h., lokale Bereiche) des Referenzbilds 104 dem nachfolgenden Bild 106 zuordnet. Ferner kann, wie es nachstehend detaillierter diskutiert wird, das Bildabgleichsystem 100 einen hierarchischen Ansatz von untern nach oben beim Anwenden eines Homographiebewegungsmodells auf die lokalen Bereiche 105 und die entsprechenden lokalen Bereiche 107 nutzen, um die Mehrzahl von Homographien zu bestimmen. Die Bestimmung der Homographie des Referenzbilds 104 zu dem nachfolgenden Bild 106 wird nachstehend detaillierter unter Bezugnahme auf die 5 bis 7 beschrieben.In one or more embodiments, the image matching system 100 determines the homography 114 by applying (ie, adjusting) a homography gesture model to at least a portion of the reference image 104 and the following picture 106 by means of conventional optimization methods. In some cases, the image matching system 100 a homography gesture model on each of the local areas 105 of the reference picture 104 and the corresponding local areas 107 apply individually to determine a plurality of homographies representing the different sections (ie, local areas) of the reference image 104 the following picture 106 assigns. Furthermore, as will be discussed in more detail below, the image matching system 100 a hierarchical approach from bottom to top when applying a homography gesture model to the local areas 105 and the corresponding local areas 107 use to determine the majority of homographies. The determination of the homography of the reference image 104 to the following picture 106 will be described in more detail below with reference to the 5 to 7 described.

Zusätzlich zum Bestimmen der Mehrzahl von Homographien des Referenzbilds 104 zu dem nachfolgenden Bild 106 stellt (z.B. verfeinert) das Bildabgleichsystem 100 Grenzen (z.B. Eckpunkte und Übergänge) zwischen transformierten lokalen Bereichen (z.B. Homographien, die für die lokalen Bereiche bestimmt worden sind) eines ursprünglichen neuen Bilds (z.B. eines veränderten Bilds) ein, das auf der Basis der Mehrzahl von Homographien erzeugt worden ist. Beispielsweise kann das Bildabgleichsystem 100 nach dem Bestimmen der Mehrzahl von Homographien und Transformieren der entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106 zum Erzeugen des ursprünglichen neuen Bilds, die Eckpunkte der transformierten lokalen Bereiche verfeinern, die angrenzenden Eckpunkten des nachfolgenden Bilds 106 entsprechen. Insbesondere kann das Bildabgleichsystem 100 die transformierten Eckpunkte durch Verwenden einer durchschnittlichen Position (d.h., Stelle) der transformierten Eckpunkte des ursprünglichen neuen Bilds und erneutes Einstellen der angrenzenden Eckpunkte des nachfolgenden Bilds (d.h., des zu transformierenden Bilds) auf diese durchschnittliche Position und erneutes Transformieren des nachfolgenden Bilds 106 auf der Basis der neu eingestellten Eckpunkte verfeinern. Das vorstehende Verfahren kann für jeden Satz von angrenzenden Ecken des nachfolgenden Bilds 106 wiederholt werden.In addition to determining the plurality of homographies of the reference image 104 to the subsequent image 106 provides (eg refined) the image matching system 100 Boundaries (eg, vertices and transitions) between transformed local areas (eg, homographs determined for the local areas) of an original new image (eg, an altered image) that has been generated based on the plurality of homographies. For example, the image matching system 100 after determining the plurality of homographs and transforming the corresponding local areas 107 of the following picture 106 for generating the original new image, refining vertices of the transformed local areas, the adjacent vertices of the subsequent image 106 correspond. In particular, the image matching system 100 the transformed vertices by using an average position (ie, location) of the transformed vertices of the original new image and restoring the adjacent vertices of the subsequent image (ie, the image to be transformed) to that average position and retransforming the subsequent image 106 Refine on the basis of the newly set corner points. The above procedure may apply to any set of adjacent vertices of the subsequent image 106 be repeated.

Ferner kann das Bildabgleichsystem 100, wie es vorstehend angegeben worden ist, die Grenzen der entsprechenden lokalen Bereiche des nachfolgenden Bild verfeinern, während das neue abgeglichene Bild erzeugt wird. Beispielsweise wenn das Bildabgleichsystem 100 das nachfolgende Bild 106 auf der Basis der Mehrzahl von Homographien zum Erzeugen des neuen abgeglichene Bilds 116 transformiert (d.h., verändert), kann das Bildabgleichsystem 100 die Genzen von lokalen Bereichen des neu abgeglichenen Bilds 116 durch Interpolieren von Homographieflussvektoren der Homographien verfeinern, die nahe an Grenzen 1002 vorliegen, die zwei oder mehr der entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106 gemeinsam sind. Insbesondere bestimmt das Bildabgleichsystem 100 für jede Pixelposition des nachfolgenden Bilds 106 innerhalb einer vorgegebenen Distand von einer gegebenen gemeinsamen Grenze 1002 eines entsprechenden lokalen Bereichs 107 die Mehrzahl von Bewegungsvektoren auf der Basis der bestimmten Homographien der entsprechenden lokalen Bereiche 107, welche die gegebene Grenze gemeinsam haben. Ferner bestimmt das Bildabgleichsystem 100 Gewichtungen von jeder der Pixelpositionen innerhalb der vorgegebenen Distanz. Insbesondere ist für eine gegebene Pixelposition deren Gewichtung umgekehrt proportional zu einem Abstand der gegebenen Pixelposition von der Mitte eines entsprechenden lokalen Bereichs 107. Darüber hinaus bildet das Bildabgleichsystem 100 auf der Basis der bestimmten Mehrzahl von Bewegungsvektoren und der bestimmten Gewichtung der Pixelposition den Mittelwert der Bewegungsvektoren mit der Gewichtung, um einen neuen Homographieflussvektor der Pixelposition zu bestimmen. Das Einstellen der Grenzen zwischen transformierten lokalen Bereichen des neuen abgeglichenen Bilds 116 ist nachstehend unter Bezugnahme auf die 8A bis 10 detaillierter beschrieben.Furthermore, the image matching system 100 as noted above, refine the boundaries of the corresponding local areas of the subsequent image while the new matched image is being generated. For example, if the image matching system 100 the following picture 106 on the basis of the plurality of homographies to produce the new matched image 116 transformed (ie, changed), the image matching system 100 the borders of local areas of the newly adjusted image 116 by interpolating homography flow vectors of the homographies close to boundaries 1002 present two or more of the corresponding local areas 107 of the following picture 106 are common. In particular, the image matching system 100 determines for each pixel position of the subsequent image 106 within a given distance from a given common boundary 1002 a corresponding local area 107 the plurality of motion vectors based on the determined homographies of the respective local areas 107 that have the given limit in common. Further, the image matching system determines 100 Weightings of each of the pixel positions within the given distance. In particular, for a given pixel position, its weight is inversely proportional to a distance of the given pixel position from the center of a corresponding local area 107 , In addition, forms the image matching system 100 on the basis of the determined plurality of motion vectors and the determined weighting of the pixel position, the mean of the motion vectors with the weighting to determine a new homography flow vector of the pixel position. Setting the boundaries between transformed local areas of the new matched image 116 is described below with reference to 8A to 10 described in more detail.

Nach dem Bestimmen von Einstellungen für die Grenzen verändert das Bildabgleichsystem 100 das nachfolgende Bild 106 gemäß der vorgegebenen Mehrzahl von Homographien und der bestimmten Einstellungen zum Erzeugen des neuen abgeglichenen Bilds 116 (d.h., ein fertiges neues Bild). Das neue abgeglichene Bild kann pixelweise mit dem Referenzbild 104 abgeglichen werden. Wie hier verwendet, kann sich der Begriff „pixelweise‟ auf das neu abgeglichene Bild 116 beziehen, das gemäß den Pixeln des Referenzbilds 104 mit dem Referenzbild 104 abgeglichen worden ist. Beispielsweise wenn ein pixelweiser Abgleich mit dem Referenzbild 104 durchgeführt wird, werden die Pixel des neu abgeglichenen Bilds 116 so abgeglichen, dass sie an den Abgleich der Pixel des Referenzbilds 104 angepasst sind. Da ferner das Bildabgleichsystem 100 das nachfolgende Bild 106 auf der Basis einer Mehrzahl von Homographien und den vorgegebenen Einstellungen verändert, kann das Bildabgleichsystem 100 ein neues abgeglichenes Bild 116 mit einer geringeren Unschärfe und einer höheren Qualität als Bilder erzeugen, die durch herkömmliche Systeme erzeugt werden.After determining boundary settings, the image adjustment system changes 100 the following picture 106 according to the predetermined plurality of homographies and the determined settings for creating the new adjusted image 116 (ie, a finished new image). The new matched image may be pixel by pixel with the reference image 104 be matched. As used herein, the term "pixel by pixel" may refer to the newly adjusted image 116 refer to the pixels of the reference picture 104 with the reference picture 104 has been adjusted. For example, if a pixel-by-pixel comparison with the reference image 104 is performed, the pixels of the newly adjusted image 116 adjusted so that they match the pixels of the reference image 104 are adjusted. Furthermore, the image matching system 100 the following picture 106 On the basis of a plurality of homographies and the default settings, the image matching system 100 may display a new matched image 116 with less blur and higher quality than images produced by conventional systems.

Die 2 zeigt ein beispielhaftes Referenzbild 104 und ein beispielhaftes nachfolgendes Bild 106 der Mehrzahl von Serienbildern, von denen das Bildabgleichsystem 100 der vorliegenden Offenbarung Merkmalspunkte 108 erfassen kann und Merkmalsdeskriptoren 110 gemäß einer oder mehrerer Ausführungsform(en) extrahieren kann. Wie es in der 2 gezeigt ist, werden jedes des Referenzbilds 104 und des nachfolgenden Bilds 106 durch ein räumliches 2 x 2-Gitter in vier lokale Bereiche 105 und vier entsprechende lokale Bereiche 107 unterteilt. Ferner kann, wie es vorstehend angegeben ist, das Bildabgleichsystem 100 eine Mehrzahl von Merkmalspunkten 108a, 108b in jedem der lokalen Bereiche 105 des Referenzbilds 104 und in jedem der entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds106 erfassen.The 2 shows an exemplary reference image 104 and an exemplary subsequent image 106 the majority of series images, of which the image matching system 100 feature points of the present disclosure 108 and can extract feature descriptors 110 according to one or more embodiments. As it is in the 2 is shown, each of the reference picture 104 and the following picture 106 through a 2 x 2 spatial grid into four local areas 105 and four corresponding local areas 107 divided. Further, as stated above, the image matching system 100 a plurality of feature points 108a . 108b in each of the local areas 105 of the reference picture 104 and in each of the corresponding local areas 107 of the subsequent image 106.

In einigen Ausführungsformen nutzt das Bildabgleichsystem 100 einen Merkmalspunktdetektor und -deskriptor zum Erfassen von Merkmalspunkten 108 und zum Bestimmen von Merkmalsdeskriptoren 110 der erfassten Merkmalspunkte 108. Insbesondere kann der Merkmalspunktdetektor ein Bild (z.B. das Referenzbild 104) analysieren und Positionen (d.h., Pixelpositionen) von signifikanten Flächen (d.h., interessierenden Punkten) des Bilds ausgeben. Beispielsweise kann der Merkmalspunktdetektor die Positionen von Ecken, Kanten, Rippen, Texturen und Kleckse von Objekten und/oder Elemente, die in dem Bild gezeigt sind, erfassen. Zusätzlich kann der Deskriptor die erfassten Merkmalspunkte 108 analysieren und einen Deskriptorvektor für jeden erfassten Merkmalspunkt ausgeben (z.B. Erzeugen), der Informationen (z.B. Intensitätsinformationen, Pixelpositionsinformationen, Informationen über die lokale Nachbarschaft) bezüglich dessen jeweiligen Merkmalspunkt kodiert. Beispielsweise kann jeder Deskriptor einen binären Deskriptorvektor umfassen. In einigen Ausführungsformen kann jeder Deskriptor eine Dimension von 256 für binäre 32-Bit-Merkmalspunkte 108 umfassen. In some embodiments, the image matching system uses 100 a feature point detector and descriptor for detecting feature points 108 and for determining feature descriptors 110 the detected feature points 108 , In particular, the feature point detector may be an image (eg, the reference image 104 ) and output positions (ie, pixel positions) of significant areas (ie, points of interest) of the image. For example, the feature point detector may detect the locations of corners, edges, ridges, textures, and blobs of objects and / or elements shown in the image. In addition, the descriptor may be the detected feature points 108 and output a descriptor vector for each detected feature point (eg, generate) that encodes information (eg, intensity information, pixel position information, local neighborhood information) regarding its respective feature point. For example, each descriptor may comprise a binary descriptor vector. In some embodiments, each descriptor may include a dimension of 256 for 32-bit binary feature points 108.

In einer oder mehreren Ausführungsform(en) kann das Bildabgleichsystem 100 einen „Oriented FAST and Rotated BRIEF („ORB“)‟-Schlüsselpunktdetektor und -Deskriptor zum Erfassen der Merkmalspunkte 108 und Bestimmen der Merkmalsdeskriptoren 110 umfassen. Insbesondere kann das Bildabgleichsystem 100 den ORB-Schlüsselpunktdetektor und -deskriptor nutzen, der in Rublee, Ethan, et al., ORB: An Efficient alternative to SIFT or SURF, International Conference on Computer Vision, Seiten 2564-2571 (2011), beschrieben ist, deren Offenbarung vollständig unter Bezugnahme hierin einbezogen ist. In zusätzlichen Ausführungsformen kann das Bildabgleichsystem 100 andere Schlüsselpunktdetektoren und -deskriptoren nutzen, wie z.B. einen „Scale Invariant Feature Transform (SIFT)‟-Schlüsselpunktdetektor, einen „Speeded-Up Robust Features (SURF)“-Schlüsselpunktdetektor und oder einen „Histogram of Oriented Gradients (HOG)“-Schlüsselpunktdetektor .In one or more embodiments, the image matching system 100 an "Oriented FAST and Rotated LETTER (" ORB ")" key point detector and descriptor for detecting the feature points 108 and determining the feature descriptors 110 include. In particular, the image matching system 100 use the ORB keypoint detector and descriptor specified in Rublee, Ethan, et al., ORB: An Efficient Alternative to SIFT or SURF, International Conference on Computer Vision, pp. 2564-2571 (2011), the disclosure of which is fully incorporated herein by reference. In additional embodiments, the image matching system 100 may utilize other key-point detectors and descriptors, such as a Scale Invariant Feature Transform (SIFT) keypoint detector, a Speeded-Up Robust Features (SURF) keypoint detector, and / or a Histogram of Oriented Gradient (HOG) "- key point detector ,

Wie es vorstehend angegeben worden ist, kann das Bildabgleichsystem 100 die Merkmalspunkte 108 innerhalb jedes lokalen Bereichs 105 des Referenzbilds 104 und die Merkmalspunkte 108 innerhalb jedes entsprechenden lokalen Bereichs 107 des nachfolgenden Bilds 106 erfassen. Zusätzlich kann das Bildabgleichsystem 100 eine beste bzw. höchste vorgegebene Anzahl von Merkmalspunkten 108 mit der besten Reaktion (d.h., mit der höchsten Konfidenz) von jedem der lokalen Bereiche 105 und von jedem der entsprechenden lokalen Bereiche 107 zum Einbeziehen als (z.B. bezeichnet als) erfasste Merkmalspunkte 108 auswählen. Demgemäß sind durch Auswählen einer vorgegebenen Anzahl von Merkmalspunkten 108 von jedem lokalen Bereich 105 und entsprechenden lokalen Bereich 107 die erfassten Merkmalspunkte 108 gleichmäßig zwischen den lokalen Bereichen 105 des Referenzbilds 104 verteilt und gleichmäßig zwischen den entsprechenden lokalen Bereichen 107 des nachfolgenden Bilds 106 verteilt. Beispiele für vorgegebene Anzahlen von Merkmalspunkten 108 umfassen 50, 100, 200, 300 oder jedwede andere Anzahl von Merkmalspunkten 108. Beispielsweise kann die vorgegebene Anzahl von Merkmalspunkten 108 von der Größe, der Qualität und/oder Auflösung eines Bilds abhängen. Wenn das Bildabgleichsystem 100 nicht mindestens die vorgegebene Anzahl (d.h., eine Schwellenanzahl) von Merkmalspunkten 108 innerhalb eines spezifischen lokalen Bereichs 105 (oder eines entsprechenden lokalen Bereichs 107) erfasst, wählt das Bildabgleichsystem 100 alle Merkmalspunkte 108 aus, die in diesem spezifischen lokalen Bereich 105 erfasst werden.As stated above, the image matching system 100 the feature points 108 within each local area 105 of the reference picture 104 and the feature points 108 within each corresponding local area 107 of the following picture 106 to capture. In addition, the image matching system 100 a best or highest predetermined number of feature points 108 with the best response (ie, the highest confidence) from each of the local areas 105 and from each of the corresponding local areas 107 to include as feature points (eg referred to as) 108 choose. Accordingly, by selecting a predetermined number of feature points 108 from every local area 105 and corresponding local area 107 the detected feature points 108 evenly between the local areas 105 of the reference picture 104 distributed and equally between the corresponding local areas 107 of the following image 106 distributed. Examples of given numbers of feature points 108 include 50, 100, 200, 300, or any other number of feature points 108 , For example, the predetermined number of feature points 108 depending on the size, quality and / or resolution of an image. When the image adjustment system 100 not at least the predetermined number (ie, a threshold number) of feature points 108 within a specific local area 105 (or a corresponding local area 107 ), selects the image matching system 100 all feature points 108 out in this specific local area 105 be recorded.

Als nicht-beschränkendes Beispiel, wie z.B. das Beispiel, das in der 2 gezeigt ist, kann jeder der vier lokalen Bereiche 15 des Referenzbilds 104 100 erfasste Merkmalspunkte 108 derart umfassen, dass das Referenzbild 104 insgesamt 400 erfasste Merkmalspunkte 108 umfasst. Demgemäß kann das Bildabgleichsystem 100 sicherstellen, dass Merkmalspunkte 108 in jedem der lokalen Bereiche 105 (und entsprechenden lokalen Bereiche 107) erfasst werden können, anstelle von nur Merkmalspunkt-reichen Bereichen. Als Ergebnis kann das Bildabgleichsystem 100 sicherstellen, dass Gegenstände und/oder Elemente, die durch ein Bild (z.B. das Referenzbild 104) gezeigt sind, besser durch die erfassten Merkmalspunkte 108 dargestellt werden als durch herkömmliche Systeme, die eine einzelne allgemeine Merkmalserfassung anstelle der Erfassung von Merkmalspunkten innerhalb jedes lokalen Bereichs 105 nutzen.As a non-limiting example, such as the example given in the 2 can be shown, each of the four local areas 15 of the reference picture 104 100 recorded feature points 108 such that the reference image 104 a total of 400 recorded feature points 108 includes. Accordingly, the image matching system 100 make sure that feature points 108 in each of the local areas 105 (and corresponding local areas 107), instead of only feature point-rich areas. As a result, the image matching system 100 Make sure that items and / or items passing through a picture (eg the reference picture 104 ), better by the detected feature points 108 can be represented as by conventional systems that use a single general feature detection instead of detecting feature points within each local area 105 use.

Beispielsweise zeigt die 3 einen Vergleich von Merkmalspunkten 108 (z.B. Objekten), die durch ein allgemeines Erfassungssystem und durch ein lokales Erfassungssystem (d.h., das Bildabgleichsystem 100 der vorliegenden Offenbarung) erfasst (und ausgewählt) worden sind. Restliche Merkmalspunkte 108, die durch die zwei Systeme nicht erfasst werden (d.h., Merkmalspunkte 108, die nicht erfasst und/oder ausgewählt werden), sind in den Kästen 202 und 204 in grau und/oder schwarz dargestellt. Wie es gezeigt ist, erfasst das allgemeine Erfassungssystem signifikant weniger Merkmalspunkte 108 als das hier beschriebene lokale Erfassungssystem. Mit anderen Worten, das lokale Erfassungssystem (d.h., das Bildabgleichsystem 100) erfasst signifikant mehr Merkmalspunkte 108 als das allgemeine Erfassungssystem.For example, the shows 3 a comparison of feature points 108 (eg objects) detected by a general detection system and by a local detection system (ie, the image matching system 100 of the present disclosure) have been detected (and selected). Remaining feature points 108 that are not detected by the two systems (ie, feature points 108 that are not recorded and / or selected) are in the boxes 202 and 204 shown in gray and / or black. As shown, the general detection system detects significantly fewer feature points 108 as the local detection system described here. In other words, the local acquisition system (ie, the image matching system 100 ) records significantly more feature points 108 as the general detection system.

Wie es vorstehend kurz erwähnt worden ist, wird das Abstimmen der Merkmalspunkte 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 detaillierter in der 4 beschrieben. Insbesondere zeigt die 4 einen lokalen Bereich 105 des Referenzbilds 104 und einen entsprechenden lokalen Bereich 107 des nachfolgenden Bilds 106. Um die Merkmalspunkte 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 abzustimmen, wählt das Bildabgleichsystem 100 einen erfassten Merkmalspunkt R in dem Referenzbild 104 aus und stimmt den Merkmalspunkt R mit dem ähnlichsten Bild in dem nachfolgenden Bild 106 ab. In einigen Ausführungsformen bestimmt das Bildabgleichsystem 100 die Ähnlichkeit von zwei gegebenen Merkmalspunkten 108 durch Bewerten des Hamming-Abstands zwischen den Deskriptoren 110 der Merkmalspunkte 108. Wie es bekannt ist, ist der Hamming-Abstand zwischen zwei Vektoren (z.B. den Deskriptoren 110) dann die Anzahl von entsprechenden Positionen (z.B. Werten) der zwei Vektoren, die verschieden sind. Beispielsweise misst der Hamming-Abstand eine minimale Anzahl von Substitutionen, die erforderlich wären, um einen ersten Vektor von zwei Vektoren zu einem zweiten Vektor der zweiten Vektoren zu verändern. Wie es einem Fachmann klar ist, misst der Hamming-Abstand eine minimale Anzahl von Fehlern, die durch den ersten Vektor in den zweiten Vektor übertragen worden sein können. As briefly mentioned above, the tuning of the feature points becomes 108 between the reference picture 104 and the following picture 106 more detailed in the 4 described. In particular, the shows 4 a local area 105 of the reference picture 104 and a corresponding local area 107 of the subsequent image 106. To the feature points 108 between the reference picture 104 and the subsequent image 106 selects the image matching system 100 a detected feature point R in the reference image 104 and matches the feature point R with the most similar image in the subsequent image 106 from. In some embodiments, the image matching system 100 determines the similarity of two given feature points 108 by evaluating the Hamming distance between the descriptors 110 the feature points 108 , As is known, the Hamming distance is between two vectors (eg the descriptors 110 ) then the number of corresponding positions (eg values) of the two vectors that are different. For example, the Hamming distance measures a minimum number of substitutions that would be required to change a first vector from two vectors to a second vector of the second vectors. As one skilled in the art will appreciate, the Hamming distance measures a minimum number of errors that may have been transferred to the second vector by the first vector.

In einer oder mehreren Ausführungsform(en) bestimmt das Bildabgleichsystem 100 für einen gegebenen Merkmalspunkt in dem Referenzbild 104 (z.B. den Merkmalspunkt R) eine entsprechende Position in dem nachfolgenden Bild 106. Ferner sucht das Bildabgleichsystem 100 nur einen jeweiligen entsprechenden lokalen Bereich 107 des nachfolgenden Bilds 106 für einen Merkmalspunkt P, der mit dem gegebenen Merkmalspunkt R des lokalen Bereichs 105 des Referenzbilds 104 abgestimmt ist, wie es in der 4 gezeigt ist. Beispielsweise sagt das Bildabgleichsystem 100 für einen gegebenen Merkmalspunkt R mit der Pixelposition XR die Pixelposition des abgestimmten Merkmalspunkts als XR + dXR vorher. In einigen Ausführungsformen ist dXR eine vorhergehende Bewegungsversetzung, die von einem Bewegungssensor (z.B. einem Bewegungssensor der Bildaufnahmevorrichtung 102) erfasst worden ist. In zusätzlichen Ausführugsformen ist dXR eine vorhergehende Bewegungsversetzung von vorhergehenden Abgleichergebnissen (z.B. vorher erzeugten neuen Bildern), die mittels eines autoregressiven Modells abgeschätzt worden ist. Beispielsweise wird die vorhergehende Bewegungsversetzung auf der Basis einer früheren vorhergehenden Bewegungsversetzungen aufgrund einer Analyse einer Regression unterzogen wird, die mit zusätzlichen nachfolgenden Bilden und dem Referenzbild 104 durchgeführt worden ist.In one or more embodiments, the image matching system 100 determines for a given feature point in the reference image 104 (eg the feature point R) a corresponding position in the following image 106 , Further, the image matching system searches 100 only one respective corresponding local area 107 of the following picture 106 for a feature point P corresponding to the given feature point R of the local area 105 of the reference picture 104 is tuned, as it is in the 4 is shown. For example, the image matching system says 100 for a given feature point R with pixel position X R, advance the pixel position of the matched feature point as X R + dX R. In some embodiments, dX R is a previous motion offset detected by a motion sensor (eg, a motion sensor of the image capture device 102 ) has been recorded. In additional embodiments, dX R is a previous motion displacement of previous trim results (eg, previously created new images) that has been estimated by an autoregressive model. For example, the previous motion displacement is regression-based on an earlier previous motion displacement due to analysis, with additional subsequent forming and the reference image 104 has been carried out.

Auf der Basis der Pixelposition des vorhergesagten abgestimmten Merkmalspunkts (XR + dXR) vergleicht das Bildabgleichsystem 100 den Merkmalsdeskriptor 110 des Merkmalspunkts R mit dem Merkmalsdeskriptor 110 von jedwedem Merkmalspunkt P mit einer Pixelposition XP, die nahe bei XR + dXR liegt. Beispielsweise kann das Bildabgleichsystem 100 den Merkmalsdeskriptor 110 des Merkmalspunkts R mit dem Merkmalsdeskriptor 110 von jedweden potenziellen Merkmalspunkten {P} (d.h., jedweden Merkmalspunkt eines Satzes von potenziell abgestimmten Merkmalspunkten 108) mit einer Pixelposition vergleichen, die sich innerhalb einer vorgegebenen Anzahl von Pixeln (z.B. 50 Pixel, 75 Pixel, 100 Pixel, 200 Pixel, usw.) von XR + dXR befindet. Beispielsweise kann das Bildabgleichsystem 100 den Merkmalsdeskriptor 100 des Merkmalspunkts R mit dem Merkmalsdeskriptor 110 von jedweden potenziellen Merkmalspunkten {P} innerhalb eines Kreises, der sich um XR + dXR erstreckt, wobei XR + dXR die Mitte der Kreises ist und der Kreis einen Radius mit einer vorgegebenen Anzahl von Pixeln aufweist, vergleichen.Based on the pixel position of the predicted matched feature point (X R + dX R ), the image matching system compares 100 the feature descriptor 110 of the feature point R with the feature descriptor 110 from any feature point P with a pixel position X P close to X R + dX R. For example, the image matching system 100 may include the feature descriptor 110 of the feature point R with the feature descriptor 110 of any potential feature points {P} (ie, any feature point of a set of potentially matched feature points 108 ) with a pixel position that is within a predetermined number of pixels (eg, 50 pixels, 75 pixels, 100 pixels, 200 pixels, etc.) of X R + dX R. For example, the image matching system 100 the feature descriptor 100 of the feature point R with the feature descriptor 110 of any potential feature points {P} within a circle extending around X R + dX R , where X R + dX R is the center of the circle and the circle has a radius with a given number of pixels.

Zusätzlich zum Vergleichen des Merkmalsdeskriptors 110 des Merkmalspunkts R mit dem Merkmalsdeskriptor 110 von jedweden potenziellen Merkmalspunkten {P} stuft (d.h., sortiert und/oder priorisiert) das Bildabgleichsystem 100 die potenziellen Merkmalspunkte {P} gemäß den Ähnlichkeiten von Merkmalsdeskriptoren 110 von potenziellen Merkmalspunkten {P} mit dem Merkmalsdeskriptor 110 des Merkmalspunkts R. Wie es vorstehend kurz erwähnt worden ist, bestimmmt das Bildabgleichsystem 100 in einigen Ausführungsformen die Ähnlichkeit von zwei gegebenen Merkmalspunkten 108 durch Bewerten des Hamming Abstands zwischen den Merkmalsdeskriptoren 110 der Merkmalspunkte 108.In addition to comparing the feature descriptor 110 of the feature point R with the feature descriptor 110 of any potential feature points {P} (ie, sorts and / or prioritizes) the image matching system 100 the potential feature points {P} according to the similarities of feature descriptors 110 of potential feature points {P} with the feature descriptor 110 of the feature point R. As mentioned briefly above, the image matching system determines 100 in some embodiments, the similarity of two given feature points 108 by evaluating the Hamming distance between the feature descriptors 110 the feature points 108 ,

Nach dem Einstufen der potenziellen Merkmalspunkte {P} gemäß deren Ähnlichkeiten mit dem Merkmalspunkt R filtert das Bildabgleichsystem 100 alle bis auf eine vorgegebene beste Zahl (d.h., einer vorgegebenen Anzahl) von potenziellen Merkmalspunkten {P} zur Berücksichtigung als abgestimmten Merkmalspunkt. Beispielsweise kann das Bildabgleichsystem 100 alle bis auf die besten 3, 6 oder 10 potenziellen Merkmalspunkte {P} filtern, die dem Merkmalspunkt R am ähnlichsten sind. Mit anderen Worten, das Bildabgleichsystem 100 behält die besten potenziellen Merkmalspunkte {P} unter Berücksichtigung einer Abstimmung mit dem Merkmalspunkt R bei. Beispielsweise behält das Bildabgleichsystem 100 einen Satz von potenziell abgestimmten Merkmalspunkten 108 bei, wobei berücksichtigt wird, dass eine Anstimmung an den Merkmalspunkt R vorliegt. Beispielsweise behält das Bildabgleichsystem 100 einen Satz von potenziell abgestimmten Merkmalspunkten 108 unter Berücksichtigung einer Abstimmung mit dem Merkmalspunkt R bei. Das Bildabgleichsystem 100 behält mehr als den besten potenziellen Merkmalspunkt P bei, da die beste Abstimmung nach wie vor eine falsche Abstimmung sein könnte und wird bezüglich einer Berücksichtigung als potenzieller Merkmalspunkt in späteren Verfahren gefiltert (z.B. entfernt). Ferner führt das Beibehalten von mehr als der besten Übereinstimmung für jeden gegebenen Merkmalspunkt R des Referenzbilds 104 zu mehr Merkmalspunkten 108 des Referenzbilds 104, die korrekt mit den potenziellen Merkmalspunkten {P} des nachfolgenden Bilds 106 abgestimmt sind. Beispielsweise bestimmt das Bildabgleichsystem 100 mehr abgestimmte Paare von Merkmalspunkten 108, wenn mehr als ein oberster potenzieller Merkmalspunkt bewahrt wird.After ranking the potential feature points {P} according to their similarities with the feature point R, the image matching system filters 100 all but a predetermined best number (ie, a predetermined number) of potential feature points {P} for consideration as a matched feature point. For example, the image matching system 100 filter all but the best 3, 6, or 10 potential feature points {P} most similar to the feature point R. In other words, the image matching system 100 maintains the best potential feature points {P} considering a vote with the feature point R. For example, the image matching system retains 100 a set of potentially matched feature points 108 taking into account that there is an attunement to the feature point R. For example, the image matching system retains 100 a set of potentially matched feature points 108 taking into account a vote with the feature point R at. The Image matching system 100 retains more than the best potential feature point P since the best match could still be a wrong vote and is filtered (eg removed) for consideration as a potential feature point in later processes. Furthermore, maintaining more than the best match will result for any given feature point R of the reference image 104 to more feature points 108 of the reference picture 104 correctly with the potential feature points {P} of the following image 106 are coordinated. For example, the image matching system determines 100 more matched pairs of feature points 108 if more than one top potential feature point is preserved.

Als Reaktion auf die besten potenziellen Merkmalspunkte {P} für den Merkmalspunkt R filtert das Bildabgleichsystem 100 (von dem Satz von potenziell abgestimmten Merkmalspunkten 108) jedwede potenzielle Merkmalspunkte {P} mit einem Deskriptorabstand oberhalb eines Schwellenabstands von dem Merkmalspunkt R. In einigen Ausführungsformen ist der Deskriptorabstand der Hamming-Abstand zwischen dem Merkmalsdeskriptor 110 des Merkmalspunkts R und ein Merkmalsdeskriptor eines gegebenen potenziellen Merkmalspunkts P. In zusätzlichen Ausführungsformen ist der Deskriptorabstand ein euklidischer Abstand-Merkmalsdeskriptor 110 des Merkmalspunkts R und eines gegebenen Merkmalspunkts P. In manchen Fällen filtert (z.B. entfernt) nach dem Bestimmen der Deskriptorabstände zwischen dem Merkmalspunkt R und den potenziellen Merkmalspunkten {P} das Bildabgleichsystem 100 von der Berücksichtigung von jedweden potenziellen Merkmalspunkten {P} (des Satzes von potenziell abgestimmten Merkmalspunkten 108) mit einem Deskriptorabstand von dem vorstehenden Merkmalspunkt R, wie z.B. 50, 80, 100, 150 oder 200.In response to the best potential feature points {P} for feature point R, the image matching system filters 100 (from the set of potentially matched feature points 108 ) any potential feature points {P} with a descriptor distance above a threshold distance from the feature point R. In some embodiments, the descriptor distance is the Hamming distance between the feature descriptor 110 of the feature point R and a feature descriptor of a given potential feature point P. In additional embodiments, the descriptor distance is a Euclidean distance feature descriptor 110 of the feature point R and a given feature point P. In some cases, after determining the descriptor distances between the feature point R and the potential feature points {P}, the image matching system filters (eg removes) 100 from consideration of any potential feature points {P} (of the set of potentially matched feature points 108 ) having a descriptor distance from the above feature point R, such as 50, 80, 100, 150 or 200.

Zusätzlich zum Filtern von potenziellen Merkmalspunkten {P} auf der Basis von Deskriptorabständen filtert das Bildabgleichsystem potenzielle Merkmalspunkte (P) von der Berücksichtigung auf der Basis einer Verschiebung (d.h., XP - XR) des potenziell abgestimmten Paars 112 von Merkmalspunkten 108. Insbesondere bestimmt das Bildabgleichsystem 100 von allen restlichen potenziellen Merkmalspunkten {P} (des Satzes von potenziell abgestimmten Merkmalspunkten 108), für alle erfassten Merkmalspunkte 108 {R}, die in dem Referenzbild 104 erfasst worden sind (z.B. von allen potenziellen abgestimmten Paaren 112 von Merkmalspunkten zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106) einen gemittelten Verschiebungsvektor D als Mittelwert der Merkmalsverschiebung {XP - XR}. Wie es einem Fachmann klar ist, ist der mittlere Verschiebungsvektor D eine stabile Näherung einer allgemeinen Translation zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106. Nach dem Bestimmen des durchschnittlichen Verschiebungsvektors D filtert das Bildabgleichsystem 100 jedwede potenziellen Merkmalspunkte {P}, die potenziell abgestimmten Paaren 112 mit Verschiebungen (XP - XR) entsprechen, die um mehr als eine vorgegebene Anzahl von Pixeln von dem durchschnittlichen Verschiebungsvektor abweichen. Beispielsweise kann das Bildabgleichsystem 100 jedwede potenziellen Merkmalspunkte {P}, die potenziell abgestimmten Paaren 112 mit Verschiebungen (XP - XR) entsprechen, filtern, die von dem durchschnittlichen Verschiebungsvektor D um mehr als 10, 20, 30, 40, 50 oder 100 Pixel abweichen.In addition to filtering potential feature points {P} based on descriptor spacing, the image matching system filters potential feature points (P) from consideration based on a displacement (ie, X P - X R ) of the potentially matched pair 112 of feature points 108 , In particular, the image matching system determines 100 from all remaining potential feature points {P} (the set of potentially matched feature points 108 ), for all recorded feature points 108 {R} included in the reference image 104 (eg of all potential matched pairs 112 of feature points between the reference image 104 and the following picture 106 ) an averaged displacement vector D as the mean value of the feature displacement {X P - X R }. As one skilled in the art will appreciate, the mean displacement vector D is a stable approximation of a general translation between the reference image 104 and the following picture 106 , After determining the average displacement vector D, the image matching system filters 100 any potential feature points {P}, the potentially matched pairs 112 with displacements (X P - X R ) that deviate from the average displacement vector by more than a predetermined number of pixels. For example, the image matching system 100 any potential feature points {P}, the potentially matched pairs 112 with displacements (X P - X R ), which deviate from the average displacement vector D by more than 10, 20, 30, 40, 50 or 100 pixels.

In manchen Fällen kann nach dem Filtern der potenziellen Merkmalspunkte {P} auf der Basis der vorhergesagten Pixelposition, der Deskriptorabstände und der relativen Verschiebungen eine Mehrzahl von potenziell abgestimmten Paaren 112 von Merkmalspunkten 108 für denselben Merkmalspunkt R verbleiben. In solchen Fällen wählt das Bildabgleichsystem 100 einen potenziellen Merkmalspunkt P mit der größten Ähnlichkeit mit dem Merkmalspunkt R aus. Das resultierende Paar (R, P) ist das fertig abgestimmte Merkmalspunktpaar 112, welches, wie es nachstehend detaillierter diskutiert wird, das Bildabgleichsystem 100 zum Bestimmen einer Bewegungsabschätzung (d.h., einer Homographie) des Referenzbilds 104 zu dem nachfolgenden Bild 106 nutzt. Ferner kann das Bildabgleichsystem 100 die vorstehend beschriebenen Verfahren für jeden erfassten Merkmalspunkt 108 des Referenzbilds 104 zum Bestimmen einer Mehrzahl von abgestimmten Paaren 112 von Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 durchführen.In some cases, after filtering the potential feature points {P} based on the predicted pixel position, the descriptor distances, and the relative displacements, a plurality of potentially matched pairs may be used 112 feature points 108 for the same feature point R remain. In such cases, the image matching system 100 selects a potential feature point P having the greatest similarity with the feature point R. The resulting pair (R, P) is the finely tuned feature point pair 112 which, as will be discussed in more detail below, the image matching system 100 for determining a motion estimate (ie, a homography) of the reference picture 104 to the following picture 106 uses. Furthermore, the image matching system 100 the methods described above for each detected feature point 108 of the reference picture 104 for determining a plurality of matched pairs 112 of feature points 108 between the reference picture 104 and the following picture 106 carry out.

Wie es vorstehend kurz erwähnt worden ist, wird das Bestimmen der Homographie des Referenzbilds 104 zu dem nachfolgenden Bild 106 nachstehend unter Bezugnahme auf die 5 und 6 detaillierter beschrieben. Ferner können in einer oder mehreren Ausführungsform(en) die Aktionen, die in Bezug auf die 5 und 6 gezeigt und beschrieben sind, innerhalb eines Schritts zum Bestimmen einer Homographie für jeden lokalen Bereich 105 der Mehrzahl von lokalen Bereichen 105 durchgeführt werden. Wie es vorstehend beschrieben ist, wendet das Bildabgleichsystem 100 dann, wenn die Homographie des Referenzbilds 104 zu dem nachfolgenden Bild 106 bestimmt wird, ein Homographiebewegungsmodell auf jeden der lokalen Bereiche 105 des Referenzbilds 104 an. Insbesondere kann das Bildabgleichsystem 100 ein herkömmliches Homographiebewegungsmodell auf jeden lokalen Bereich 105 anwenden, während herkömmliche Optimierungsverfahren verwendet werden. Beispielsweise kann das Bildabgleichsystem 100 das Homographiebewegungsmodell und herkömmliche Optimierungsverfahren anwenden, die in Liu, Ziwei et al., Fast Burst Images Denoising, ACM Transaction on Graphics 33, Nr 6: 232 (2014) , beschrieben sind, dessen Offenbarung hierin vollständig unter Bezugnahme einbezogen ist.As briefly mentioned above, determining the homography of the reference image becomes 104 to the following picture 106 with reference to the following 5 and 6 described in more detail. Furthermore, in one or more embodiments, the actions related to the 5 and 6 are shown and described within a step of determining a homography for each local area 105 the majority of local areas 105 be performed. As described above, the image matching system uses 100 then, if the homography of the reference picture 104 to the following picture 106 is determined, a Homografiebewegungsmodell on each of the local areas 105 of the reference picture 104 at. In particular, the image matching system 100 a conventional homography gesture model on each local area 105 apply while using conventional optimization techniques. For example, the image matching system 100 apply the homography motion model and conventional optimization techniques described in Liu, Ziwei et al., Fast Burst Images Denoising, ACM Transaction on Graphics 33, No 6: 232 (2014) , the disclosure of which is fully incorporated herein by reference.

Ferner kann der Betrieb des Bildabgleichsystems 100, bei dem ein herkömmliches Homographiebewegungsmodell auf jeden lokalen Bereich 105 der Mehrzahl von lokalen Bereiche 105 angewandt wird, in Bezug auf Algorithmen, Gleichungen oder Pseudocode beschrieben werden, der oder die durch eine Rechenvorrichtung (z.B. einen Server) durchgeführt wird. Insbesondere kann die Anwendung eines herkömmlichen Homographiebewegungsmodells auf jeden lokalen Bereich 105 die folgenden Algorithmen und Gleichungen umfassen.Furthermore, the operation of the image matching system 100 in which a conventional homography movement model is applied to each local area 105 the majority of local areas 105 is applied to algorithms, equations, or pseudocode performed by a computing device (eg, a server). In particular, the application of a conventional homography motion model to any local area 105 include the following algorithms and equations.

Zum Abschätzen einer Homographie H beginnt das Bildabgleichsystems 100 mit dem Folgenden: x 2 H x 1

Figure DE102017009118A1_0001
was ein direktes Mapping bzw. Zuordnen zwischen Punkten in zwei Bildebenen darstellt. Ferner nutzt das Bildabgleichsystem 100 bei der Verwendung von homogenen Koordinaten die folgende Beschränkung: [ x 2 y 2 z 2 ] = [ H 11 H 12 H 13 H 21 H 22 H 23 H 31 H 32 H 33 ] [ x 1 y 1 z 1 ] x 2 = H x 1
Figure DE102017009118A1_0002
For estimating a homography H, the image matching system starts 100 with the following: x 2 ~ H x 1
Figure DE102017009118A1_0001
which is a direct mapping or mapping between points in two image layers. Furthermore, the image matching system uses 100 the following restriction applies when using homogeneous coordinates: [ x 2 y 2 z 2 ] = [ H 11 H 12 H 13 H 21 H 22 H 23 H 31 H 32 H 33 ] [ x 1 y 1 z 1 ] x 2 = H x 1
Figure DE102017009118A1_0002

Wenn inhomogene Koordinaten verwendet werden, wie z.B. ( x 2 = x 2 / z 2  and  y 2 = y 2 / z 2 ) ,

Figure DE102017009118A1_0003
nutzt das Bildabgleichsystem 100 die folgenden Beschränkungen: x 2 = H 11 x 1 + H 12 y 1 + H 13 z 1 H 31 x 1 + H 32 y 1 + H 33 z 1
Figure DE102017009118A1_0004
y 2 = H 21 x 1 + H 22 y 1 + H 23 z 1 H 31 x 1 + H 32 y 1 + H 33 z 1
Figure DE102017009118A1_0005
If inhomogeneous coordinates are used, such as ( x 2 ' = x 2 / z 2 and y 2 ' = y 2 / z 2 ) .
Figure DE102017009118A1_0003
uses the image matching system 100 the following restrictions: x 2 ' = H 11 x 1 + H 12 y 1 + H 13 z 1 H 31 x 1 + H 32 y 1 + H 33 z 1
Figure DE102017009118A1_0004
y 2 ' = H 21 x 1 + H 22 y 1 + H 23 z 1 H 31 x 1 + H 32 y 1 + H 33 z 1
Figure DE102017009118A1_0005

Zusätzlich definiert das Bildabgleichsystem 100 ohne Verlust an Allgemeinheit z1 = 1 und stellt die vorstehende Gleichung um zu: x 2 ( H 31 x 1 + H 32 y 1 + H 33 ) = H 11 x 1 + H 12 y 1 + H 13

Figure DE102017009118A1_0006
y 2 ( H 31 x 1 + H 32 y 1 + H 33 ) = H 21 x 1 + H 122 y 1 + H 23
Figure DE102017009118A1_0007
In addition, the image matching system defines 100 without loss of generality z 1 = 1 and converts the above equation to: x 2 ' ( H 31 x 1 + H 32 y 1 + H 33 ) = H 11 x 1 + H 12 y 1 + H 13
Figure DE102017009118A1_0006
y 2 ' ( H 31 x 1 + H 32 y 1 + H 33 ) = H 21 x 1 + H 122 y 1 + H 23
Figure DE102017009118A1_0007

Obwohl die vorstehend genannten inhomogenen Gleichungen die Koordinaten nicht-linear umfassen, erscheinen die Koeffizienten von H linear. Um demgemäß nach H aufzulösen, stellt das Bildabgleichsystem 100 die vorstehenden zwei Gleichungen um als: a x T h = 0

Figure DE102017009118A1_0008
a y T h = 0
Figure DE102017009118A1_0009
wobei h = ( H 11 , H 12 , H 13 , H 21 , H 22 , H 23 , H 31 , H 32 , H 33 ) T
Figure DE102017009118A1_0010
a x = ( x 1 , y 1 , 1,0,0,0, x 2 x 1 , x 2 y 1 , x 2 ) T
Figure DE102017009118A1_0011
a y = ( 0,0,0, x 1 , y 1 , 1, y 2 x 1 , y 2 y 1 , y 2 ) T
Figure DE102017009118A1_0012
Although the above inhomogeneous equations include the coordinates non-linearly, the coefficients of H appear linear. Accordingly, in order to resolve to H, the image matching system provides 100 the above two equations um as: a x T H = 0
Figure DE102017009118A1_0008
a y T H = 0
Figure DE102017009118A1_0009
in which H = ( H 11 . H 12 . H 13 . H 21 . H 22 . H 23 . H 31 . H 32 . H 33 ) T
Figure DE102017009118A1_0010
a x = ( - x 1 . - y 1 . - 1,0,0,0, x 2 ' x 1 . x 2 ' y 1 . x 2 ' ) T
Figure DE102017009118A1_0011
a y = ( 0,0,0, - x 1 . - y 1 . - 1, y 2 ' x 1 . y 2 ' y 1 . y 2 ' ) T
Figure DE102017009118A1_0012

Ferner kann das Bildabgleichsystem 100 auf der Basis der bestimmten abgestimmten Merkmalspunkte 108 (d.h. Entsprechungen), die vorstehend bezüglich 4 beschrieben worden sind, das folgende lineare System von Gleichungen bilden: A h = 0

Figure DE102017009118A1_0013
wobei A = ( a x 1 T a y 1 T a x N T a y N T )
Figure DE102017009118A1_0014
Furthermore, the image matching system 100 based on the specific feature points agreed 108 (ie, correspondences) referred to above 4 which form the following linear system of equations: A H = 0
Figure DE102017009118A1_0013
in which A = ( a x 1 T a y 1 T a x N T a y N T )
Figure DE102017009118A1_0014

Das Bildabgleichsystem 100 kann die vorstehend genannten Gleichungen mittels homogener linearer kleinster Quadrate lösen, was in dem Fachgebiet bekannt ist. Demgemäß kann das Bildabgleichsystem 100 in einigen Ausführungsformen die vorstehend genannten Gleichungen zum Bestimmen der Homographien der lokalen Regionen 105 nutzen.The image matching system 100 can solve the aforementioned equations by means of homogeneous linear least squares, which is known in the art. Accordingly, the image matching system 100 in some embodiments, the aforementioned equations for determining the homologies of the local regions 105 use.

Nach wie vor unter Bezugnahme auf die 5 kann das Bildabgleichsystem 100 in einigen Ausführungsformen vor dem Anwenden des vorstehend beschriebenen Homographiebewegungsmodells bestimmen, ob ein gegebener lokaler Bereich 105 des Reerenzbilds 104 eine Schwellenanzahl (d.h., eine vorgegebene Anzahl) von erfassten Merkmalspunkten 108 umfasst. Die Schwellenanzahl kann 50, 75, 100, 200, 500, 1000 oder jedwede andere Anzahl von erfassten Merkmalspunkten 108 umfassen. Beispielsweise kann die Schwellenanzahl von erfassten Merkmalspunkten 108 von der Größe, der Qualität und/oder der Auflösung eines Bilds abhängen.Still referring to the 5 can the image matching system 100 in some embodiments, prior to applying the homography motion model described above, determine whether a given local area 105 of the reerenzbilds 104 a threshold number (ie, a predetermined number) of detected feature points 108 includes. The threshold number may be 50, 75, 100, 200, 500, 1000, or any other number of feature points detected 108 include. For example, the threshold number of detected feature points 108 depending on the size, quality and / or resolution of an image.

Ferner kann das Bildabgleichsystem 100 abhängig davon, ob ein gegebener lokaler Bereich 105 die Schwellenanzahl von erfassten Merkmalspunkten 108 umfasst, eine hierarchische Abschätzung des Homographieflusses von unten nach oben anwenden. Beispielsweise wenn das Bildabgleichsystem 100 bestimmt, dass ein gegebener lokaler Bereich 105 die Schwellenanzahl von erfassten Merkmalspunkten 108 umfasst, wendet das Bildabgleichsystem 100 das Homographiebewegungsmodell auf den gegebenen lokalen Bereich 105 an, wie es vorstehend beschrieben worden ist. Wenn andererseits das Bildabgleichsystem 100 bestimmt, dass ein gegebener lokaler Bereich 105 die Schwellenanzahl von erfassten Merkmalspunkten 108 nicht umfasst, vereinigt das Bildabgleichsystem 100 den lokalen Bereich 105 mit einem weiteren lokalen Bereich mit der gleichen Hierarchiebene und innerhalb eines lokalen Bereichs (d.h., eines größeren lokalen Bereichs eines nächsten Hierarchieniveaus und wendet das Homographiebewegungsmodell auf den vereinigten lokalen Bereich an. Beispielsweise zeigt die 5 das Referenzbild 104, wie es ursprünglich in einer Mehrzahl von lokalen Bereichen aufgeteilt ist, wobei sich ein lokaler Bereich 105a und ein lokaler Bereich 105b nahe beeinander befinden (d.h., eine Grenze gemeinsam haben), und sie können in einigen Ausführungsformen keine signifikante Anzahl von Merkmalspunkten 108 umfassen. Demgemäß kann nach dem Bestimmen, dass einer oder mehrere der lokalen Bereiche 105a und 105b nicht die Schwellenanzahl (d.h., die vorgegebene Anzahl) von Merkmalspunkten umfasst oder umfassen, das Bildabgleichsystem 100 den lokalen Bereich 105a und den lokalen Bereich 105b zur Bildung des lokalen Bereichs 105g vereinigen. Wie es gezeigt ist, vereinigt jedoch das Bildabgleichsystem 100 den lokalen Bereich 105a und den lokalen Bereich 105b innerhalb des lokalen Bereichs 505 (z.B. des nächsten Hierarchieniveaus).Furthermore, the image matching system 100 depending on whether a given local area 105 the threshold number of detected feature points 108 involves applying a hierarchical estimation of the homography flow from bottom to top. For example, if the image matching system 100 determines that a given local area 105 the threshold number of detected feature points 108 includes, uses the image matching system 100 the homography movement model on the given local area 105 as described above. On the other hand, if the image matching system 100 determines that a given local area 105 the threshold number of detected feature points 108 not included, unites the image matching system 100 the local area 105 with a further local area with the same hierarchy level and within a local area (ie, a larger local area of a next hierarchy level) and applies the homography movement model to the unified local area 5 the reference picture 104 as it is originally divided into a plurality of local areas, being a local area 105a and a local area 105b they may be near each other (ie, sharing a boundary) and, in some embodiments, may not have a significant number of feature points 108 include. Accordingly, after determining that one or more of the local areas 105a and 105b not including the threshold number (ie, the predetermined number) of feature points, the image matching system 100 the local area 105a and the local area 105b for the formation of the local area 105g unite. As shown, however, the image matching system unites 100 the local area 105a and the local area 105b within the local area 505 (eg the next hierarchy level).

In einigen Ausführungsformen sind die Hierarchieniveaus durch lokale Sätze von Quadranten der lokalen Regionen festgelegt. Beispielsweise liegen, wie es in der 5 gezeigt ist, lokale Regionen 105c, 105d, 105e und 105f innerhalb des gleichen Satzs von Quadranten (2 x 2-Satz von Quadranten) und liegen daher innerhalb des gleichen Hierarchieniveaus. Das nächste Hierarchieniveau (d.h., das Hierarchieniveau oberhalb der lokalen Regionen 105c, 105d, 105e und 105f) ist die lokale Region (und dazugehörige lokale Regionen), die in den Satz von Quadranten aufgeteilt ist, der die lokalen Regionen 105c, 105d, 105e und 105f festlegt, wie z.B. den lokalen Bereich 507. Sollte das Bildabgleichsystem 100 bestimmen, das eine oder mehrere der lokalen Regionen 105c, 105d, 105e und 105f die Schwellenanzahl der erfassten Merkmalspunkte 108 nicht umfasst, vereinigt das Bildabgleichsystem 100 den fehlenden lokalen Bereich mit einem weiteren der lokalen Bereiche innerhalb des gleichen Satzes von Quadranten. Beispielsweise vereinigt das Bildabgleichsystem 100 den fehlenden lokalen Bereich einem weiteren lokalen Bereich des gleichen Hierarchieniveaus und der das gleichen nächste Hierarchieniveau gemeinsam hat (z.B. ein weiterer lokaler Bereich, der sich innerhalb des lokalen Bereichs 507 befindet). Beispielsweise würde das Bildabgleichsystem 100 den fehlenden lokalen Bereich nicht mit dem lokalen Bereich 105c vereinigen, da der lokale Bereich 105c nicht das gleich nächste Hierarchieniveau gemeinsam hat. Darüber hinaus bestimmt das Bildabgleichsystem 100 nach dem Vereinigen der lokalen Bereiche 105c, 105d, 105e und 105f, dass der vereinigte lokale Bereich (nun der lokale Bereich 507) nicht die Schwellenanzahl von Merkmalspunkten 108 umfasst, vereinigt das Bildabgleichsystem den lokalen Bereich 507 mit einem weiteren lokalen Bereich (z.B. den lokalen Bereich 505) des gleichen Hierarchieniveaus und der das gleiche nächste Hierarchieniveau gemeinsam hat (z.B. das gesamte Bild in diesem Fall).In some embodiments, the hierarchy levels are determined by local sets of quadrants of the local regions. For example, as it is in the 5 shown is local regions 105c . 105d . 105e and 105f within the same set of quadrants ( 2 x 2 set of quadrants) and are therefore within the same hierarchy level. The next hierarchy level (ie, the hierarchy level above the local regions 105c , 105d, 105e and 105f) is the local region (and associated local regions) that is divided into the set of quadrants that are the local regions 105c . 105d . 105e and 105f defines, such as the local area 507 , Should the image matching system 100 determine one or more of the local regions 105c . 105d . 105e and 105f the threshold number of detected feature points 108 not included, unites the image matching system 100 the missing local area with another of the local areas within the same set of quadrants. For example, the image matching system unites 100 the missing local area has in common another local area of the same hierarchy level and the same next level of hierarchy (eg another local area that is within the local area 507 located). For example, the image matching system would 100 the missing local area not with the local area 105c unite since the local area 105c does not have the same hierarchical level in common. In addition, the image matching system determines 100 after uniting the local areas 105c . 105d . 105e and 105f that the united local area (now the local area 507 ) not the threshold number of feature points 108 includes, the image matching system unites the local area 507 with another local area (eg the local area 505 ) of the same hierarchical level and the same hierarchical level in common (eg the whole picture in this case).

In einer oder mehreren Ausführungsform(en) kann das Bildabgleichsystem 100 nach dem Bestimmen, dass ein gegebener lokaler Bereich nicht die Schwellenanzahl von Merkmalspunkten 108 umfasst, den lokalen Bereich mit weiteren lokalen Bereichen vereinigen, bis der resultierende vereinigte lokale Bereich die Schwellenanzahl von Merkmalspunkten 108 umfasst. In einigen Ausführungsformen kann das Bildabgleichsystem 100 die lokalen Bereiche für bis zu drei Hierachieniveaus vereinigen, z.B. von einem Sechzehntel des Bilds bis zu einem Quadranten des Bilds zu dem gesamten Bild. Zusätzlich kann das Bildabgleichsystem 100 in einer oder mehreren Ausführungsform(en) den lokalen Bereich, der die Schwellenanzahl von Merkmalspunkten 108 nicht aufweist, mit einem weiteren lokalen Bereich des gleichen Hierarchieniveaus mit der geringsten Anzahl von erfassten Merkmalspunkten 108 vereinigen. Insbesondere kann das Bildabgleichsystem 100 den lokalen Bereich, der die Schwellenanzahl von Merkmalspunkten 108 nicht aufweist, mit anderen lokalen Bereichen des gleichen Hierarchiniveaus in der Reihenfolge der Anzahl von erfassten Merkmalspunkten in jedem der anderen lokalen Bereiche vereinigen, und zwar beginnend mit dem lokalen Bereich mit der geringsten Anzahl von erfassten Merkmalspunkten 108. Die Hierarchieniveaus werden nachstehend detailliert in Bezug auf die 6 beschrieben.In one or more embodiments, the image matching system 100 after determining that a given local area is not the threshold number of feature points 108 includes the local area with other local areas until the resulting pooled local area includes the threshold number of feature points 108 includes. In some embodiments, the image matching system may 100 combine the local areas for up to three levels of hierarchy, eg from one-sixteenth of the image to one quadrant of the image to the entire image. In addition, the image matching system 100 in one or more embodiments, the local area that represents the threshold number of feature points 108 does not have, with another local area of the same hierarchy level with the least number of detected feature points 108 unite. In particular, the image matching system 100 the local area, which is the threshold number of feature points 108 does not merge with other local areas of the same hierarchical level in the order of the number of detected feature points in each of the other local areas, beginning with the local area having the least number of detected feature points 108 , Hierarchy levels are detailed below in relation to 6 described.

Insbesondere zeigt die 6 eine weitere Darstellung der Hierarchieniveaus gemäß einer oder mehreren Ausführungsform(en). Wie es gezeigt ist, kann das Bildabgleichsystem 100 ein Referenzbild 104 in vier Quadranten aufteilen und kann jeden Quadranten in vier Quadranten unterteilen, was dazu führt, dass das Referenzbild 104 in sechzehn lokale Bereiche unterteilt wird. Ferner umfasst das Referenzbild 104 dadurch, dass es sechzehn lokale Bereiche aufweist, mindestens drei Hierarchieniveaus. Das niedrigste Niveau (d.h., das untere Niveau) (l) ist das Niveau bei jedem einzelnen lokalen Bereich der sechzehn lokalen Bereiche und stellt ein erster Hierarchienivaus dar. Zusätzlich berücksichtigt das Bildabgleichsystem 100 bei dem niedrigsten Niveaus (l) jeden der sechzehn lokalen Bereiche einzeln. Ferner kann, wie es gezeigt ist, bei dem niedrigsten Niveau (l) eine Homographie des lokalen Bereichs (i) bei dem niedrigsten Niveau (l) als H i l

Figure DE102017009118A1_0015
festgelegt werden. Darüber hinaus kann, wie es gezeigt ist, die Homographie H i l
Figure DE102017009118A1_0016
die Homographieflüsse des lokalen Bereichs (i) bei dem niedrigsten Niveau (l) darstellen.In particular, the shows 6 another illustration of hierarchy levels according to one or more embodiments. As it is shown, the image matching system 100 a reference picture 104 divide into four quadrants and can divide each quadrant into four quadrants, which results in the reference image 104 is divided into sixteen local areas. Furthermore, the reference image includes 104 by having sixteen local areas, at least three levels of hierarchy. The lowest level (ie, the lower level) (l) is the level at each individual local area of the sixteen local areas and represents a first hierarchical level. Additionally, the image matching system takes into account 100 at the lowest level (L), each of the sixteen local areas individually. Further, as shown, at the lowest level (1), homography of the local area (i) at the lowest level (1) may be considered H i l
Figure DE102017009118A1_0015
be determined. In addition, as shown, homography H i l
Figure DE102017009118A1_0016
represent the homographic fluxes of the local region (i) at the lowest level (l).

Das erste Niveau nach oben (l-1) von dem niedrigsten Niveau (l) ist das Niveau bei den vier Quadranten des Gesamtbilds und stellt ein zweites Hierarchieniveau dar. Eine Homographie eines lokalen Bereichs (d.h., eines Quadranten) auf dem ersten Niveau nach oben (l-1) kann als H i l 1

Figure DE102017009118A1_0017
festgelegt werden. Ferner vereinigt dann, wie es vorstehend diskutiert worden ist, wenn das Bildabgleichsystem 100 einen der lokalen Bereiche auf dem ersten Hierarchieniveau mit einem benachbarten lokalen Bereich vereinigt (z.B. einem lokalen Bereich, der eine Grenze gemeinsam hat), das Bildabgleichsystem 100 den lokalen Bereich mit dem benachbarten lokalen Bereich innerhalb dessen jeweiligen Quadranten auf dem zweiten Hierarchieniveau.The first level up (l-1) from the lowest level (l) is the level at the four quadrants of the overall image and represents a second hierarchical level. Homography of a local area (ie, a quadrant) at the first level upwards (l-1) can be considered as H i l - 1
Figure DE102017009118A1_0017
be determined. Further, as discussed above, if the image matching system then merges 100 merges one of the local areas at the first hierarchy level with an adjacent local area (eg, a local area that has a boundary in common), the image matching system 100 the local area with the adjacent local area within its respective quadrants at the second hierarchical level.

Das zweite Niveau nach oben (l-2) von dem niedrigsten Niveau (l) ist das Niveau, welche das gesamten Referenzbild 104 umfasst und stellt ein drittes Hierarchieniveau dar. Eine Homographie des gesamten Referenzbilds 104 auf dem zweiten Niveau nach oben (l-2) kann als H i l 2

Figure DE102017009118A1_0018
festgelegt werden. Ferner vereinigt dann, wie es vorstehend diskutiert worden ist, wenn das Bildabgleichsystem 100 einen der lokalen Bereiche auf dem zweiten Hierarchieniveau mit einem benachbarten lokalen Bereich vereinigt (z.B. einem lokalen Bereich, der eine Grenze gemeinsam hat), das Bildabgleichsystem 100 den lokalen Bereich mit dem benachbarten lokalen Bereich innerhalb dessen dritten Hierarchieniveau (z.B. das gesamte Bild in der gezeigten Ausführungsform).The second level up (l-2) from the lowest level (l) is the level that covers the entire reference image 104 includes and represents a third hierarchical level. A homography of the entire reference image 104 at the second level up (l-2) can be considered as H i l - 2
Figure DE102017009118A1_0018
be determined. Further, as discussed above, if the image matching system then merges 100 one of the local areas on the second hierarchy level associated with an adjacent local area (eg, a local area having a boundary in common), the image matching system 100 the local area with the neighboring local area within its third hierarchical level (eg, the entire image in the illustrated embodiment).

Obwohl bezüglich 6 nur drei Hierarchieniveaus beschrieben sind, ist es einem Fachmann klar, dass jedwede Anzahl von Hierarchieniveaus durch das Bildabgleichsystem 100 der vorliegenden Offenbarung abhängig von der Größe und der Qualität des Referenzbilds 104 genutzt werden könnten. Beispielsweise könnte das Bildabgleichsystem 100 vier, fünf, zehn oder zwanzig Hierarchieniveaus nutzen.Although regarding 6 If only three levels of hierarchy are described, it will be apparent to one of ordinary skill in the art that any number of hierarchy levels are covered by the image matching system 100 of the present disclosure depending on the size and quality of the reference image 104 could be used. For example, the image matching system 100 could use four, five, ten, or twenty levels of hierarchy.

Unter Bezugnahme auf die 5 und 6 zusammen kann das Bildabgleichsystem 100 im Hinblick auf das Vorstehende individualisieren, wie das Bildabgleichsystem 100 ein Homographiebewegungsmodell auf jeden Bereich des Referenzbilds 104 anwendet. Insbesondere kann, wie es in der Ausführungsform in der 5 gezeigt ist, das Bildabgleichsystem 100 die lokalen Bereiche 105c, 105d, 105 und 105f bis zu dem Quadrantenhierarchieniveau vereinigen (z.B. dem zweiten Hierarchieniveau), um den lokalen Bereich 105m zu bilden, so dass die Schwellenanzahl von Merkmalspunkten 108 einbezogen wird. Zusätzlich kann das Bildabgleichsystem 100 die lokalen Bereiche 105a und 105b miteinander vereinigen, um den lokalen Bereich 105g zu bilden, der eine Seitenhälfte eines Quadranten des Referenzbilds 104 ist. Ferner kann, wie es gezeigt ist, das Bildabgleichsystem 100 die lokalen Bereich 105n und 105o vereinigen, um den lokalen Bereich 105r zu bilden, der eine obere Hälfte eines Quadranten des Referenzbilds 104 ist. Entsprechend kann das Bildabgleichsystem 100 die lokalen Bereiche 105p und 105q vereinigen, um den lokalen Bereich 105s zu bilden, der eine untere Hälfte eines Quadranten des Referenzbilds 104 ist. Darüber hinaus kann, wie es gezeigt ist, das Bildabgleichsystem 100 die lokalen Bereiche 105h, 105i, 105j und 105k nicht vereinigen, da die lokalen Bereiche 105h, 105i, 105j nd 105k die Schwellenanzahl von Merkmalspunkten 108 ohne Vereinigen umfassen. In einigen Ausführungsformen kann das Bildabgleichsystem 100 ein stabileres (z.B. ein leistungsfähigeres) Bewegungsmodell auf vereinigte lokale Bereiche anwenden, die signifikant mehr als die Schwellenanzahl von erfassten Merkmalspunkten 108 umfasst. Demgemäß kann das Bildabgleichsystem 100 maßschneidern, wie Homographiemodelle auf das Referenzbild 104 auf der Basis dessen angewandt werden, wo sich die Merkmalspunkte 108 (z.B. Konzentrationen von Merkmalspunkten 108) innerhalb des Referenzbilds 104 befinden. Als Ergebnis ist das Bildabgleichsystem 100 verglichen mit herkömmlichen Bildsystemen, die bekannte verbundene Optimierungsverfahren nutzen, rechenmäßig effizienter und führt zu veränderten Bildern (d.h., dem neuen ausgerichteten Bild 116) mit einem geringeren Restabgleichfehler.With reference to the 5 and 6 together, the image matching system 100 may be individualized in view of the foregoing, such as the image matching system 100 a homography gesture model on each area of the reference image 104 applies. In particular, as in the embodiment in the 5 shown is the image matching system 100 the local areas 105c . 105d . 105 and 105f up to the quadrant hierarchy level (eg the second hierarchy level) to the local area 105m form so that the threshold number of feature points 108 is included. In addition, the image matching system 100 the local areas 105a and 105b join together to the local area 105g to form one half of a quadrant of the reference image 104 is. Further, as shown, the image matching system 100 may be the local area 105n and 105o unite to the local area 105r to form an upper half of a quadrant of the reference image 104 is. Accordingly, the image matching system 100 the local areas 105p and 105q unite to the local area 105s to form a lower half of a quadrant of the reference image 104 is. In addition, as shown, the image matching system 100 the local areas 105h , 105i, 105j and 105k do not unite since the local areas 105h . 105i . 105j nd 105k the threshold number of feature points 108 Include without unification. In some embodiments, the image matching system may 100 apply a more stable (eg, more powerful) motion model to unified local areas that is significantly more than the threshold number of feature points detected 108 includes. Accordingly, the image matching system 100 tailor how homography models are applied to the reference image 104 on the basis of where the feature points 108 (eg concentrations of feature points 108 ) within the reference image 104 are located. As a result, the image matching system 100 Compared to conventional image systems using known related optimization techniques, computationally more efficiently results in altered images (ie, the new aligned image 116 ) with a lower balance adjustment error.

Beispielsweise zeigt die 7 einen Vergleich des Restabgleichfehlers, der durch Nutzen einer allgemeinen (d.h. einzelnen) Homographie und durch Nutzen von lokalen Homographien erzeugt wird, die gemäß den Hierarchieniveaus vereinigt werden, die vorstehend in Bezug auf die 5 und 6 beschrieben sind. Der Restabgleichfehler (d.h., Fehler beim Abgleichen/Verändern von Bildern), der durch die herkömmlichen Systeme erzeugt wird, und das Bildabgleichsystem 100 sind in den Kästen 702 bzw. 704 in grau und/oder schwarz gezeigt. Wie es gezeigt ist, erzeugten herkömmliche Bildsysteme signifikant mehr Ausrichtungsfehler als das Bildabgleichsystem 100 der vorliegenden Offenbarung.For example, the shows 7 a comparison of the residual alignment error produced by using a general (ie, single) homography and using local homographies pooled according to the hierarchy levels described above with respect to FIG 5 and 6 are described. The balance adjustment error (ie, error in adjusting / changing images) generated by the conventional systems and the image matching system 100 are in the boxes 702 respectively. 704 shown in gray and / or black. As shown, conventional image systems produced significantly more alignment errors than the image matching system 100 of the present disclosure.

Obwohl die vorstehend bezüglich der 5 bis 7 beschriebenen Vorgänge bzw. Verfahren in Bezug auf das Referenzbild 104 beschrieben sind, ist klar, dass dieselben Vorgänge bzw. Verfahren in Bezug auf das nachfolgende Bild 106 durchgeführt werden können. Darüber hinaus können in einer oder mehreren Ausführungsform(en) die Aktionen, die bezüglich der 5 bis 7 gezeigt und beschrieben sind, als Schritt für die Bestimmung einer Homographie für jeden lokalen Bereich 105 der Mehrzahl von lokalen Bereichen 105 ausgeführt werden.Although the above regarding the 5 to 7 described processes or procedures with respect to the reference image 104 It is clear that the same processes or procedures in relation to the following image 106 can be performed. Moreover, in one or more embodiments, the actions related to the 5 to 7 are shown and described as a step for determining a homography for each local area 105 the majority of local areas 105 be executed.

Wie es vorstehend kurz diskutiert worden ist, werden die Grenzen zwischen transformierten lokalen Bereichen des veränderten Bilds bezüglich der 8A bis 10 detaillierter beschrieben. Beispielsweise zeigt die 8A eine Bildverformung 802 innerhalb eines neuen abgeglichenen Bilds (d.h., des neuen abgeglichenen Bilds 116), die durch eine uneinheitliche Positionsbewegungsveränderung verursacht werden kann (z.B. wenn benachbarte Homographien verschiedene (z.B. signifikant verschiedene) Homographieflüsse aufweisen). Die 8B zeigt das neu abgeglichene Bild nach dem Einstellen der Grenzen zwischen transformierten lokalen Bereichen durch das Bildabgleichsystem 100. In einer oder mehreren Ausführngsform(en) können, da die Homographien der lokalen Bereiche unabhängig bestimmt werden, wie es vorstehend bezüglich der 5 bis 7 beschrieben ist, die Homographien (d.h., die abgeschätzte Bewegung) um Grenzen der lokalen Bereiche uneinheitlich sein. Als Ergebnis kann ein Bild (d.h., das neueste abgeglichene Bild 116), das aus den Homographien erzeugt worden ist, an den Grenzen der lokalen Bereiche uneinheitlich sein. In einigen Ausführungsformen vermindert und/oder beseitigt das Bildabgleichsystem 100 Uneinheitlichkeiten in dem veränderten Bild durch Verfeinern von Eckpunkten der transformierten lokalen Bereiche. In zusätzlichen Ausführungsformen vermindert und/oder beseitigt das Bildabgleichsystem 100 Uneinheitlichkeiten in dem veränderten Bild durch Verfeinern der gemeinsamen Grenzen der transformierten lokalen Bereiche. Jedes des Vorstehenden wird nachstehend detaillierter beschrieben.As briefly discussed above, the boundaries between transformed local areas of the altered image with respect to the 8A to 10 described in more detail. For example, the shows 8A an image deformation 802 within a new reconciled image (ie, the new reconciled image 116 ), which may be caused by a nonuniform change in positional motion (eg, when adjacent homographies have different (eg, significantly different) homographic fluxes). The 8B shows the re-adjusted image after adjusting the boundaries between transformed local areas by the image matching system 100 , In one or more embodiments, since the homographies of the local regions are independently determined, as described above with respect to FIG 5 to 7 described, the homographies (ie, the estimated motion) to be uneven around boundaries of the local areas. As a result, an image (ie, the most recent matched image 116 ), which has been generated from the homographies, be uneven at the boundaries of the local areas. In some Embodiments reduces and / or eliminates the image matching system 100 Inconsistencies in the altered image by refining vertices of the transformed local regions. In additional embodiments, the image matching system reduces and / or eliminates 100 Inconsistencies in the altered image by refining the common boundaries of the transformed local areas. Each of the above will be described in more detail below.

Wie es vorstehend angegeben worden ist, verfeinert das Bildabgleichsystem 100 Eckpunkte der transformierten lokalen Bereiche. Die 9 zeigt eine Beispielausführungsform eines ursprünglich veränderten Bilds 900 mit transformierten Eckpunkten 902a, 902b, 902c, 902d (nachstehend zusammen als „902“ bezeichnet), die nach der Transformation nicht abgeglichen sind (z.B. nicht angrenzend sind). Im Betrieb bestimmt das Bildabgleichsystem 100 nach dem ursprünglichen Transformieren der entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106 gemäß den bestimmten Homographien, ob die transformierten Eckpunkte 902 der transformierten lokalen Bereiche, die angrenzenden Eckpunkten der entsprechenden lokalen Bereich 107 des nachfolgenden Bilds 106 entsprechen, innerhalb des veränderten Bilds kontinuierlich sind. Wenn das Bildabgleichsystem 100 bestimmt, dass die transformierten Eckpunkte 902 nicht angrenzend sind, bestimmt das Bildabgleichsystem 100 die Koordinaten (z.B. die Pixelposition) jeder der transformierten Eckpunkte 902 innerhalb des ursprünglichen veränderten Bilds 900. Ferner bestimmt das Bildabgleichsystem 100 auf der Basis der Koordinaten von jedem der transformierten Eckpunkte 902 die durchschnittlichen Koordinaten 904 der transformierten Eckpunkte 902 innerhalb des ursprünglichen veränderten Bilds 900.As stated above, the image matching system refines 100 Corner points of the transformed local areas. The 9 shows an example embodiment of an originally altered image 900 with transformed vertices 902a . 902b . 902c , 902d (hereinafter collectively referred to as "902") that are not aligned after transformation (eg, not adjacent). In operation, the image adjustment system determines 100 after the original transform of the corresponding local areas 107 of the following picture 106 according to the determined homographies, whether the transformed vertices 902 the transformed local areas, the adjacent vertices of the corresponding local area 107 of the following picture 106 correspond within the altered image are continuous. When the image adjustment system 100 determines that the transformed vertices 902 are not contiguous, the image matching system determines 100 the coordinates (eg the pixel position) of each of the transformed vertices 902 within the original altered image 900 , Further, the image matching system determines 100 based on the coordinates of each of the transformed vertices 902 the average coordinates 904 the transformed vertices 902 within the original altered image 900 ,

Nach dem Bestimmen der ursprünglichen Koordinaten 904 der transformierten Eckpunkte 902 setzt das Bildabgleichsystem 100 die Koordinaten der angrenzenden Eckpunkte des nachfolgenden Bilds 106 (d.h., das Bild, das transformiert worden ist) auf die durchschnittlichen Koordinaten 904 zurück. Das Bildabgleichsystem 100 wiederholt das Verfahren, das vorstehend bezüglich der 9 beschrieben worden ist, für alle Eckpunkte der entsprechenden lokalen Bereiche 107 des nachfolgenden Bilds 106, die an einen anderen Eckpunkt angrenzt (z.B. Eckpunkten, die zwei oder mehr entsprechende lokale Bereiche 107 gemeinsam haben). Ferner wendet nach dem Zurücksetzen der Koordinaten aller Eckpunkte des nachfolgenden Bilds 106 das Bildabgleichsystem 100 das Homographiebewegungsmodell erneut auf jeden entsprechenden lokalen Bereich 107 des nachfolgenden Bilds 106 auf der Basis der zurückgesetzten Eckpunkte an (z.B. führt eine erneute Transformation durch), um das neue abgeglichene Bild 116 zu erzeugen (z.B das neu abgeglichene Bild 116), das Pixelleistung an das Referenzbild 104 angeglichen wird.After determining the original coordinates 904 the transformed vertices 902 sets the image matching system 100 the coordinates of the adjacent vertices of the following image 106 (ie, the image that has been transformed) to the average coordinates 904 back. The image matching system 100 repeats the process described above with respect to 9 has been described for all vertices of the corresponding local areas 107 of the following picture 106 that is adjacent to another vertex (eg vertices that have two or more corresponding local areas 107 have in common). It also applies after resetting the coordinates of all vertices of the subsequent image 106 the image matching system 100 the homography gesture model again on each corresponding local area 107 of the following picture 106 based on the reset vertices (eg, re-transforms) to the new matched image 116 to generate (eg the newly adjusted image 116 ), the pixel power to the reference image 104 is adjusted.

Die 10 zeigt ein partielles nachfolgendes Bild 106 mit zwei entsprechenden lokalen Bereichen 107, wobei jeder der zwei lokalen Bereiche eine vorgegebene Homographie aufweist (H1 und H2). Wie es vorstehend erwähnt worden ist, verfeinert das Bildabgleichsystem 100 zum Vermindern und/oder Beseitigen von Uneinheitlichkeiten in dem veränderten Bild die gemeinsamen Grenzen der transformierten lokalen Bereiche. Insbesondere wenn das Bildabgleichsystem 100 das nachfolgende Bild 106 auf der Basis der Mehrzahl von Homographien zum Erzeugen des neuen abgeglichenen Bilds (z.B. des neuen abgeglichenen Bilds 116 (1)) transformiert (d.h., verändert), kann das Bildabgleichsystem 100 die gemeinsamen Grenzen 1002 der entsprechenden lokalen Bereiche des nachfolgenden Bilds 106 durch Interpolieren von Homographieflussvektoren der Homographien, die nahe an den gemeinsamen Grenzen 1002 liegen, verfeinern. Beispielsweise kann das Bildabgleichsystem 100 die Transformation des nachfolgenden Bilds 106 nahe an den gemeinsamen Grenzen 1002 der entsprechenden lokalen Bereiche 107 verfeinern. Insbesondere bestimmt das Bildabgleichsystem 100 für jede Pixelposition des nachfolgenden Bilds 106 innerhalb eines vorgegebenen Abstands (d) von einer gegebenen gemeinsamen Grenze 1002 eine Mehrzahl von Bewegungsvektoren auf der Basis der vorgegebenen Homographien (H1 und H2) der entsprechenden lokalen Bereiche, welche die gegebene gemeinsame Grenze 1002 gemeinsam haben. Ferner bestimmt das Bildabgleichsystem 100 Gewichtungen von jeder der Pixelpositionen innerhalb des vorgegebenen Abstands (d). Insbesondere sind für eine gegebene Pixelposition (P1) deren Gewichtungen umgekehrt proportional zu Abständen (w1 und w2) der gegebenen Pixelposition von jeweiligen Mitten 1004 und 1006 von lokalen Bereichen. Darüber hinaus mittelt das Bildabgleichsystem 100 auf der Basis der bestimmten Mehrzahl von Bewegungsvektoren und der bestimmten Gewichtung der Pixelposition die Bewegungsvektoren mit der Gewichtung zum Bestimmen eines neuen Homographieflussvektors (HP) der Pixelposition (P1). Beispielsweise kann der neue Homographieflussvektors (HP) der Pixelposition (P1) wie folgt festgelegt werden: H P = w 1 × P 1 ( H 1 ) + w 2 × P 1 ( H 2 )

Figure DE102017009118A1_0019
The 10 shows a partial subsequent image 106 with two corresponding local areas 107 , wherein each of the two local areas has a predetermined homography (H 1 and H 2 ). As mentioned above, to reduce and / or eliminate inconsistencies in the altered image, the image matching system 100 refines the common boundaries of the transformed local areas. Especially if the image matching system 100 the following picture 106 on the basis of the plurality of homographies to produce the new matched image (eg, the new matched image 116 ( 1 )) (ie, changed), the image matching system 100 the common boundaries 1002 of the corresponding local areas of the subsequent image 106 by interpolating homography flow vectors of the homographies close to the common boundaries 1002 lie, refine. For example, the image matching system 100 may transform the subsequent image 106 close to the common borders 1002 the corresponding local areas 107 Refine. In particular, the image matching system determines 100 for each pixel position of the subsequent image 106 within a given distance (d) from a given common boundary 1002 a plurality of motion vectors based on the predetermined homographies (H 1 and H 2 ) of the respective local areas which correspond to the given common boundary 1002 have in common. Further, the image matching system determines 100 Weightings of each of the pixel positions within the predetermined distance (d). In particular, for a given pixel position (P 1 ), its weights are inversely proportional to distances (w 1 and w 2 ) of the given pixel position of respective centers 1004 and 1006 from local areas. In addition, the image matching system averages 100 on the basis of the determined plurality of motion vectors and the determined weighting of the pixel position, the motion vectors having the weight for determining a new homography flow vector (H P ) of the pixel position (P 1 ). For example, the new homography flow vector (H P ) of the pixel position (P 1 ) can be set as follows: H P = w 1 × P 1 ( H 1 ) + w 2 × P 1 ( H 2 )
Figure DE102017009118A1_0019

Ferner kann das Bildabgleichsystem 100 neue Homographieflussvektoren für jede der Pixelpositionen innerhalb des vorgegebenen Abstands (d) von gemeinsamen Grenzen 1002 der entsprechenden lokalen Bereiche des nachfolgenden Bilds 106 bestimmen. Auf der Basis der bestimmten neuen Homographieflussvektoren für jede der Pixelpositionen innerhalb des vorgegebenen Abstands (d) der gemeinsamen Grenzen 1002 der entsprechenden lokalen Bereiche des nachfolgenden Bilds, kann das Bildabgleichsystem 100 das nachfolgende Bild 106 verändern, so dass dass neue ausgerichtete Bild 116 (z.B. das neue ausgerichtete Bild 116) mit verfeinerten Grenzen erzeugt wird.Furthermore, the image matching system 100 new homography flow vectors for each of the pixel positions within the predetermined distance (d) of common boundaries 1002 the corresponding local areas of the following picture 106 determine. On the basis of the determined new homography flow vectors for each of the pixel positions within the predetermined distance (d) of the common boundaries 1002 the corresponding local areas of the subsequent image, the image matching system 100 the following picture 106 change, so that's new-oriented picture 116 (eg the new aligned image 116 ) is generated with refined boundaries.

Die 11 zeigt ein schematisches Diagramm einer Ausführungsform einer Beispielumgebung 1100, in dem das Bildabgleichsystem 100 betrieben werden kann. In einer oder mehreren Ausführungsform(en) umfasst die Beispielumgebung 1100 eine oder mehrere Clientvorrichtung(en) 1102, ein Netzwerk 1106 und (einen) Server 1104. Die Clientvorrichtung 1102 und der oder die Server 1104 stehen mit dem Netzwerk 1106 in Verbindung. Das Netzwerk 1106 kann jedwedes geeignete Netzwerk sein, über das die Rechenvorrichtungen kommunizieren können. Beispiele für Netzwerke werden unter Bezugnahme auf die 17 detaillierter diskutiert. Obwohl die 11 eine spezielle Anordnung der Clientvorrichtung 1102, des Servers 1104 und des Netzwerks 1106 zeigt, sind verschiedene zusätzliche Anwendungen möglich. Beispielsweise kann der Server 1104 direkt mit der Clientvorrichtung 1102 kommunizieren, wobei das Netzwerk 1106 umgangen wird.The 11 shows a schematic diagram of an embodiment of an example environment 1100 in which the image matching system 100 can be operated. In one or more embodiments, the example environment includes 1100 one or more client device (s) 1102 , a network 1106 and (a) server 1104 , The client device 1102 and the server (s) 1104 stand with the network 1106 in connection. The network 1106 may be any suitable network over which the computing devices can communicate. Examples of networks are given with reference to 17 discussed in more detail. Although the 11 a special arrangement of the client device 1102 , the server 1104 and the network 1106 shows, several additional applications are possible. For example, the server 1104 directly with the client device 1102 communicate, being the network 1106 is bypassed.

Sowohl die Clientvorrichtung 1102 als auch der Server 1104 können verschiedene Typen von Rechenvorrichtungen darstellen, mit denen der Nutzer interagieren kann. Beispielsweise kann die Clientvorrichtung 1102 eine mobile Vorrichtung sein (z.B. ein Mobiltelefon, ein Smartphone, ein PDA, ein Tablet, ein Laptop, eine Uhr, eine tragbare Vorrichtung, usw.). In einigen Ausführungsformen kann die Clientvorrichtung 1102 jedoch eine nicht-mobile Vorrichtung sein (z.B. ein Desktop oder ein Server). Darüber hinaus kann der Server 1104 jedweder Typ von Serverrechenvorrichtung sein. In einer oder mehreren Ausführungsform(en) arbeitet das Bildabgleichsystem 100 auf der Clientvorrichtung 102. Demgemäß kann das Bildabgleichsystem 100 entweder einen Online- oder Offline-Arbeitsablauf gemäß den nachstehend beschriebenen Prinzipien durchführen. Ferner umfasst die Clientvorrichtung 1102 eine Bildaufnahmevorrichtung 102, die dem Bildabgleichsystem 100 Serienbilder zuführen kann. In alternativen Ausführungsformen kann, wie es gezeigt ist, das Bildabgleichsystem 100 auf dem oder den Server(n) 1104 betrieben werden. Zusätzliche Details bezüglich der Clientvorrichtung 1102 und des Servers 1104 werden nachstehend bezüglich der 17 diskutiert.Both the client device 1102 as well as the server 1104 may represent various types of computing devices that the user may interact with. For example, the client device 1102 a mobile device (eg, a mobile phone, a smartphone, a PDA, a tablet, a laptop, a watch, a portable device, etc.). In some embodiments, the client device may 1102 however, be a non-mobile device (eg, a desktop or a server). In addition, the server can 1104 be any type of server computing device. In one or more embodiments, the image matching system operates 100 on the client device 102 , Accordingly, the image matching system 100 either perform an online or offline workflow according to the principles described below. Furthermore, the client device comprises 1102 an image pickup device 102 that the image matching system 100 Can take continuous pictures. In alternative embodiments, as shown, the image matching system 100 on the server (s) 1104 are operated. Additional details regarding the client device 1102 and the server 1104 will be discussed below with regard to 17 discussed.

Wie es vorstehend angegeben ist, kann der oder können die Server 1104 das gesamte Bildabgleichsystem 100 oder einen Teil davon umfassen. Insbesondere kann das Bildabgleichsystem 100 eine Anwendung, die auf dem oder den Server(n) 114 läuft oder einen Teil einer Softwareanwendungen umfassen, die von dem oder den Server(n) 1104 heruntergeladen werden kann. Beispielsweise kann das Bildabgleichsystem 100 eine Webhostinganwendung umfassen, die es den Clientvorrichtungen 1102 ermöglicht, mit einem Inhalt zu interagieren, der auf dem oder den Server(n9 1104 gehostet ist. Beispielsweise kann in einer oder mehreren Ausführungsform(en) der Beispielumgebung 1100 die Clientvorrichtung 1102 auf eine Webpage zugreifen, die durch den oder die Server 1104 unterstützt wird. Insbesondere kann die Clientvorrichtung 1102 eine Anwendung betreiben, die es einem Anwender ermöglicht, auf eine Webseite oder eine Website zuzugreifen, diese zu betrachten und/oder mit dieser zu interagieren, die auf dem oder den Server(n) 1104 gehostet ist.As indicated above, the server may or may not 1104 the entire image matching system 100 or part of it. In particular, the image matching system 100 an application running on the server (s) 114 or comprising part of a software application that may be downloaded from the server (s) 1104. For example, the image matching system 100 include a web hosting application that allows the client devices 1102 allows to interact with content hosted on the server (s) 1104. For example, in one or more embodiments of the example environment 1100 the client device 1102 to access a webpage provided by the server (s) 1104 is supported. In particular, the client device 1102 run an application that allows a user to access, view, and / or interact with a web page or web site hosted on the server (s) 1104.

In einer oder mehreren Ausführungsform(en) umfasst oder umfassen der oder die Server 1104 ein Bildbearbeitungssystem, einschließlich unter anderem ADOBE® PHOTOSHOP®-Software, ADOBE® INDESIGN® oder ADOBE® LIGHTROOM®-Software. Das Bildbearbeitungssystem kann auf das Bildabgleichsystem 100 zugreifen oder dieses umfassen.In one or more embodiments, the server (s) includes or includes 1104 an image processing system, including but not limited ADOBE PHOTOSHOP ® ® software, ADOBE ® INDESIGN ® or Adobe ® Lightroom ® software. The image processing system may rely on the image matching system 100 access or include this.

Entsprechend kann, obwohl die Umgebung 1100 von 11 so gezeigt ist, dass sie verschiedenen Komponenten aufweist, kann die Umgebung 1100 zusätzliche oder alternative Ausführungsformen aufweisen. Beispielsweise kann das Bildabgleichsystem 100 auf einer einzelnen Rechenvorrichtung implementiert werden. Insbesondere kann das Bildabgleichsystem 100 als Ganzes durch die Clientvorrichtung 1102 implementiert werden oder das Bildabgleichsystem 100 kann als Ganzes durch den oder die Server 1104 implementiert werden. Alternativ kann das Bildabgleichsystem 100 über mehrere Vorrichtungen oder Komponenten implementiert werden (z.B. mittels der Clientvorrichtung 1102 und den oder die Server 1104).Accordingly, although the environment 1100 from 11 The environment can be shown as having different components 1100 have additional or alternative embodiments. For example, the image matching system 100 be implemented on a single computing device. In particular, the image matching system 100 as a whole by the client device 1102 be implemented or the image matching system 100 can be as a whole by the server or servers 1104 be implemented. Alternatively, the image matching system 100 be implemented over several devices or components (eg by means of the client device 1102 and the server (s) 1104 ).

Beispielsweise kann die Clientvorrichtung 1102 in einer oder mehreren Ausführungsform(en) eine Anfrage an den oder die Server 1104 zum Abgleichen eines Bilds von einer Mehrzahl von Serienbildern senden. Der oder die Server 1104 kann oder können der Clientvorrichtung 1102 einen Zugang zu dem Bildabgleichsystem 100 bereitstellen. Als Reaktion auf die Anfrage kann das Bildabgleichsystem 100 das neue abgeglichene Bild 116 (z.B. das neue abgeglichene Bild 116) bestimmen, wie es vorstehend bezüglich der 1 bis 10 diskutiert worden ist, und der oder die Server 1104 kann oder können das neue abgeglichene Bild 116 zu der Clientvorrichtung 1102 senden.For example, the client device 1102 in one or more embodiments, a request to the server (s) 1104 for matching an image of a plurality of burst images. The server or servers 1104 may or may be the client device 1102 an access to the image matching system 100 provide. In response to the request, the image matching system 100 the new balanced image 116 (eg the new matched image 116 ), as stated above with respect to 1 to 10 has been discussed, and the server (s) 1104 can or can the new matched image 116 to the client device 1102 send.

Die 12 zeigt ein Flussdiagramm eines Beispielverfahrens 1200 zum Erzeugen eines neuen abgeglichenen Bilds 116 aus einer Mehrzahl von Serienbildern. Das Verfahren 1200 kann durch das vorstehend beschriebene Bildabgleichsystem 100 implementiert werden. Das Verfahren 1200 umfasst einen Vorgang 1210 des Unterteilens eines Referenzbilds 104 und eines nachfolgenden Bilds 106 in einer Mehrzahl von lokalen Bereichen. Zusätzlich kann der Vorgang 1210 das Unterteilen des Referenzbilds 104 in mindestens vier lokale Bereiche und des nachfolgenden Bilds 106 in mindestens vier entsprechende lokale Bereiche. Ferner kann der Vorgang 1210 das Unterteilen des Referenzbilds 104 und des nachfolgenden Bilds 106 mittels eines räumlichen 2 x 2-Gitters umfassen. Ferner kann der Vorgang 1210 das Unterteilen des Referenzbilds 104 und des nachfolgenden Bilds 106 mittels eines räumlichen 4 x 4-Gitters umfassen. Darüber hinaus kann der Vorgang 1210 jedwede der in Bezug auf die 5 und 6 beschriebenen Vorgänge umfassen. The 12 shows a flowchart of an example method 1200 to create a new matched image 116 from a plurality of series images. The procedure 1200 can by the image matching system described above 100 be implemented. The procedure 1200 includes a process 1210 subdividing a reference image 104 and a subsequent image 106 in a plurality of local areas. In addition, the process can 1210 the subdivision of the reference image 104 in at least four local areas and the following image 106 in at least four corresponding local areas. Furthermore, the process can 1210 the subdivision of the reference image 104 and the following picture 106 by means of a 2 × 2 spatial grid. Furthermore, the process can 1210 the subdivision of the reference image 104 and the following picture 106 by means of a 4 × 4 spatial grid. In addition, the process can 1210 any of those in relation to the 5 and 6 include operations described.

Das Verfahren 1200 kann ferner einen Vorgang 1220 des Erfassens von Merkmalspunkten 108 innerhalb des Referenzbilds 104 und des nachfolgenden Bilds 106 umfassen. Insbesondere kann der Vorgang 1220 das Erfassen einer Mehrzahl von Merkmalspunkten 108 in jedem der lokalen Bereiche der Mehrzahl von lokalen Bereichen sowohl des Referenzbilds 104 als auch des nachfolgenden Bilds 106 umfassen. In manchen Fällen kann der Vorgang 1220 das Erfassen einer Mehrzahl von Merkmalspunkten 108 mittels eines ausgerichteten FAST- und gedrehten BRIEF-Merkmalspunktdetektors und -deskriptors zum Erfassen der Mehrzahl von Merkmalspunkten 108 umfassen. Ferner kann der Vorgang 1220 das Erfassen von besten 100 Merkmalspunkten mit den höchsten Vertrauenswerten von jedem der lokalen Bereiche der Mehrzahl von lokalen Bereichen umfassen. Darüber hinaus kann der Vorgang 1200 jedwede der vorstehend beschriebenen Aktionen in Bezug auf FI umfassen.The procedure 1200 may also be a process 1220 of detecting feature points 108 within the reference image 104 and the following picture 106 include. In particular, the process can 1220 the detection of a plurality of feature points 108 in each of the local areas of the plurality of local areas of both the reference image 104 as well as the following picture 106 include. In some cases, the process can 1220 the detection of a plurality of feature points 108 by means of an aligned FAST and rotated MAIL feature point detector and descriptor for detecting the plurality of feature points 108 include. Further, act 1220 may include capturing best 100 feature points with the highest confidence values of each of the local regions of the plurality of local regions. In addition, the process can 1200 include any of the actions described above with respect to FI.

Zusätzlich umfasst das Verfahren 1200 einen Vorgang 1230 des Bestimmens von abgeglichenen Paaren 112 von Merkmalspunkten 108. Insbesondere kann der Vorgang 1230 das Bestimmen von abgeglichenen Paaren 112 von Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 umfassen. In manchen Ausführungsformen kann der Vorgang 1230 Merkmalspunkte, die einander am ähnlichsten sind, mindestens teilweise auf der Basis eines Hamming-Abstands zwischen den Merkmalsdeskriptoren 110 der Merkmalspunkte 108 bestimmen. Zusätzlich kann der Vorgang 1230 jedwede der vorstehend beschriebenen Aktionen umfassen, die bezüglich der 2 bis 4 beschrieben worden sind.In addition, the process includes 1200 a process 1230 determining matched pairs 112 of feature points 108 , In particular, act 1230 may include determining matched pairs 112 of feature points 108 between the reference picture 104 and the following picture 106 include. In some embodiments, the process may 1230 Feature points that are most similar to one another, based at least in part on a Hamming distance between the feature descriptors 110 the feature points 108 determine. In addition, the process can 1230 include any of the actions described above relating to 2 to 4 have been described.

Darüber hinaus umfasst das Verfahren 1200 einen Vorgang 1240 des Bestimmens von mindestens einer Homograpie des Referenzbilds 104 und des nachfolgende Bilds 106. Beispielsweise kann der Vorgang 1240 auf der Basis der abgeglichenen Paare 112 von Merkmalspunkten 108 das Durchführen eines Schritts zum Bestimmen einer Homographie für jeden lokalen Breich der Mehrzahl von lokalen Bereichen umfassen, wobei die Homographie von jedem lokalen Bereich Merkmalspunkte 108 von einem lokalen Bereich des Referenzbilds 104 einem entsprechenden lokalen Bereich des nachfolgenden Bilds 106 zuordnet. Zusätzlich kann der Vorgang 1240 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die Schritte in den 5 und 6 beschrieben worden sind.In addition, the procedure includes 1200 a process 1240 determining at least one homography of the reference image 104 and the following picture 106 , For example, the process can 1240 based on the matched pairs 112 of feature points 108 performing a step of determining a homography for each local region of the plurality of local regions, wherein the homography of each local region comprises feature points 108 from a local area of the reference image 104 to a corresponding local area of the subsequent image 106 assigns. In addition, the process can 1240 include any of the actions described above in relation to the steps in the 5 and 6 have been described.

Ferner umfasst das Verfahren 1200 einen Vorgang 1250 des Veränderns des nachfolgenden Bilds 106. Beispielsweise kann der Vorgang 1250 das Verändern des nachfolgenden Bilds 106 auf der Basis der Homographie jedes lokalen Bereichs der Mehrzahl von lokalen Bereichen zum Erzeugen eines neuen abgeglichenen Bilds 116 umfassen, das Pixelwerte mit dem Referenzbild 104 abgeglichen ist.Furthermore, the method comprises 1200 a process 1250 changing the subsequent image 106 , For example, the process can 1250 changing the subsequent image 106 based on the homography of each local area of the plurality of local areas to produce a new adjusted image 116 include the pixel values with the reference image 104 is balanced.

In einigen Ausführungsformen kann das Verfahren 1200 auch einen Vorgang des Bestimmens eines Merkmalsdeskriptors 110 für jeden Merkmalspunkt der Mehrzahl von Merkmalspunkten 108 umfassen. Zusätzlich kann das Verfahren 1200 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die Schritte in den 1 bis 10 beschrieben worden sind.In some embodiments, the method 1200 also an operation of determining a feature descriptor 110 for each feature point of the plurality of feature points 108 include. In addition, the process can 1200 include any of the actions described above in relation to the steps in the 1 to 10 have been described.

Die 13 zeigt ein Flussdiagramm eines Beispielverfahrens 1300 zum Erzeugen eines neuen ausgerichteten Bilds 116 aus einer Mehrzahl von Serienbildern. Das Verfahren 1300 kann durch das vorstehend beschriebene Bildabgleichsystem 100 implementiert werden. Das Verfahren 1300 umfasst einen Vorgang 1310 des Erfassens von Merkmalspunkten 108 innerhalb eines Referenzbilds 104 und eines nachfolgenden Bilds 106 und von jeweiligen Merkmalsdeskriptoren 110. Beispielsweise kann der Vorgang 1310 das Erfassen einer Mehrzahl von Merkmalspunkten 108 sowohl in dem Referenzbild 104 als auch in dem nachfolgenden Bild 106 umfassen.The 13 shows a flowchart of an example method 1300 to create a new aligned image 116 from a plurality of series images. The procedure 1300 can by the image matching system described above 100 be implemented. The procedure 1300 includes a process 1310 detecting feature points 108 within a reference image 104 and a subsequent picture 106 and respective feature descriptors 110 , For example, the process can 1310 the detection of a plurality of feature points 108 both in the reference picture 104 as well as in the following picture 106 include.

Das Verfahren 1300 umfasst auch einen Vorgang 1320 des Bestimmens eines Merkmalsdeskriptors für jeden Merkmalspunkt. Beispielsweise kann der Vorgang 1320 das Analysieren der erfassten Merkmalspunkte und das Erzeugen eines Deskriptorvektors für jeden erfassten Merkmalspunkt umfassen, der Intensitätsinformationen, Pixelpositionsinformationen und Informationen bezüglich der lokalen Nachbarschaft in Bezug auf den jeweiligen Merkmalspunkt kodiert.The procedure 1300 also includes a process 1320 determining a feature descriptor for each feature point. For example, the process can 1320 comprising analyzing the detected feature points and generating a descriptor vector for each detected feature point, the Intensity information, pixel position information and information on the local neighborhood with respect to the respective feature point encoded.

Zusätzlich umfasst das Verfahren 1300 einen Vorgang 1330 des Bestimmens von Paaren von abgeglichenen Merkmalspunkten 108. Beispielsweise kann der Vorgang 1330 auf der Basis des Merkmalsdeskriptors 110 von jeden Merkmalspunkten 108 das Bestimmen von abgeglichenen Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 umfassen. Ferner kann der Vorgang 1330 auch das Bestimmen, aus dem Satz von potenziell abgestimmtes Merkmalspunkten, eines durchschnittlichen Verschiebungsvektors aus der Pixelposition des gegebenen Merkmalspunkts und Filtern, von dem Satz von potenziell abgeglichenen Merkmalspunkten 108, von Merkmalspunkten mit einer Verschiebung umfassen, die von dem durchschnittlichen Verschiebungsvektor um mehr als eine vorgegebene Anzahl von Pixeln abweicht. Zusätzlich kann der Vorgang 1330 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 4 beschrieben worden sind.In addition, the process includes 1300 a process 1330 determining pairs of matched feature points 108 , For example, the process can 1330 based on the feature descriptor 110 from every feature point 108 determining matched feature points 108 between the reference picture 104 and the following picture 106 include. Furthermore, the process can 1330 also determining, from the set of potentially matched feature points, an average displacement vector from the pixel location of the given feature point and filters, from the set of potentially matched feature points 108 , feature points having a shift that deviates from the average displacement vector by more than a predetermined number of pixels. In addition, the process can 1330 include any of the actions described above in relation to 4 have been described.

Zusätzlich kann der Vorgang 1330 das Vorhersagen einer Pixelposition eines gegebenen Merkmals umfassen. Insbesondere kann der Vorgang 1330 das Vorhersagen für einen gegebenen Merkmalspunkt mit einer Pixelposition in dem Referenzbild 104 einer entsprechenden Pixelposition in dem nachfolgenden Bild 106 umfassen. Ferner kann der Vorgang 1330 in einigen Ausführungsformen einen Satz von potenziell abgeglichenen Merkmalspunkten 108 identifizieren. Beispielsweise kann der Vorgang 1330 das Vergleichen eines Merkmalsdeskriptors des gegebenen Merkmalspunkts mit Merkmalsdeskriptoren 110 von Merkmalspunkten 108 mit einer Pixelposition innerhalb einer vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition in dem nachfolgenden Bild 106 umfassen, um einen Satz von potenziell abgeglichenen Merkmalspunkten 108 zu identifizieren. Ferner kann der Vorgang 1330 auch das Sortieren von Merkmalspunkten 108 innerhalb der vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition gemäß Ähnlichkeiten der Merkmalspunkte mit dem gegebenen Merkmalspunkt und Filtern, von den sortierten Merkmalspunkten 108, aller bis auf eine vorgegebene Anzahl von am stärksten ähnlichen Merkmalspunkten 108 umfassen. Zusätzlich kann der Vorgang 1330 das Filtern, von den sortierten Merkmalspunkten 108, aller bis auf drei am stärksten ähnlichen Merkmalspunkten 108 und/oder das Sortieren der Merkmalspunkte 108 gemäß eines Hamming-Abstands zwischen den Merkmalsdeskriptoren 110 der Merkmalspunkte 108 und dem Merkmalsdeskriptor des gegebenen Merkmalspunkts umfassen.In addition, the process can 1330 predicting a pixel position of a given feature. In particular, the process can 1330 predicting for a given feature point a pixel position in the reference image 104 a corresponding pixel position in the subsequent image 106 include. Furthermore, the process can 1330 in some embodiments, a set of potentially matched feature points 108 identify. For example, the process can 1330 comparing a feature descriptor of the given feature point with feature descriptors 110 of feature points 108 with a pixel position within a predetermined number of pixels of the predicted corresponding pixel position in the subsequent image 106 include a set of potentially matched feature points 108 to identify. Furthermore, the process can 1330 also the sorting of feature points 108 within the predetermined number of pixels of the predicted corresponding pixel position, according to similarities of the feature points with the given feature point and filters, from the sorted feature points 108 , all but a predetermined number of most similar feature points 108 include. In addition, the process can 1330 the filtering, from the sorted feature points 108 , all but three of the most similar feature points 108 and / or sorting the feature points 108 according to a Hamming distance between the feature descriptors 110 the feature points 108 and the feature descriptor of the given feature point.

Zusätzlich kann der Vorgang 1330 in einigen Ausführungsformen das Filtern von Merkmalspunkten 108 von dem Satz von potenzielle abgeglichenen Merkmalspunkten 108 umfassen. Beispielsweise kann der Vorgang 1330 das Filtern, von dem Satz von potenziell abgeglichenen Merkmalspunkten 108, von jedweden Merkmalspunkten innerhalb der vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition in dem nachfolgenden Bild 106 mit einem Deskriptorabstand oberhalb eines Schwellenabstands von dem gegebenen Merkmalspunkt umfassen. Entsprechend kann der Vorgang 1330 das Auswählen eines abgeglichenen Merkmalspunkts umfassen. Insbesondere kann der Vorgang 1360 das Auswählen eines abgeglichenen Merkmalspunkts aus dem Satz von potenziell abgeglichenen Merkmalspunkten 108 mit der höchsten Ähnlichkeitsbewertung als Abgleich mit dem gegebenen Merkmalspunkt umfassen.In addition, the process can 1330 in some embodiments, filtering feature points 108 from the set of potential matched feature points 108 include. For example, the process can 1330 filtering, from the set of potentially matched feature points 108 from any feature points within the predetermined number of pixels of the predicted corresponding pixel position in the subsequent image 106 with a descriptor distance above a threshold distance from the given feature point. Accordingly, the process can 1330 selecting a matched feature point. In particular, act 1360 may include selecting a matched feature point from the set of potentially matched feature points 108 with the highest similarity score as matching with the given feature point.

Das Verfahren 1300 kann ferner einen Vorgang 1340 des Bestimmens einer Homographie des Referenzbilds 104 zu dem nachfolgenden Bild 106 umfassen. Beispielsweise kann der Vorgang 1340 das Bestimmen mindestens einer Homographie umfassen, die abgeglichene Merkmalspunkt 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 zuordnet. Zusätzlich kann der Vorgang 1340 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 5 und 6 beschrieben sind.The procedure 1300 may also be a process 1340 determining a homography of the reference image 104 to the following picture 106 include. For example, the process can 1340 determining at least one homography, the matched feature point 108 between the reference picture 104 and the subsequent image 106. In addition, the process can 1340 include any of the actions described above in relation to 5 and 6 are described.

Entsprechend kann das Verfahren 1300 einen Vorgang 1350 des Veränderns des Referenzbilds 104 umfassen. Beispielsweise kann der Vorgang 1350 das Verändern des nachfolgenden Bilds 106 auf der Basis der mindestens einen Homographie zum Erzeugen eines neuen abgeglichenen Bilds 116 umfassen, das Pixelleistung mit dem Referenzbild 104 abgeglichen ist.Accordingly, the method 1300 a process 1350 changing the reference image 104 include. For example, the process can 1350 changing the subsequent image 106 based on the at least one homography for generating a new adjusted image 116 include the pixel performance with the reference image 104 is balanced.

Die 14 zeigt ein Flussdiagramm eines Beispielverfahrens 1400 zum Erzeugen eines neuen abgeglichenen Bilds 116 aus einer Mehrzahl von Serienbildern. Das Verfahren 1400 kann durch das vorstehend beschriebene Bildabgleichsystem 100 implementiert werden. Das Verfahren 1400 umfasst einen Vorgang 1410 des Unterteilens eines Referenzbilds 104 und eines nachfolgenden Bilds 106. Beispielsweise kann der Vorgang 1410 das Unterteilen eines Referenzbilds 104 in eine Mehrzahl von lokalen Bereichen und eines nachfolgenden Bilds 106 in eine Mehrzahl von entsprechenden lokalen Bereichen umfassen. In einigen Fällen kann der Vorgang 1410 das Unterteilen des Referenzbilds 104 in mindestens vier lokale Bereiche und das Unterteilens des nachfolgenden Bilds 106 in mindestens vier entsprechende lokale Bereiche umfassen. Zusätzlich kann der Vorgang 1410 das Unterteilen des Referenzbilds 104 und des nachfolgenden Bilds 106 mittels eines räumlichen 2 x 2-Gitters und/oder das Unterteilen des Referenzbilds 104 und des nachfolgenden Bilds 106 mittels eines räumlichen 4 x 4-Gitters umfassen. Zusätzlich kann der Vorgang 1410 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 5 und 6 beschrieben sind.The 14 shows a flowchart of an example method 1400 to create a new matched image 116 from a plurality of series images. The procedure 1400 can by the image matching system described above 100 be implemented. The procedure 1400 includes a process 1410 subdividing a reference image 104 and a subsequent image 106 , For example can the process 1410 subdividing a reference image 104 in a plurality of local areas and a subsequent image 106 into a plurality of corresponding local areas. In some cases, the process can 1410 the subdivision of the reference image 104 into at least four local areas and dividing the subsequent image 106 in at least four corresponding local areas. In addition, the process can 1410 the subdivision of the reference image 104 and the following picture 106 by means of a spatial 2 x 2 grid and / or the subdivision of the reference image 104 and the following picture 106 by means of a 4 × 4 spatial grid. In addition, the process can 1410 include any of the actions described above in relation to 5 and 6 are described.

Das Verfahren 1400 umfasst ferner einen Vorgang 1420 des Erfassens von Merkmalspunkten 108 sowohl in dem Referenzbild 104 als auch in dem nachfolgenden Bild 106. Beispielsweise kann der Vorgang 1420 das Erfassen einer Mehrzahl von Merkmalspunkten 108 in jedem der lokalen Bereiche der Mehrzahl von lokalen Bereichen des Referenzbilds 104 und in jedem der entsprechenden lokalen Bereiche der Mehrzahl der entsprechenden lokalen Bereiche des nachfolgenden Bilds 106 umfassen. Zusätzlich kann der Vorgang 1420 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 2 und 3 beschrieben sind.The procedure 1400 also includes a process 1420 of detecting feature points 108 both in the reference picture 104 as well as in the following picture 106 , For example, the process can 1420 the detection of a plurality of feature points 108 in each of the local areas of the plurality of local areas of the reference image 104 and in each of the respective local areas of the plurality of corresponding local areas of the subsequent image 106 include. In addition, the process can 1420 include any of the actions described above in relation to 2 and 3 are described.

Zusätzlich umfasst das Verfahren 1400 einen Vorgang 1430 des Bestimmens von abgestimmten Merkmalspunkten 108. Insbesondere kann der Vorgang 1430 das Bestimmen von abgestimmten Merkmalspunkten 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 umfassen. In einigen Ausführungsformen kann der Vorgang 1430 das Bestimmen von Merkmalspunkten, die einander am ähnlichsten sind, mindestens teilweise auf der Basis eines Hamming-Abstands zwischen den Merkmalsdeskriptoren 110 der Merkmalspunkte 108 umfassen. Zusätzlich kann der Vorgang 1430 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 2 bis 4 beschrieben sind.In addition, the process includes 1400 a process 1430 determining matched feature points 108 , In particular, the process can 1430 determining matched feature points 108 between the reference picture 104 and the following picture 106 include. In some embodiments, the process may 1430 determining feature points that are most similar to each other based, at least in part, on a Hamming distance between the feature descriptors 110 the feature points 108 include. In addition, the process can 1430 include any of the actions described above in relation to 2 to 4 are described.

Ferner umfasst das Verfahren 1400 einen Vorgang 1440 des Vereinigens von lokalen Bereichen, die keine Schwellenanzahl von Merkmalspunkten umfassen. Zusätzlich kann der Vorgang 1440 das Bestimmen umfassen, ob jeder lokale Bereich der Mehrzahl von lokalen Bereichen des Referenzbilds 104 mindestens eine vorgegebene Anzahl von Merkmalspunkten 108 umfasst. Entsprechend kann der Vorgang 1440, wenn ein lokaler Bereich der Mehrzahl von lokalen Bereichen des Referenzbilds 104 nicht mindestens die vorgegebene Anzahl von Merkmalspunkten 108 umfasst, das Vereinigen des lokalen Bereichs mit einem zusätzlichen lokalen Bereich der Mehrzahl von lokalen Bereichen zum Bilden eines vereinigen lokalen Bereichs umfassen.Furthermore, the method comprises 1400 a process 1440 uniting local areas that do not include a threshold number of feature points. In addition, the process can 1440 determining whether each local area of the plurality of local areas of the reference image 104 includes at least a predetermined number of feature points 108. Accordingly, the process can 1440 if a local area of the plurality of local areas of the reference image 104 not at least the predetermined number of feature points 108 comprising combining the local area with an additional local area of the plurality of local areas to form a unified local area.

Ferner umfasst das Verfahren 1400 einen Vorgang 1450 des Bestimmens einer Homographie für jeden lokalen Bereich. Beispielsweise kann der Vorgang 1450 auf der Basis der abgestimmten Merkmalspunkte 108 zwischen dem Referenzbild 104 und dem nachfolgenden Bild 106 das Bestimmen einer Homographie für jeden lokalen Bereich der Mehrzahl von lokalen Bereichen des Referenzbilds 104 umfassen, wobei die Homographie jedes lokalen Bereichs Merkmalspunkte 108 von einem jeweiligen lokalen Bereich des Referenzbilds 104 einem entsprechenden lokalen Bereich des nachfolgenden Bilds 106 zuordnet. Ferner kann der Vorgang 1450, wenn ein lokaler oder vereinigter lokaler Bereich der Mehrzahl von lokalen Bereichen des Referenzbilds 104 mindestens die vorgegebene Anzahl von Merkmalspunkten 108 umfasst, das Bestimmen der Homographie des lokalen Bereichs umfassen. In einigen Ausführungsformen kann der Vorgang 1440 das Anpassen eines stabilen Homographiebewegungsmodells an den vereinigten lokalen Bereich umfassen. Zusätzlich kann der Vorgang 1440 jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 5 und 6 beschrieben sind.Furthermore, the method comprises 1400 a process 1450 determining homography for each local area. For example, the process can 1450 based on the agreed feature points 108 between the reference picture 104 and the following picture 106 determining a homography for each local area of the plurality of local areas of the reference image 104 where the homography of each local area is feature points 108 from a respective local area of the reference image 104 a corresponding local area of the following image 106 assigns. Furthermore, the process can 1450 if a local or unified local area of the plurality of local areas of the reference image 104 at least the predetermined number of feature points 108 comprising determining the homography of the local area. In some embodiments, the process may 1440 comprise adapting a stable homography motion model to the unified local area. In addition, the process can 1440 include any of the actions described above in relation to 5 and 6 are described.

Das Verfahren 1400 kann ferner einen Vorgang 1460 des Veränderns des nachfolgenden Bilds 106 umfassen. Beispielsweise kann der Vorgang 1460 das Verändern des nachfolgenden Bilds 106 auf der Basis der Homographie jedes lokalen Bereichs und vereinigten lokalen Bereichs zum Erzeugen eines neuen abgeglichenen Bilds 116 umfassen, das pixelweise mit dem Referenzbild 104 abgeglichen ist.The procedure 1400 may also be a process 1460 changing the subsequent image 106 include. For example, the process can 1460 changing the subsequent image 106 based on the homography of each local area and unified local area to produce a new matched image 116 include, pixel by pixel with the reference image 104 is balanced.

In einigen Ausführungsformen kann das Verfahren 1400 auch das Bestimmen umfassen, ob Ecken des neuen abgeglichenen Bilds 116, die angrenzenden Ecken der Mehrzahl von lokalen Bereichen des Referenzbilds 104 entsprechen, angrenzen. Wenn die Ecken des neuen abgeglichenen Bilds 116 nicht angrenzen, werden die durchschnittlichen Koordinaten 904 der nicht-angrenzenden Ecken des neuen ausgerichteten Bilds 116 bestimmt und eine Homographie von jedem der lokalen Bereiche der Mehrzahl von lokalen Bereiche des Referenzbilds 104 wird unter Verwendung der bestimmten durchschnittlichen Koordinaten 904 als Koordinaten der angrenzenden Ecken bestimmt. Ferner kann das Verfahren 1400 auf der Basis der bestimmten Homographie von jedem der lokalen Bereiche des Referenzbilds 104 und der zugehörigen Flussvektoren jedes Pixels das Interpolieren der Flussvektoren von Pixeln in der Nähe von Grenzen umfassen, die einer Mehrzahl von lokalen Bereichen der Mehrzahl von lokalen Bereichen gemeinsam sind.In some embodiments, the method 1400 also include determining whether corners of the new matched image 116 , the adjacent corners of the plurality of local areas of the reference image 104 correspond, adjoin. If the corners of the new matched image 116 do not adjoin, become the average coordinates 904 the non-contiguous corners of the new aligned image 116 and a homography of each of the local areas of the plurality of local areas of the reference image 104 is calculated using the determined average coordinates 904 determined as coordinates of the adjacent corners. Furthermore, the method can 1400 based on the determined homography of each of the local areas of the reference image 104 and the associated flow vectors of each pixel comprise interpolating the flow vectors of pixels in the vicinity of boundaries common to a plurality of local areas of the plurality of local areas.

Die 15 zeigt ein Diagramm eines Algorithmus zum Durchführen eines Schritts für 1500 zum Abstimmen von Merkmalspunkten 108 zwischen einem Referenzbild 104 und dem nachfolgenden Bild 106 gemäß einer oder mehreren Ausführungsform(en) der vorliegenden Offenbarung. Ferner kann der Schritt für 1500 jedwede der Aktionen umfassen, die nachstehend bezüglich der Kästen 1502 bis 1516 beschrieben ist. Wie es in dem Kasten 1502 gezeigt ist, umfasst der Algorithmus das Auswählen eines Merkmalspunkts in einem Referenzbild 104. Insbesondere kann das Bildabgleichsystem 100 eine Mehrzahl von Merkmalspunkten 108 in jedem des Referenzbilds 104 und das nachfolgenden Bilds 106 umfassen. Ferner kann der Algorithmus jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 2 und 3 beschrieben sind.The 15 FIG. 10 is a diagram of an algorithm for performing a step for 1500 to tune feature points 108 between a reference picture 104 and the following picture 106 in accordance with one or more embodiments of the present disclosure. Furthermore, the step for 1500 include any of the actions described below with respect to the boxes 1502 to 1516 is described. As shown in box 1502, the algorithm includes selecting a feature point in a reference image 104 , In particular, the image matching system 100 a plurality of feature points 108 in each of the reference picture 104 and the following picture 106 include. Furthermore, the algorithm may include any of the actions described above with respect to 2 and 3 are described.

Zusätzlich umfasst der Algorithmus das Vorhersagen einer entsprechenden Pixelposition eines abgestimmten Merkmalspunkts des ausgewählten Merkmalspunkts des Referenzbilds 104 in einem nachfolgenden Bild 106, wie es im Kasten 1504 gezeigt ist. Beispielsweise sagt das Bildabgleichsystem 100 für einen gegebenen Merkmalspunkt des Referenzbilds 104 mit der Pixelposition XR die Pixelposition des abgestimmten Merkmalspunkts als XR + dXR innerhalb des nachfolgenden Bilds 106, wobei dXR eine vorhergehende Bewegungsversetzung ist, wie sie vorstehend bezüglich 4 beschrieben worden ist. Das Vorhersagen der entsprechenden Pixelposition kann jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 4 beschrieben worden sind.In addition, the algorithm includes predicting a corresponding pixel position of a matched feature point of the selected feature point of the reference image 104 in a subsequent picture 106 as it is in the box 1504 is shown. For example, the image matching system says 100 for a given feature point of the reference image 104 with pixel position X R, the pixel position of the matched feature point as X R + dX R within the subsequent image 106 where dX R is a previous motion offset as described above 4 has been described. Predicting the corresponding pixel position may include any of the actions described above with respect to FIG 4 have been described.

Ferner umfasst, wie es im Kasten 1506 beschrieben ist, der Algorithmus das Bestimmen, ob potentiell abgestimmte Merkmalspunkte (d.h., potenzielle Merkmalspunkte) des nachfolgenden Bilds 106 innerhalb einer bestimmten Anzahl von Pixeln der vorhergesagten Pixelposition des abgestimmten Merkmalspunkts vorliegen. Insbesondere kann das Bildabgleichsystem 100 bestimmen, ob potenziell abgestimmte Merkmalspunkte innerhalb z.B. 50 Pixeln der vorhergesagten Pixelposition des abgestimmten Merkmalspunkts vorliegen. Das Bestimmen, ob potenzielle abgestimmte Merkmalspunkte des nachfolgenden Bilds 106 innerhalb einer bestimmten Anzahl von Pixeln der vorhergesagten Pixelposition des abgestimmten Merkmalspunkts vorliegen, kann jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 4 beschrieben worden sind.It also includes, as in the box 1506 described, the algorithm determining whether potentially matched feature points (ie, potential feature points) of the subsequent image 106 are present within a certain number of pixels of the predicted pixel position of the matched feature point. In particular, the image matching system 100 determine if there are potentially matched feature points within, eg, 50 pixels of the predicted pixel position of the matched feature point. Determining if potential matched feature points of the subsequent image 106 may be present within a certain number of pixels of the predicted pixel position of the matched feature point, may include any of the actions described above with respect to 4 have been described.

Wenn das Bildabgleichsystem 100 bestimmt, dass ein gegebener Merkmalspunkt der potenziell abgestimmten Merkmalspunkte des nachfolgenden Bilds 106 nicht innerhalb der vorgegebenen Anzahl von Pixeln vorliegt, kann das Algorithmus das Filtern des gegebenen Merkmalspunkts von einem Satz von potenziell abgestimmten Merkmalspunkten umfassen, wie es im Kasten 1518 gezeigt ist. Beispielsweise filtert das Bildabgleichsystem 100 den gegebenen Merkmalspunkt von dem Satz von potenziell abgestimmten Merkmalspunkten. Beispielsweise entfernt das Bildabgleichsystem 100 den gegebenen Merkmalspunkt von einer Berücksichtigung als abgestimmter Merkmalspunkt.When the image adjustment system 100 determines that a given feature point of the potentially matched feature points of the subsequent image 106 is not within the given number of pixels, the algorithm may include filtering the given feature point from a set of potentially matched feature points, as in the box 1518 is shown. For example, the image matching system filters 100 the given feature point from the set of potentially matched feature points. For example, the image matching system removes 100 the given feature point from consideration as a matched feature point.

Wenn das Bildabgleichsystem 100 bestimmt, dass ein gegebener Merkmalspunkt des nachfolgenden Bilds 106 innerhalb der vorgegebenen Anzahl von Pixeln vorliegt, umfasst das Algorithmus das Hinzufügen des gegebenen Merkmalspunkts zu einem Satz von potenziell abgestimmten Merkmalspunkten, wie es im Kasten 1508 gezeigt ist. Beispielsweise fügt das Bildabgleichsystem 100 den gegebenen Merkmalspunkt dem Satz von potenziell abgestimmten Merkmalspunkten hinzu. Ferner bestimmt das Bildabgleichsystem 100 nach dem Hinzufügen des gegebenen Merkmalspunkts zu dem Satz von potenziell abgestimmten Merkmalspunkten, ob ein Deskriptorabstand des Merkmalspunkts oberhalb eines Schwellenabstands vorliegt, wie es im Kasten 1510 gezeigt ist. Beispielsweise bestimmt das Bildabgleichsystem 100 die Ähnlichkeit von zwei gegebenen Merkmalspunkten durch Bewerten des Hamming-Abstands zwischen den Deskriptoren des Merkmalspunkts.When the image adjustment system 100 determines that a given feature point of the subsequent image 106 Within the given number of pixels, the algorithm includes adding the given feature point to a set of potentially matched feature points, as in the box 1508 is shown. For example, the image matching system adds 100 add the given feature point to the set of potentially matched feature points. Further, the image matching system determines 100 after adding the given feature point to the set of potentially matched feature points, whether a descriptor distance of the feature point is above a threshold distance, as in the box 1510 is shown. For example, the image matching system determines 100 the similarity of two given feature points by evaluating the Hamming distance between the descriptors of the feature point.

Wenn das Bildabgleichsystem 100 bestimmt, dass der Deskriptorabstand des Merkmalspunkts oberhalb eines Schwellenabstands vorliegt, filtert das Bildabgleichsystem 100 den gegebenen Merkmalspunkt von dem Satz von potenziell abgestimmten Merkmalspunkten, wie es im Kasten 1518 gezeigt ist. Wenn das Bildabgleichsystem 100 andererseits bestimmt, dass der Deskriptorabstand des Merkmalspunkts nicht oberhalb eines Schwellenabstands vorliegt, bestimmt das Bildabgleichsystem 100 einen durchschnittlichen Verschiebungsvektor für alle potenziell abgestimmten Paare von Merkmalspunkten des Referenzbilds 104 und des nachfolgenden Bilds 106, wie es im Kasten 1512 gezeigt ist. Insbesondere bestimmt das Bildabgleichsystem 100 von allen verbleibenden potenziell abgestimmten Merkmalspunkten für alle erfassten Merkmalspunkte in dem Referenzbild 104 einen durchschnittlichen Verschiebungsvektor D als Mittelwert der Merkmalsverschiebung {XP - XR}.When the image adjustment system 100 determines that the descriptor distance of the feature point is above a threshold distance filters the image matching system 100 the given feature point from the set of potentially matched feature points, as in the box 1518 is shown. When the image adjustment system 100 on the other hand determines that the descriptor distance of the feature point is not above a threshold distance determines the image matching system 100 an average displacement vector for all potentially matched pairs of feature points of the reference image 104 and the following picture 106 as it is in the box 1512 is shown. In particular, the image matching system determines 100 of all remaining potentially matched feature points for all detected feature points in the reference image 104 an average displacement vector D as the mean value of the feature displacement {X P -X R }.

Nach dem Bestimmen des Mittelwerts der Merkmalsverschiebung {XP - XR} bestimmt das Bildabgleichsystem 100, ob eine Verschiebung von restlichen potenziell abgestimmten Merkmalspunkten von dem durchschnittlichen Verschiebungsvektor um mehr als eine vorgegebene Anzahl von Pixeln abweicht, wie es im Kasten 1514 gezeigt ist. Ferner filtert, wenn das Bildabgleichsystem 100 bestimmt, dass eine Verschiebung eines restlichen potenziell abgestimmten Merkmalspunkts von dem durchschnittlichen Verschiebungsvektor um mehr als eine vorgegebene Anzahl von Pixeln abweicht, das Bildabgleichsystem 100 den gegebenen Merkmalspunkt von dem Satz von potenziell abgestimmten Merkmalspunkten, wie es im Kasten 1518 gezeigt ist. Wenn das Bildabgleichsystem 100 andererseits bestimmt, dass eine Verschiebung eines restlichen potenziell abgestimmten Merkmalspunkts von dem durchschnittlichen Verschiebungsvektor nicht um mehr als eine vorgegebene Anzahl von Pixeln abweicht, wählt das Bildabgleichsystem 100 einen abgestimmten Merkmalspunkt von den restlichen potenziell abgestimmten Merkmalspunkten (d.h., den potenziellen Merkmalspunkten) mit der größten Ähnlichkeit mit dem Merkmalspunkt des Referenzbilds 104 aus, wie es im Kasten 1516 gezeigt ist. Wie es vorstehend diskutiert worden ist, bilden der abgestimmte Merkmalspunkt des nachfolgenden Bilds 106 und der gegebene Merkmalspunkt des Referenzbiilds 104 ein abgestimmtes Merkmalspunktpaar.After determining the mean value of the feature displacement {X P -X R }, the image matching system determines 100 whether a shift of remaining potentially matched feature points from the average displacement vector deviates by more than a predetermined number of pixels, as in the box 1514 is shown. It also filters when the image matching system 100 determines that a shift of a residual potentially matched feature point from the average displacement vector deviates by more than a predetermined number of pixels, the image matching system 100 the given feature point from the set of potentially matched feature points, as shown in box 1518. When the image adjustment system 100 on the other hand, determines that a shift of a residual potentially matched feature point from the average displacement vector does not deviate by more than a predetermined number of pixels, the image matching system selects 100 a matched feature point from the remaining potentially matched feature points (ie, the potential feature points) most closely resembling the feature point of the reference image 104 like in the box 1516 is shown. As discussed above, the matched feature point of the subsequent image 106 and the given feature point of the reference image 104 a matched feature point pair.

Die 16 zeigt ein Diagramm eines Algorithmus zum Durchführen eines Schritts zum 1600 Abstimmen von Merkmalspunkten zwischen einem Referenzbild 104 und dem nachfolgenden Bild 106 gemäß einer oder mehrerer Ausführungsform(en) der vorliegenden Offenbarung. Beispielsweise kann der Schritt für 1600 jedwede der Aktionen umfassen, die nachstehend bezüglich der Kästen 1602 bis 1622 beschrieben sind. Wie es im Kasten 1602 gezeigt ist, umfasst der Algorithmus das Bestimmen, ob ein lokaler Bereich (oder entsprechender lokaler Bereich) mindestens eine Schwellenanzahl von Merkmalspunkten umfasst. Insbesondere kann das Bildabgleichsystem 100 bestimmen, ob ein lokaler Bereich des Referenzbilds 104 eine Schwellenanzahl von erfassten Merkmalspupnkten umfasst. Wie es vorstehend angegeben worden ist, kann die Schwellenanzahl 50, 75, 100, 200, 500, 1000 oder jedwede Anzahl von erfassten Merkmalspunkten umfassen. Ferner kann der Algorithmus jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 5 und 6 beschrieben worden sind.The 16 FIG. 12 is a diagram of an algorithm for performing a step of adjusting feature points between a reference image. FIG 104 and the following picture 106 in accordance with one or more embodiments of the present disclosure. For example, the step for 1600 may include any of the actions discussed below with respect to the boxes 1602 to 1622 are described. As it is in the box 1602 1, the algorithm includes determining whether a local area (or corresponding local area) comprises at least a threshold number of feature points. In particular, the image matching system 100 determine if a local area of the reference image 104 comprises a threshold number of detected feature pixels. As indicated above, the threshold number 50 . 75 . 100 . 200 . 500 . 1000 or any number of detected feature points. Furthermore, the algorithm may include any of the actions described above with respect to 5 and 6 have been described.

Beispielsweise wenn das Bildabgleichsystem 100 einerseits, wie es in dem Kasten 1622 gezeigt ist, bestimmt, dass der lokale Bereich die Schwellenanzahl von erfassten Merkmalspunkten umfasst, kann der Algorithmus das Anwenden eines Homographiebewegungsmodells auf den lokalen Bereich umfassen. Beispielsweise kann das Bildabgleichsystem 100 ein Homographiebewegungsmodell auf den lokalen Bereich in jedwedem der Verfahren anwenden, die vorstehend in Bezug auf die 5 bis 7 beschrieben worden sind.For example, if the image matching system 100 on the one hand, as in the box 1622 2, it is determined that the local area includes the threshold number of detected feature points, the algorithm may include applying a homography gesture model to the local area. For example, the image matching system 100 apply a homography gesture model to the local area in any of the methods described above with respect to the 5 to 7 have been described.

Wenn andererseits, wie es in dem Kasten 1604 beschrieben ist, das Bildabgleichsystem 100 bestimmt, dass der lokale Bereich nicht die Schwellenanzahl von erfassten Merkmalspunkten umfasst, kann der Algorithmus das Vereinigen des lokalen Bereichs mit einem anderen lokalen Bereich des gleichen Hierarchieniveaus umfassen. Beispielsweise kann das Bildabgleichsystem 100 den lokalen Bereich mit einem anderen lokalen Bereich des gleichen Hierarchieniveaus umfassen. Die Hierarchieniveaus sind vorstehend in Bezug auf die 5 und 6 detailliert beschrieben. Ferner kann das Vereinigen des lokalen Bereichs mit einem anderen lokalen Bereich des gleichen Hierarchieniveaus jedwede der Aktionen umfassen, die vorstehend in Bezug auf die 5 und 6 beschrieben worden sind.If, on the other hand, as in the box 1604 is described, the image adjustment system 100 determines that the local area does not include the threshold number of detected feature points, the algorithm may include merging the local area with another local area of the same hierarchy level. For example, the image matching system 100 include the local area with another local area of the same hierarchy level. The hierarchy levels are above in relation to the 5 and 6 described in detail. Further, uniting the local area with another local area of the same hierarchical level may comprise any of the actions described above with respect to 5 and 6 have been described.

Wie es in dem Kasten 1608 beschrieben ist, umfasst der Algorithmus nach dem Vereinigen des lokalen Bereichs mit einem anderen lokalen Bereich das Bestimmen, ob der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst. Beispielsweise bestimmt das Bildabgleichsystem 100, ob der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst. Wenn das Bildabgleichsystem 100 bestimmt, dass der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst, umfasst das Algorithmus das Anwenden eines Homographiebewegungsmodells auf den vereinigten lokalen Bereich, wie es im Kasten 1622 gezeigt ist. Beispielsweise kann das Bildabgleichsystem 100 ein Homographiebewegungsmodell auf den vereinigten lokalen Bereich in jedwedem der Verfahren anwenden, das in Bezug auf die 5 bis 7 beschrieben worden ist.Like in the box 1608 after combining the local area with another local area, the algorithm comprises determining whether the resulting merged local area comprises at least the threshold number of feature points. For example, the image matching system determines 100 whether the resulting merged local area comprises at least the threshold number of feature points. When the image adjustment system 100 determining that the resulting pooled local area comprises at least the threshold number of feature points, the algorithm comprises applying a homography motion model to the pooled local area, as shown in box 1622. For example, the image matching system 100 apply a homography movement model to the unified local area in any of the procedures described in relation to the 5 to 7 has been described.

Wenn das Bildabgleichsystem 100 alternativ bestimmt, dass der resultierende vereinigte lokale Bereich nicht mindestens die Schwellenanzahl von Merkmalspunkten umfasst, umfasst der Algorithmus das Vereinigen des vereinigten lokalen Bereichs mit einem zusätzlichen lokalen Bereich des gleichen Hierachieniveaus, wie es in dem Kasten 1610 gezeigt ist. Insbesondere vereinigt das Bildabgleichsystem 100 den vereinigten lokalen Bereich mit einem zusätzlichen lokalen Bereich des gleichen Hierarchieniveaus. Wie es vorstehend angegeben worden ist, sind die Hierarchieniveaus vorstehend in Bezug auf die 5 und 6 detailliert beschrieben.When the image adjustment system 100 alternatively, determining that the resulting unified local area does not comprise at least the threshold number of feature points, the algorithm comprises merging the unified local area with an additional local area of the same hierarchy level as in the box 1610 is shown. In particular, the image matching system unites 100 the unified local area with an additional local area of the same hierarchy level. As stated above, the hierarchy levels are above in relation to the 5 and 6 described in detail.

Wie es in dem Kasten 1612 gezeigt ist, umfasst der Algorithmus nach dem Vereinigen des vereinigten lokalen Bereichs mit einem zusätzlichen lokalen Bereich das Bestimmen, ob der resultierende neue vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst. Beispielsweise bestimmt das Bildabgleichsystem 100, ob der resultierende neue vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst. Wenn das Bildabgleichsystem 100 bestimmt, dass der resultierende neue vereinigte lokale Bereich mindestens die Schwellenanzahl von Merkmalspunkten umfasst, umfasst der Algorithmus das Anwenden eines Homographiebewegungsmodells auf den neuen vereinigten lokalen Bereich, wie es in dem Kasten 1622 gezeigt ist. Beispielsweise kann das Bildabgleichsystem 100 ein Homographiebewegungsmodell auf den vereinigten lokalen Bereich in jedwedem der Verfahren anwenden, das in Bezug auf die 5 bis 7 beschrieben worden ist.Like in the box 1612 5, after combining the unified local area with an additional local area, the algorithm comprises determining whether the resulting new merged local area comprises at least the threshold number of feature points. For example, the image matching system determines 100 whether the resulting new merged local area comprises at least the threshold number of feature points. When the image adjustment system 100 determines that the resulting new merged local area comprises at least the threshold number of feature points, the algorithm comprises applying a homography motion model to the new merged local area, such as it in the box 1622 is shown. For example, the image matching system 100 apply a homography movement model to the unified local area in any of the procedures described in relation to the 5 to 7 has been described.

Wenn alternativ das Bildabgleichsystem 100 bestimmt, dass der resultierende neue vereinigte lokale Bereich nicht mindestens die Schwellenanzahl von Merkmalspunkten umfasst, umfasst der Algorithmus das Bestimmen, ob alle lokalen Bereiche des gleichen Hierarchieniveaus mit dem neuen vereinigten lokalen Bereich vereinigt worden sind, wie es in dem Kasten 1614 gezeigt ist. Insbesondere bestimmt das Bildabgleichsystem 100, ob alle lokalen Bereiche des gleichen Hierachieniveaus mit dem neuen vereinigten lokalen Bereich vereinigt worden sind. Wenn das Bildabgleichsystem 100 bestimmt, dass nicht alle lokalen Bereiche des gleichen Hierachieniveaus mit dem neuen vereinigten lokalen Bereich vereinigt worden sind, umfasst der Algorithmus das Vereinigen des vereinigten lokalen Bereichs mit einem zusätzlichen lokalen Bereich des gleichen (z.B. des niedrigsten Niveaus (6)) Hierarchieniveaus, wie es in dem Kasten 1610 gezeigt ist. Insbesondere vereinigt das Bildabgleichsystem 100 den neuen vereinigten lokalen Bereich mit einem zusätzlichen lokalen Bereich des gleichen Hierachieniveaus. Wie es vorstehend angegeben worden ist, sind die Hierarchieniveaus vorstehend in Bezug auf die 5 und 6 detailliert beschrieben.If alternatively the image matching system 100 determines that the resulting new merged local area does not include at least the threshold number of feature points, the algorithm comprises determining whether all local areas of the same hierarchy level have been merged with the new merged local area, as in the box 1614 is shown. In particular, the image matching system determines 100 Whether all local areas of the same hierarchy level have been merged with the new United Local Area. When the image adjustment system 100 determines that not all local areas of the same hierarchy level have been merged with the new merged local area, the algorithm comprises merging the unified local area with an additional local area of the same (eg, lowest level ( 6 )) Hierarchy levels, as in the box 1610 is shown. In particular, the image matching system unites 100 the new united local area with an additional local area of the same level of hierarchy. As stated above, the hierarchy levels are above in relation to the 5 and 6 described in detail.

Wenn andererseits das Bildabgleichsystem 100 bestimmt, dass alle lokalen Bereiche des gleichen Hierachieniveaus mit dem neuen vereinigten lokalen Bereich vereinigt worden sind, umfasst der Algorithmus das Vereinigen des neuen vereinigten lokalen Bereichs mit einem lokalen Bereich eines nächsten Hierarchieniveaus (z.B. des ersten Niveaus nach oben (6)), wie es in dem Kasten 1620 gezeigt ist. Insbesondere vereinigt das Bildabgleichsystem 100 den neuen vereinigten lokalen Bereich mit einem lokalen Bereich des nächsten Hierarchieniveaus. Wie es vorstehend angegeben worden ist, sind die Hierarchieniveaus vorstehend in Bezug auf die 5 und 6 detailliert beschrieben.On the other hand, if the image matching system 100 determines that all local areas of the same hierarchy level have been merged with the new merged local area, the algorithm comprises merging the new merged local area with a local area of a next hierarchy level (eg, first level up ( 6 )), as in the box 1620 is shown. In particular, the image matching system unites 100 the new United local area with a local area of the next hierarchy level. As stated above, the hierarchy levels are above in relation to the 5 and 6 described in detail.

Wie es in dem Kasten 1618 gezeigt ist, umfasst der Algorithmus nach dem Vereinigen des neuen vereinigten lokalen Bereichs mit einem lokalen Bereich des nächsten Hierarchieniveaus das Bestimmen, ob der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von erfassten Merkmalspunkten umfasst. Beispielsweise bestimmt das Bildabgleichsystem 100, ob der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von erfassten Merkmalspunkten umfasst. Wenn das Bildabgleichsystem 100 bestimmt, dass der resultierende vereinigte lokale Bereich mindestens die Schwellenanzahl von erfassten Merkmalspunkten umfasst, umfasst der Algorithmus das Anwenden eines Homographiebewegungsmodells auf den resultierenden vereinigten lokalen Bereich, wie es in dem Kasten 1622 gezeigt ist. Beispielsweise kann das Bildabgleichsystem 100 ein Homographiebewegungsmodell in jedweder Weise anwenden, wie es vorstehend in Bezug auf die 5 bis 7 beschrieben worden ist.Like in the box 1618 10, after merging the new merged local area with a local area of the next hierarchy level, the algorithm comprises determining whether the resulting merged local area comprises at least the threshold number of detected feature points. For example, the image matching system determines 100 whether the resulting merged local area comprises at least the threshold number of detected feature points. When the image adjustment system 100 determines that the resulting pooled local area comprises at least the threshold number of detected feature points, the algorithm comprises applying a homography motion model to the resulting pooled local area, as in the box 1622 is shown. For example, the image matching system 100 apply a homography gesture model in any way as described above with respect to 5 to 7 has been described.

Wenn alternativ das Bildabgleichsystem 100 bestimmt, dass der resultierende vereinigte lokale Bereich nicht mindestens die Schwellenanzahl von erfassten Merkmalspunkten umfasst, umfasst der Algorithmus das Bestimmen, ob alle lokalen Bereich des gleichen Hierarchieniveaus (z.B. des ersten Niveaus nach oben (6)) mit dem resultierneden vereinigten lokalen Bereich vereinigt worden sind. Insbesondere bestimmt das Bildabgleichsystem 100, ob alle lokalen Bereiche des gleichen Hierarchieniveaus mit dem resultierenden lokalen Bereich vereinigt worden sind. Wenn das Bildabgleichsystem 100 bestimmt, dass nicht alle lokalen Bereiche des gleichen Hierarchieniveaus mit dem resultierenden lokalen Bereich vereinigt worden sind, umfasst der Algorithmus das Vereinigen des resultierenden vereinigten lokalen Bereichs mit einem zusätzlichen lokalen Bereich des gleichen Hierarchieniveaus (z.B. des ersten Niveaus nach oben (6)), wie es in dem Kasten 1610 gezeigt ist. Insbesondere vereinigt das Bildabgleichsystem 100 den resultierenden vereinigten lokalen Bereich mit einem zusätzlichen lokalen Bereich des gleichen Hierarchieniveaus. Wie es vorstehend angegeben worden ist, sind die Hierarchieniveaus vorstehend in Bezug auf die 5 und 6 detailliert beschrieben.If alternatively the image matching system 100 determines that the resulting merged local area does not comprise at least the threshold number of detected feature points, the algorithm comprises determining whether all local areas of the same hierarchy level (eg, the first level up ( 6 )) have been associated with the resulting combined local area. In particular, the image matching system determines 100 whether all local areas of the same hierarchy level have been merged with the resulting local area. When the image adjustment system 100 determines that not all local areas of the same hierarchy level have been merged with the resulting local area, the algorithm comprises merging the resulting pooled local area with an additional local area of the same hierarchy level (eg, the first level up ( 6 )) as shown in box 1610. In particular, the image matching system unites 100 the resulting pooled local area with an additional local area of the same hierarchy level. As stated above, the hierarchy levels are above in relation to the 5 and 6 described in detail.

Wenn andererseits das Bildabgleichsystem 100 bestimmt, dass alle lokalen Bereiche des gleichen Hierarchieniveaus mit dem resultierenden lokalen Bereich vereinigt worden sind, umfasst der Algorithmus das Vereinigen des resultierenden vereinigten lokalen Bereichs mit einem lokalen Bereich eines nächsten Hierarchieniveaus (z.B. des zweiten Niveaus nach oben (66), wie es in dem Kasten 1620 gezeigt ist. Insbesondere vereinigt das Bildabgleichsystem 100 den resultierenden vereinigten lokalen Bereich mit einem lokalen Bereich des nächsten Hierarchieniveaus. Wie es vorstehend angegeben worden ist, sind die Hierarchieniveaus vorstehend in Bezug auf die 5 und 6 detailliert beschrieben.On the other hand, if the image matching system 100 determines that all local regions of the same hierarchy level have been merged with the resulting local region, the algorithm comprises merging the resulting merged local region with a local region of a next hierarchy level (eg, the second level upwards ( 66 ), as in the box 1620 is shown. In particular, the image matching system unites 100 the resulting unified local area with a local area of the next hierarchy level. As stated above, the hierarchy levels are above in relation to the 5 and 6 described in detail.

Ausführungsformen der vorliegenden Offenbarung können einen speziellen oder allgemeinen Computer umfassen oder nutzen, der Computerhardware umfasst, wie z.B. einen oder mehrere Prozessor(en) und einen Systemspeicher, wie es nachstehend detaillierter diskutiert wird. Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung umfassen auch physikalische und andere computerlesbare Medien zum Beinhalten oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere kann einer oder können mehrere der hier beschriebenen Vorgänge mindestens zum Teil als Anweisungen implementiert werden, die in einem nicht-flüchtigen computerlesbaren Medium vorliegen und durch eine oder mehrere Rechenvorrichtung(en) (z.B. jedwede der hier beschriebenen Medieninhalt-Zugangsvorrichtungen) ausgeführt werden können. Im Allgemeinen erhält ein Prozessor (z.B. ein Mikroprozessor) Anweisungen von einem nicht-flüchtigen computerlesbaren Medium (z.B. einem Speicher, usw.) und führt diese Anweisungen aus, wodurch ein Vorgang oder mehrere Vorgänge, einschließlich ein Vorgang oder mehrere Vorgänge, der oder die hier beschrieben ist oder sind, ausgeführt wird oder werden.Embodiments of the present disclosure may include or utilize a special or generic computer that includes computer hardware, such as one or more processors and a system memory, as discussed in more detail below. Embodiments within the scope of the present disclosure also include physical and other computer-readable media for containing or storing computer-executable instructions and / or data structures. In particular, one or more of the operations described herein may be implemented, at least in part, as instructions residing in a non-transitory computer-readable medium and executable by one or more computing devices (eg, any of the media content access devices described herein). In general, a processor (eg, a microprocessor) receives instructions from a non-transitory computer-readable medium (eg, a memory, etc.) and executes those instructions, thereby performing one or more operations, including one or more operations, here or there is or is, is or will be.

Computerlesbare Medien können jedwede verfügbare Medien sein, auf die durch einen allgemeines oder spezifisches Computersystem zugegriffen werden kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nicht-flüchtige computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen beinhalten, sind Übertragungsmedien. Folglich können beispielhaft und ohne Beschränkung Ausführungsformen der Offenbarung mindestens zwei deutlich verschiedene Arten von computerlesbaren Medien umfassen: nicht-flüchtige computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.Computer readable media can be any available media that can be accessed by a general or specific computer system. Computer-readable media storing computer-executable instructions are non-transitory computer-readable storage media (devices). Computer-readable media containing computer-executable instructions are transmission media. Thus, by way of example and not limitation, embodiments of the disclosure may include at least two distinctly different types of computer-readable media: non-transitory computer-readable storage media (devices) and transmission media.

Nicht-flüchtige computerlesbare Speichermedien (Vorrichtungen) umfassen RAM, ROM, EEPROM, CD-ROM, Halbleiterlaufwerke („SSDs“) (z.B. auf der Basis eines RAM), Flashspeicher, Phasenänderungsspeicher („PCM“), andere Speichertypen, andere optische Plattenspeicher, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen, oder jedwedes andere Medium, das zum Speichern von gewünschten Programmcodemitteln in der Form von computerausführbaren Anweisungen oder Datenstrukturen geeignet ist und auf das durch einen allgemeinen oder speziellen Computer zugegriffen werden kann.Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, SSDs (eg, based on RAM), flash memory, phase change memory ("PCM"), other types of memory, other optical disk storage, Magnetic disk storage or other magnetic storage devices, or any other medium suitable for storing desired program code means in the form of computer-executable instructions or data structures that can be accessed by a general or special computer.

Ferner können beim Erreichen von verschiedenen Computersystemkomponenten Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen automatisch von Übertragungsmedien auf nicht-flüchtige computerlesbare Speichermedien (Vorrichtungen) übertragen werden (oder umgekehrt). Beispielsweise können computerausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder eine Datenverknüpfung erhalten worden sind, in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (z.B. einem „NIC“) gepuffert werden und dann schließlich zu einem Computersystem-RAM und/oder weniger flüchtigen Computerspeichermedien (Vorrichtungen) in einem Computersystem übertragen werden. Folglich sollte beachtet werden, dass nicht-flüchtige computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten einbezogen werden können, die auch (oder sogar vorwiegend) Übertragungsmedien nutzen.Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures may be automatically transferred from transmission media to non-transitory computer-readable storage media (devices) (or vice versa). For example, computer-executable instructions or data structures obtained via a network or data link may be buffered in RAM within a network interface module (eg, a "NIC") and then eventually to a computer system RAM and / or less volatile computer storage media (devices). be transmitted in a computer system. Thus, it should be noted that non-transitory computer-readable storage media (devices) can be included in computer system components that also use (or even predominantly) transmission media.

Computerausführbare Anweisungen umfassen z.B. Anweisungen und Daten, die, wenn sie in einem Prozessor ausgeführt werden, bewirken, dass ein allgemeiner Computer, ein spezieller Computer oder eine spezielle Verarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen ausübt. In einigen Ausführungsformen werden computerausführbare Anweisungen auf einem allgemeinen Computer ausgeführt, so dass der allgemeine Computer zu einem speziellen Computer wird, der Elemente der Offenbarung ausführt. Die computerausführbaren Anweisungen können z.B. binäre Anweisungen („binaries“), Zwischenformatanweisungen, wie z.B. Assembly-Sprache, oder sogar ein Quellcode sein. Obwohl der Gegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder Verfahrenologische Vorgänge spezifisch ist, sollte beachtet werden, dass der in den beigefügten Ansprüchen festgelegte Gegenstand nicht notwendigerweise auf die beschriebenen Merkmale oder die vorstehend beschriebenen Vorgänge beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Vorgänge als Beispielformen zur Implementierung der Ansprüche offenbart.Computer-executable instructions include e.g. Instructions and data that, when executed in a processor, cause a general purpose computer, computer, or processing device to perform a particular function or set of functions. In some embodiments, computer-executable instructions are executed on a general computer so that the general computer becomes a particular computer that executes elements of the disclosure. The computer-executable instructions may be e.g. binary statements ("binaries"), intermediate format statements, such as Assembly language, or even a source code. Although the subject matter has been described in language specific to structural features and / or procedural operations, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the features and processes described are disclosed as example forms for implementing the claims.

Einem Fachmann ist klar, dass die Offenbarung in Netzwerkrechenumgebungen mit vielen Typen von Computersystemkonfigurationen ausgeführt werden kann, einschließlich Personalcomputer, Desktopcomputer, Laptopcomputer, Nachrichtenprozessoren, handgehaltenen Vorrichtungen, Mehrprozessorsystemen, mikroprozessorbasierte oder programmierbare Haushaltselektronik bzw. Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Großrechner, Mobiltelefone, PDAs, Tablets, Pager, Router, Koppler („switches“) und dergleichen. Die Offenbarung kann auch in verteilten Systemumgebungen durchgeführt werden, bei denen lokale und entfernte Computersysteme, die durch ein Netzwerk verbunden sind (entweder durch drahtgebundene Datenverbindungen, drahtlose Datenverbindungen oder eine Kombination aus drahtgebundenen und drahtlosen Datenverbindungen), beide Aufgaben ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen als auch entfernten Speichervorrichtungen befinden.One skilled in the art will appreciate that the disclosure can be made in network computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframes, cell phones , PDAs, tablets, pagers, routers, switches, and the like. The disclosure may also be made in distributed system environments where local and remote computer systems connected through a network (either through wired data links, wireless data links, or a combination of wired and wireless data links) perform both tasks. In a distributed system environment, program modules may reside in both local and remote storage devices.

Ausführungsformen der vorliegenden Offenbarung können auch in Cloudcomputing-Umgebungen implementiert werden. In dieser Beschreibung ist „Cloudcomputing“ als ein Modell festgelegt, das einen Netzwerkzugang zu einem gemeinsamen Pool von konfigurierbaren Rechenresourcen nach Bedarf ermöglicht. Beispielsweise kann ein Cloudcomputing auf dem Markt eingesetzt werden, um einen überall vorhandenen und bequemen Zugang nach Bedarf zu dem gemeinsamen Pool von konfigurierbaren Rechenresourcen anzubieten. Der gemeinsame Pool von konfigurierbaren Rechenresourcen kann mittels einer Virtualisierung schnell bereitgestellt werden und mit einem geringen Verwaltungsaufwand oder einer geringen Serviceproviderinteraktion freigegeben werden und dann entsprechend skaliert werden. Embodiments of the present disclosure may also be implemented in cloud computing environments. In this description, "cloud computing" is defined as a model that allows network access to a common pool of configurable computing resources as needed. For example, cloud computing may be deployed in the marketplace to provide anywhere, convenient on-demand access to the common pool of configurable computing resources. The shared pool of configurable computing resources can be quickly deployed through virtualization and released with a low overhead or service provider interaction, and then scaled accordingly.

Ein Cloudcomputingmodell kann aus verschiedenen Charakteristika zusammengesetzt sein, wie z.B. einer Selbstbedienung nach Bedarf, einem breiten Netzwerkzugang, einem Resourcenpooling, einer schnellen Elastizität, einem gemessenen Dienst, usw. Ein Cloudcomputingmodell kann auch verschiedene Dienstmodelle aufweisen, wie z.B. Software als Dienst („SaaS“), Plattform als Dienst („PaaS“) und Infrastruktur als Dienst („IaaS“). Ein Cloudcomputingmodell kann auch mittels verschiedener Verbreitungsmodelle verbreitet werden, wie z.B. einer Privatcloud, einer Communitycloud, einer öffentlichen Cloud, einer Hybridcloud, usw. In dieser Beschreibung und in den Ansprüchen ist eine „Cloudcomputing-Umgebung“ eine Umgebung, in der ein Cloudcomputing eingesetzt wird.A cloud computing model may be composed of various characteristics, such as e.g. on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, etc. A cloud computing model may also include various service models, such as: Software as a Service ("SaaS"), Platform as a Service ("PaaS") and Infrastructure as a Service ("IaaS"). A cloud computing model may also be propagated by means of various distribution models, e.g. a private cloud, a community cloud, a public cloud, a hybrid cloud, etc. In this description and in the claims, a "cloud computing environment" is an environment in which cloud computing is employed.

Die 17 zeigt in einer Blockdiagrammform eine beispielhafte Rechenvorrichtung 1700, die so ausgebildet sein kann, dass sie einen oder mehrere der vorstehend beschriebenen Vorgänge ausführt. Es ist klar, dass eine oder mehrere Rechenvorrichtung(en), wie z.B. die Rechenvorrichtung 1700, das Bildabgleichsystem 100 und/oder die Clientvorrichtung implementieren kann oder können. Wie es in der 17 gezeigt ist, kann die Rechenvorrichtung einen Prozessor 1702, einen Speicher 1704, eine Speichervorrichtung 1706, eine I/O-Schnittstellle 1708 und eine Kommunikationsschnittstelle 1710 umfassen, die mittels einer Kommunikationsinfrastruktur kommunikativ gekoppelt sein kann. Während eine Beispielrechenvorrichtung 1700 in der 17 gezeigt ist, sind die in der 17 gezeigten Komponenten nicht beschränkend aufzufassen. Zusätzliche oder alternative Komponenten können in anderen Ausführungsformen verwendet werden. Ferner kann die Rechenvorrichtung 1700 in bestimmten Ausführungsformen weniger oder mehr Komponenten als diejenigen umfassen, die in der 17 gezeigt sind. Komponenten der Rechenvorrichtung 1700, die in der 17 gezeigt sind, werden nachstehend detaillierter beschrieben.The 17 shows in block diagram form an exemplary computing device 1700 , which may be configured to perform one or more of the above-described operations. It is clear that one or more computing devices, such as the computing device 1700 , the image matching system 100 and / or the client device may or may implement. As it is in the 17 1, the computing device may be a processor 1702 , a store 1704 , a storage device 1706 , an I / O interface 1708 and a communication interface 1710, which may be communicatively coupled by means of a communication infrastructure. While a sample computing device 1700 in the 17 are shown in the 17 not limited to components shown. Additional or alternative components may be used in other embodiments. Furthermore, the computing device 1700 in certain embodiments, comprise fewer or more components than those described in the 17 are shown. Components of the computing device 1700 used in the 17 are shown below in more detail.

In einer oder mehreren Ausführungsformen umfasst der Prozessor 1702 Hardware zum Ausführen von Anweisungen, wie z.B. solchen, die ein Computerprogramm bilden. Als Beispiel und nicht beschränkend kann der Prozessor 1702 zum Ausführen von Anweisungen die Anweisungen von einem internen Register, einem internen Cache, dem Speicher 1704 oder der Speichervorrichtung 1706 abfragen (oder holen) und diese dekodieren und ausführen. In einer oder mehreren Ausführungsform(en) kann der Prozessor 1702 einen oder mehrere interne Cache(s) für Daten, Anweisungen oder Addressen umfassen. Als Beispiel und nicht beschränkend kann der Prozessor 1702 einen oder mehrere Anweisungscache(s), einen oder mehrere Datencache(s) und einen oder mehrere Translations-„look aside‟-Puffer (TLBs) umfassen. Anweisungen in den Anweisungscaches können Kopien der Anweisungen in dem Speicher 1704 oder der Speichervorrichtung 1706 sein.In one or more embodiments, the processor includes 1702 Hardware for executing instructions, such as those that make up a computer program. By way of example and not limitation, the processor 1702 to execute instructions, the instructions from an internal register, an internal cache, the memory 1704 or the storage device 1706 query (or fetch) and decode and execute. In one or more embodiments, the processor 1702 include one or more internal cache (s) for data, instructions or addresses. By way of example and not limitation, the processor 1702 one or more instruction cache (s), one or more data cache (s) and one or more translation look aside buffers (TLBs). Instructions in the instruction caches may be copies of the instructions in the memory 1704 or the storage device 1706 be.

Die Rechenvorrichtung 1700 umfasst einen Speicher 1704, der mit dem oder den Prozessor(en) 1702 gekoppelt ist. Der Speicher 1704 kann zum Speichern von Daten, Metadaten und Programmen zum Ausführen durch den oder die Prozessor(en) verwendet werden. Der Speicher 1704 kann einen oder mehrere von flüchtigen und nicht-flüchtigen Speichern umfassen, wie z.B. einen Direktzugriffsspeicher („RAM“), einen Festwertspeicher („ROM“), eine Halbleiterplatte („SSD“), einen Flashspeicher, einen Phasenänderungsspeicher („PCM“) oder andere Typen von Datenspeicher. Der Speicher 1004 kann ein interner oder ein verteilter oder externer Speicher sein.The computing device 1700 includes a memory 1704 that is related to the processor (s) 1702 is coupled. The memory 1704 may be used to store data, metadata and programs for execution by the processor (s). The memory 1704 may include one or more of volatile and nonvolatile memories, such as random access memory ("RAM"), read only memory ("ROM"), semiconductor disk ("SSD"), flash memory, phase change memory ("PCM"), or other types of data storage. The memory 1004 can be an internal or a distributed or external memory.

Die Rechenvorrichtung 1700 umfasst eine Speichervorrichtung 1706, die einen Speicher zum Speichern von Daten oder Anweisungen umfasst. Als ein Beispiel und nicht beschränkend kann die Speichervorrichtung 1706 ein vorstehend beschriebenes nicht-flüchtiges Speichermedium umfassen. Die Speichervorrichtung 1706 kann eine Festplatte (HDD), ein Diskettenlaufwerk, einen Flashspeicher, eine optische Platte, eine magneto-optische Platte, ein Magnetband oder ein serielles Universalbus (USB)-Laufwerk oder eine Kombination von zwei oder mehr davon umfassen. Diese Speichervorrichtung 1706 kann gegebenenfalls entfernbare oder nicht-entfernbare (fixierte) Medien umfassen. Die Speichervorrichtung 1706 kann intern oder extern von der Rechenvorrichtung 1700 vorliegen. In einer oder mehreren Ausführungsform(en) ist die Speichervorrichtung 1706 ein nicht-flüchtiger Festkörperspeicher. In anderen Ausführungsformen umfasst die Speichervorrichtung 17006 einen Festwertspeicher (ROM). Gegebenenfalls kann dieser ROM ein maskenprogrammierter ROM, ein programmierbarer ROM (PROM), ein löschbarer ROM (EPROM), ein elektrisch löschbarer PROM (EEPROM), ein elektrisch veränderbarer ROM (EAROM) oder ein Flashspeicher oder einer Kombination von zwei oder mehr davon sein.The computing device 1700 comprises a storage device 1706 which includes a memory for storing data or instructions. As an example and not by way of limitation, the memory device 1706 comprise a non-volatile storage medium as described above. The storage device 1706 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a serial universal bus (USB) drive, or a combination of two or more thereof. This storage device 1706 may optionally include removable or non-removable (fixed) media. The storage device 1706 can be internal or external to the computing device 1700 available. In one or more embodiments, the storage device is 1706 a nonvolatile solid state memory. In other embodiments, the storage device comprises 17006 a read-only memory (ROM). Optionally, this ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable ROM (EPROM), an electrically erasable PROM (EEPROM), an electrically variable ROM (EAROM) or flash memory, or a combination of two or more thereof.

Die Rechenvorrichtung 1700 umfasst auch eine oder mehrere Eingabe- oder Ausgabe („I/O‟)-Vorrichtungen/Schnittstellen 1708, die bereitgestellt sind, um es einem Nutzer zu ermöglichen, eine Eingabe in die Rechenvorrichtung 1700 durchzuführen, eine Ausgabe von der Rechenvorrichtung 1700 zu erhalten oder in sonstiger Weise Daten zu der und von der Rechenvorrichtung 1700 zu übertragen. Diese I/O-Vorrichtungen/Schnittstellen 1708 können eine Maus, ein Keypad oder eine Tastatur, einen Berührungsbildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem oder andere bekannte I/O-Vorrichtungen oder eine Kombination solcher I/O-Vorrichtungen/Schnittstellen umfassen. Der Berührungsbildschirm kann mit einem Stift oder einem Finger aktiviert werden.The computing device 1700 also includes one or more input or output ("I / O") devices / interfaces 1708 provided to enable a user to input to the computing device 1700 perform an output from the computing device 1700 or otherwise receive data to and from the computing device 1700 transferred to. These I / O devices / interfaces 1708 may be a mouse, keypad or keyboard, touch screen, camera, optical scanner, network interface, modem or other known I / O devices, or a combination of such I / O devices. Devices / interfaces include. The touch screen can be activated with a pen or a finger.

Die I/O-Vorrichtungen/Schnittstellen 1708 können eine oder mehrere Vorrichtung(en) zum Darstellen einer Ausgabe für einen Nutzer umfassen, einschließlich, jedoch nicht beschränkt auf, ein Graphikmodul, eine Anzeige (z.B. einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (z.B. Anzeigetreiber), einen oder mehrere Lautsprecher und einen oder mehrere Audiotreiber. In bestimmten Ausführungsformen sind die Vorrichtungen/Schnittstellen 1708 so ausgebildet, dass sie graphische Daten für eine Anzeige zur Darstellung für einen Nutzer bereitstellen. Die graphischen Daten können für eine oder mehrere graphische Nutzerschnittstellen und/oder jedweden anderen graphischen Inhalt repräsentativ sein, der als spezielle Implementierung dienen kann.The I / O devices / interfaces 1708 may include one or more devices for presenting an output to a user, including, but not limited to, a graphics module, a display (eg, a display screen), one or more output drivers (eg Display driver), one or more speakers, and one or more audio drivers. In certain embodiments, the devices / interfaces 1708 adapted to provide graphical data for a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and / or any other graphical content that may serve as a particular implementation.

Die Rechenvorrichtung 1700 kann ferner eine Kommunikationsschnittstelle 1710 umfassen. Die Kommunikationsschnittstelle 1710 kann Hardware, Software oder beides umfassen. Die Kommunikationsschnittstelle 1710 kann eine oder mehrere Schnittstelle(n) zum Kommunizieren (wie z.B. mit einer Kommunikation auf Paketbasis) zwischen der Rechenvorrichtung und einer oder mehrerer anderer Rechenvorrichtung(en) 1700 oder einem oder mehreren Netzwerk(en) bereitstellen. Als Beispiel und nicht beschränkend kann die Kommunikationsschnittstelle 1710 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter zum Kommunizieren mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einem drahtlosen NIC (WNIC) oder einem drahtlosen Adapter zum Kommunizieren mit einem drahtlosen Netzwerk, wie z.B. WI-FI, umfassen. Die Rechenvorrichtung 1700 kann ferner einen Bus 1712 umfassen. Der Bus 1712 kann Hardware, Software oder beides umfassen, die Komponenten der Rechenvorrichtung 1700 miteinander koppelt.The computing device 1700 may further include a communication interface 1710 include. The communication interface 1710 may include hardware, software, or both. The communication interface 1710 may include one or more interfaces for communicating (such as with packet-based communication) between the computing device and one or more other computing devices. 1700 or one or more network (s). By way of example and not limitation, the communication interface 1710 a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as WI-FI. The computing device 1700 can also have a bus 1712 include. The bus 1712 may include hardware, software, or both, the components of the computing device 1700 coupled with each other.

Die vorstehende Beschreibung wurde unter Bezugnahme auf spezifische beispielhafte Ausführungsformen davon beschrieben. Verschiedene Ausführungsformen und Aspekte der Offenbarung sind unter Bezugnahme auf hier diskutierte Details beschrieben und die beigefügten Zeichnungen veranschaulichen die verschiedenen Ausführungsformen. Die vorstehende Beschreibung und die Zeichnungen dienen nur zur Veranschaulichung und sind nicht beschränkend aufzufassen. Es sind zahlreiche spezifische Details beschrieben, so dass verschiedene Ausführungsformen gut verständlich werden.The foregoing description has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the disclosure are described with reference to details discussed herein, and the accompanying drawings illustrate the various embodiments. The foregoing description and drawings are for illustrative purposes only and are not intended to be limiting. Numerous specific details are described so that various embodiments will be well understood.

Die zusätzlichen oder alternativen Ausführunsformen können in anderen spezifischen Formen ausgeführt werden, ohne von deren Wesen oder essentiellen Eigenschaften abzuweichen. Die beschriebenen Ausführungsformen sollen in allen Aspekten nur als veranschaulichend und nicht als beschränkend aufgefasst werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche angegeben und nicht durch die vorstehende Beschreibung. Alle Änderungen innerhalb der Bedeutung und des Bereichs der Äquivalenz der Ansprüche sollen von deren Umfang umfasst sein.The additional or alternative embodiments may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The described embodiments are to be considered in all aspects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes within the meaning and range of equivalence of the claims are intended to be embraced by their scope.

Die vorstehend beschriebenen Ausführungsformen der Offenbarung, die in den beigefügten Figuren gezeigt sind, beschränken den Umfang der Offenbarung nicht, da diese Ausführungsformen lediglich Beispiele von Ausführungsformen der Erfindung sind, die durch die beigefügten Ansprüche und deren rechtlichen Äquivalente festgelegt ist. Jedwede äquivalente Ausführungsformen sollen innerhalb des Umfangs dieser Erfindung vorliegen. Verschiedene Modifizierungen der vorliegenden Offenbarung, zusätzlich zu denjenigen, die hier beschrieben sind, wie z.B. alternative geeignete Kombinationen der beschriebenen Merkmale, ergeben sich für den Fachmann aus der Beschreibung. Solche Modifizierungen und Ausführungsformen sollen auch in den Umfang der beigefügten Ansprüche und rechtlichen Äquivalente fallen.The above-described embodiments of the disclosure shown in the accompanying figures do not limit the scope of the disclosure, as these embodiments are merely examples of embodiments of the invention, which is defined by the appended claims and their legal equivalents. Any equivalent embodiments are intended to be within the scope of this invention. Various modifications of the present disclosure, in addition to those described herein, such as e.g. Alternative suitable combinations of the features described will become apparent to those skilled in the art from the description. Such modifications and embodiments are also intended to fall within the scope of the appended claims and legal equivalents.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 62/430709 [0001]US 62/430709 [0001]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Rublee, Ethan, et al., ORB: An Efficient alternative to SIFT or SURF, International Conference on Computer Vision, Seiten 2564-2571 (2011), beschrieben ist, deren Offenbarung vollständig unter Bezugnahme hierin einbezogen ist. In zusätzlichen Ausführungsformen kann das Bildabgleichsystem 100 andere Schlüsselpunktdetektoren und -deskriptoren nutzen, wie z.B. einen „Scale Invariant Feature Transform (SIFT)‟-Schlüsselpunktdetektor, einen „Speeded-Up Robust Features (SURF)“-Schlüsselpunktdetektor und oder einen „Histogram of Oriented Gradients (HOG)“-Schlüsselpunktdetektor [0035]Rublee, Ethan, et al., ORB: An Efficient Alternative to SIFT or SURF, International Conference on Computer Vision, pp. 2564-2571 (2011), the disclosure of which is fully incorporated herein by reference. In additional embodiments, the image matching system 100 may utilize other key-point detectors and descriptors, such as e.g. a "Scale Invariant Feature Transform (SIFT)" Key Point Detector, a "Speeded-Up Robust Features (SURF)" Key Point Detector and / or a "Histogram of Oriented Gradients (HOG)" Key Point Detector [0035]
  • Liu, Ziwei et al., Fast Burst Images Denoising, ACM Transaction on Graphics 33, Nr 6: 232 (2014) [0047]Liu, Ziwei et al., Fast Burst Images Denoising, ACM Transaction on Graphics 33, No 6: 232 (2014) [0047]

Claims (20)

Computerimplementiertes Verfahren zum Erzeugen von abgeglichenen Bildern aus Serienbildern, wobei das Verfahren umfasst: Erfassen einer Mehrzahl von Merkmalspunkten in einem Referenzbild und einem nachfolgenden Bild; Bestimmen eines Merkmalsdeskriptors für jeden Merkmalspunkt der Mehrzahl von Merkmalspunkten; Bestimmen von abgestimmten bzw. zusammengehörigen Merkmalspunkten zwischen dem Referenzbild und dem nachfolgenden Bild auf der Basis des Merkmalsdeskriptors jedes Merkmalspunkts; Bestimmen mindestens einer Homographie, die abgestimmte Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild zuordnet; und Verändern bzw. Verzerren bzw. Warpen des nachfolgenden Bilds auf der Basis der mindestens einen Homographie zum Erzeugen eines neuen abgeglichenen Bilds, das mit dem Referenzbild abgeglichen ist.A computer-implemented method for generating matched images from burst images, the method comprising: Detecting a plurality of feature points in a reference image and a subsequent image; Determining a feature descriptor for each feature point of the plurality of feature points; Determining matched feature points between the reference image and the subsequent image based on the feature descriptor of each feature point; Determining at least one homography associating matched feature points between the reference image and the subsequent image; and Altering or warping the subsequent image based on the at least one homography to produce a new adjusted image aligned with the reference image. Computerimplementiertes Verfahren nach Anspruch 1, bei dem das Bestimmen eines Merkmalsdeskriptors für jeden Merkmalspunkt der Mehrzahl von Merkmalspunkten das Analysieren der erfassten Merkmalspunkte und das Erzeugen eines Deskriptorvektors für jeden erfassten Merkmalspunkt umfasst, der Intensitätsinformationen, Pixelpositionsinformationen und Informationen bezüglich der lokalen Nachbarschaft bezüglich dessen jeweiligen Merkmalspunkts umfasst.Computer-implemented method according to Claim 1 wherein determining a feature descriptor for each feature point of the plurality of feature points comprises analyzing the detected feature points and generating a descriptor vector for each detected feature point comprising intensity information, pixel position information, and local neighborhood information regarding its respective feature point. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, bei dem das Bestimmen von abgestimmten Merkmalspunkten zwischen dem Referenzbild und dem nachfolgenden Bild umfasst: Vorhersagen für einen gegebenen Merkmalspunkt mit einer Pixelposition in dem Referenzbild einer entsprechenden Pixelposition in dem nachfolgenden Bild; Identifizieren eines Satzes von potenziell abgestimmten Merkmalspunkten von dem nachfolgenden Bild; Filtern von dem Satz von potenziell abgestimmten Merkmalspunkten von jedweden Merkmalspunkten mit einem Deskriptorabstand oberhalb eines Schwellenabstands von dem gegebenen Merkmalspunkt; und Auswählen eines abgestimmten Merkmalspunkts von dem Satz von potenziell abgestimmten Merkmalspunkten mit der höchsten Ähnlichkeitsbewertung als Abstimmung mit dem gegebenen Merkmalspunkt.Computer-implemented method according to Claim 1 or 2 in which the determining of matched feature points between the reference image and the subsequent image comprises: predicting for a given feature point having a pixel position in the reference image of a corresponding pixel position in the subsequent image; Identifying a set of potentially matched feature points from the subsequent image; Filtering the set of potentially matched feature points from any feature points having a descriptor distance above a threshold distance from the given feature point; and selecting a matched feature point from the set of potentially matched feature points having the highest similarity score in accordance with the given feature point. Computerimplementiertes Verfahren nach Anspruch 3, bei dem das Identifizieren des Satzes von potenziell abgestimmten Merkmalspunkten von dem nachfolgenden Bild das Vergleichen eines Merkmalsdeskriptors des gegebenen Merkmalspunkts mit Merkmalsdeskriptoren von Merkmalspunkten mit einer Pixelposition innerhalb einer vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition in dem nachfolgenden Bild umfasst.Computer-implemented method according to Claim 3 wherein identifying the set of potentially matched feature points from the subsequent image comprises comparing a feature descriptor of the given feature point with feature descriptors of feature points having a pixel position within a predetermined number of pixels of the predicted corresponding pixel position in the subsequent image. Computerimplementiertes Verfahren nach Anspruch 4, bei dem das Identifizieren des Satzes von potenziell abgestimmten Merkmalspunkten umfasst: Sortieren von Merkmalspunkten innerhalb der vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition gemäß den Ähnlichkeiten der Merkmalspunkte mit dem gegebenen Merkmalspunkt; und Filtern, von den sortierten Merkmalspunkten, aller bis auf eine vorgegebene Anzahl von Merkmalspunkten mit der stärksten Ähnlichkeit.Computer-implemented method according to Claim 4 wherein identifying the set of potentially matched feature points comprises: sorting feature points within the predetermined number of pixels of the predicted corresponding pixel position according to the similarities of the feature points to the given feature point; and filtering, from the sorted feature points, all but a predetermined number of feature points with the closest similarity. Computerimplementiertes Verfahren nach Anspruch 5, bei dem das Filtern, von den sortierten Merkmalspunkten, aller bis auf eine vorgegebene Anzahl von Merkmalspunkten mit der stärksten Ähnlichkeit das Filtern, von den sortierten Merkmalspunkten, aller bis auf drei Merkmalspunkte mit der stärksten Ähnlichkeit umfasst.Computer-implemented method according to Claim 5 in which the filtering, from the sorted feature points, all but a predetermined number of feature points with the strongest similarity, comprises filtering, from the sorted feature points, all but three most similarity feature points. Computerimplementiertes Verfahren nach Anspruch 5 oder 6, bei dem das Sortieren von Merkmalspunkten innerhalb der vorgegebenen Anzahl von Pixeln der vorhergesagten entsprechenden Pixelposition gemäß der Ähnlichkeiten der Merkmalspunkte mit dem gegebenen Merkmalspunkt das Sortieren der Merkmalspunkte gemäß eines Hamming-Abstands zwischen den Merkmalsdeskriptoren der Merkmalspunkte und dem Merkmalsdeskriptor des gegebenen Merkmalspunkts umfasst.Computer-implemented method according to Claim 5 or 6 wherein sorting feature points within the predetermined number of pixels of the predicted corresponding pixel position according to the similarities of the feature points with the given feature point comprises sorting the feature points according to a Hamming distance between the feature descriptors of the feature points and the feature descriptor of the given feature point. Computerimplementiertes Verfahren nach einem der Ansprüche 3 bis 7, wobei das Bestimmen der abgestimmten Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild ferner umfasst: Bestimmen, aus dem Satz von potenziell abgestimmten Merkmalspunkten, eines durchschnittlichen Verschiebungsvektors von der Pixelposition des gegebenen Merkmalspunkts; und Filtern, von dem Satz von potenziell abgestimmten Merkmalspunkten von Merkmalspunkten mit einer Verschiebung, die von dem durchschnittlichen Verschiebungsvektor um mehr als eine vorgegebene Anzahl von Pixeln abweicht.Computer implemented method according to one of Claims 3 to 7 wherein determining the matched feature points between the reference image and the subsequent image further comprises: determining, from the set of potentially matched feature points, an average displacement vector from the pixel location of the given feature point; and filtering, from the set of potentially matched feature points of feature points, a displacement that deviates from the average displacement vector by more than a predetermined number of pixels. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Bestimmen mindestens einer Homographie, die abgestimmte Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild zuordnet, das einzelne Anwenden eines Homographiebewegungsmodells auf jeden einer Mehrzahl von lokalen Bereichen zum Bestimmen einer Homographie für jeden lokalen Bereich umfasst, die Merkmalspunkte in einem lokalen Bereich des Referenzbilds Merkmalspunkten in einem entsprechenden lokalen Bereich des nachfolgenden Bilds zuordnet. The computer-implemented method of claim 1, wherein determining at least one homography associating matched feature points between the reference image and the subsequent image comprises applying a homography gesture model to each of a plurality of local regions individually to determine a homography for each local area. associates the feature points in a local area of the reference image with feature points in a corresponding local area of the subsequent image. Computerimplementiertes Verfahren nach Anspruch 8 oder 9, bei dem das Verändern des nachfolgenden Bilds auf der Basis der mindestens einen Homographie zum Erzeugen eines neuen abgeglichenen Bilds, das mit dem Referenzbild abgeglichen ist, das Verändern des nachfolgenden Bilds auf der Basis der Homographie jedes lokalen Bereichs umfasst.Computer-implemented method according to Claim 8 or 9 wherein modifying the subsequent image based on the at least one homography to produce a new matched image aligned with the reference image comprises changing the subsequent image based on the homography of each local area. System zum Erzeugen von abgeglichenen Bildern aus Serienbildern, umfassend: einen Speicher, der ein Referenzbild und ein nachfolgendes Bild umfasst; mindestens einen Prozessor, der kommunikativ mit dem Speicher gekoppelt ist und Anweisungen darauf speichert, die, wenn sie durch den mindestens einen Prozessor ausgeführt werden, bewirken, dass das System: das Referenzbild in eine Mehrzahl von lokalen Bereichen aufteilt; das nachfolgende Bild in eine Mehrzahl von entsprechenden lokalen Bereichen aufteilt; eine Mehrzahl von Merkmalspunkten in den lokalen Bereichen des Referenzbilds erfasst; eine Mehrzahl von Merkmalspunkten der entsprechenden lokalen Bereiche des nachfolgenden Bilds erfasst; abgestimmte bzw. zusammengehörige Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild bestimmt; lokale Bereiche des Referenzbilds, die nicht eine Schwellenanzahl von Merkmalspunkten umfassen, mit einem anderen lokalen Bereich des Referenzbilds vereinigt; auf der Basis der abgestimmten Merkmalspunkte zwischen dem Referenzbild und dem nachfolgenden Bild eine Homographie für jeden lokalen Bereich und vereinigten Bereich des Referenzbilds bestimmt, wobei die Homographie jedes lokalen Bereichs Merkmalspunkte von einem jeweiligen lokalen Bereich des Referenzbilds einem jeweiligen entsprechenden lokalen Bereich des nachfolgenden Bilds zuordnet; und das nachfolgende Bild auf der Basis der Homographie jedes lokalen Bereichs und vereinigten lokalen Bereichs verändert bzw. verzerrt bzw. warpt, so dass ein neues abgeglichenes Bild erzeugt wird, das mit dem Referenzbild abgeglichen ist.A system for generating matched images from burst images, comprising: a memory comprising a reference image and a subsequent image; at least one processor communicatively coupled to the memory and storing instructions thereon that, when executed by the at least one processor, cause the system to: divide the reference image into a plurality of local areas; dividing the subsequent image into a plurality of corresponding local areas; detects a plurality of feature points in the local areas of the reference image; detects a plurality of feature points of the respective local areas of the subsequent image; determines matched feature points between the reference image and the subsequent image; local areas of the reference image that do not include a threshold number of feature points are merged with another local area of the reference image; determining homography for each local area and unified area of the reference image based on the matched feature points between the reference image and the subsequent image, wherein the homography of each local area associates feature points from a respective local area of the reference image with a respective corresponding local area of the subsequent image; and the subsequent image based on the homography of each local area and the combined local area alters / warps to produce a new matched image aligned with the reference image. System nach Anspruch 11, bei dem die Anweisungen, wenn sie durch den mindestens einen Prozessor ausgeführt werden, bewirken, dass das System eine Homographie für jeden lokalen Bereich des Referenzbilds durch Ausführen von Schritten bestimmt, umfassend: Bestimmen, ob jeder lokale Bereich der Mehrzahl von lokalen Bereichen des Referenzbilds mindestens eine Schwellenanzahl von Merkmalspunkten umfasst; wenn ein gegebener lokaler Bereich des Referenzbilds mindestens die vorgegebene Anzahl von Merkmalspunkten umfasst, Bestimmen einer Homographie des gegebenen lokalen Bereichs; und wenn ein gegebener lokaler Bereich des Referenzbilds mindestens die vorgegebene Anzahl von Merkmalspunkten nicht umfasst, Vereinigen des gegebenen lokalen Bereichs mit einem zusätzlichen lokalen Bereich des Referenzbilds zum Bilden eines vereinigten lokalen Bereichs und Bestimmen der Homographie des vereinigten lokalen Bereichs.System after Claim 11 wherein the instructions, when executed by the at least one processor, cause the system to determine homography for each local area of the reference image by performing steps comprising: determining whether each local area of the plurality of local areas of the reference image comprises at least one threshold number of feature points; if a given local area of the reference image comprises at least the predetermined number of feature points, determining a homography of the given local area; and if a given local area of the reference image does not include at least the predetermined number of feature points, merging the given local area with an additional local area of the reference image to form a unified local area and determining the homography of the merged local area. System nach Anspruch 12, bei dem die Anweisungen, wenn sie durch den mindestens einen Prozessor ausgeführt werden, bewirken, dass das System die Homographie des vereinigten lokalen Bereichs durch Durchführen von Schritten bestimmt, die das Anpassen eines stabilen Homographiebewegungsmodells an den vereinigten lokalen Bereich umfassen.System after Claim 12 wherein the instructions, when executed by the at least one processor, cause the system to determine the homography of the merged local area by performing steps that include adapting a stable homography motion model to the merged local area. System nach Anspruch 12 oder 13, bei dem die Anweisungen, wenn sie durch den mindestens einen Prozessor ausgeführt werden, bewirken, dass das System das nachfolgende Bild durch Interpolieren von Homographieflussvektoren der Homographien, die in der Nähe von Grenzen vorliegen, die zwei oder mehr der entsprechenden lokalen Bereiche des nachfolgenden Bilds gemeinsam sind, verändert.System after Claim 12 or 13 in that the instructions, when executed by the at least one processor, cause the system to obtain the subsequent image by interpolating homography flow vectors of the homographies that are near boundaries, the two or more of the corresponding local regions of the subsequent image are common, changed. System nach einem der Ansprüche 11 bis 14, das ferner Anweisungen umfasst, die, wenn sie durch den mindestens einen Prozessor ausgeführt werden, bewirken, dass das System: bestimmt, ob Ecken des neuen abgeglichenen Bilds, die angrenzenden Ecken der Mehrzahl von lokalen Bereichen des nachfolgenden Bilds entsprechen, angrenzend sind; wenn die Ecken des neuen abgeglichenen Bilds nicht angrenzen, durchschnittliche Koordinaten der nicht-angrenzenden Ecken des neuen abgeglichenen Bilds bestimmt; und eine Homographie von jedem der lokalen Bereiche der Mehrzahl von lokalen Bereichen des Referenzbilds unter Verwendung der durchschnittlichen Koordinaten als Koordinaten der angrenzenden Ecken bestimmt.System according to one of Claims 11 to 14 method further comprising instructions that, when executed by the at least one processor, cause the system to: determine whether corners of the new matched image corresponding to adjacent corners of the plurality of local areas of the subsequent image are adjacent; if the corners of the new matched image do not abut, determining average coordinates of the non-adjacent corners of the new matched image; and determines a homography of each of the local areas of the plurality of local areas of the reference image using the average coordinates as coordinates of the adjacent corners. Computerimplementiertes Verfahren zum Erzeugen von abgeglichenen Bildern aus Serienbildern, wobei das Verfahren umfasst: Unterteilen eines Referenzbilds und eines nachfolgenden Bilds in eine Mehrzahl von lokalen Bereichen; Erfassen einer Mehrzahl von Merkmalspunkten in den lokalen Bereichen des Referenzbilds und des nachfolgenden Bilds; Bestimmen von abgestimmten bzw. zusammengehörigen Paaren von Merkmalspunkten zwischen dem Referenzbild und dem nachfolgenden Bild; auf der Basis der abgestimmten Paare von Merkmalspunkten Durchführen eines Schritts zum Bestimmen einer Homographie für jeden lokalen Bereich der Mehrzahl von lokalen Bereichen, wobei die Homographie jedes lokalen Bereichs Merkmalspunkte von einem lokalen Bereich des Referenzbilds einem entsprechenden lokalen Bereich des nachfolgenden Bilds zuordnet; und Verändern bzw. Verzerren bzw. Warpen des nachfolgenden Bilds auf der Basis der Homographie jedes lokalen Bereichs der Mehrzahl von lokalen Bereichen zum Erzeugen eines neuen abgeglichenen Bilds, das mit dem Referenzbild abgeglichen ist.A computer-implemented method for generating matched images from burst images, the method comprising: Dividing a reference picture and a subsequent picture into a plurality of local areas; Detecting a plurality of feature points in the local areas of the reference image and the subsequent image; Determining matched pairs of feature points between the reference image and the subsequent image; performing, based on the matched pairs of feature points, a step of determining a homography for each local area of the plurality of local areas, the homography of each local area associating feature points from a local area of the reference image with a corresponding local area of the subsequent image; and Changing or warping the subsequent image based on the homography of each local area of the plurality of local areas to produce a new matched image aligned with the reference image. Computerimplementiertes Verfahren nach Anspruch 16, bei dem das Bestimmen von abgestimmten Paaren von Merkmalspunkten zwischen dem Referenzbild und dem nachfolgenden Bild das Bestimmen von Merkmalspunkten, die einander am ähnlichsten sind, mindestens teilweise auf der Basis eines Hamming-Abstands zwischen den Merkmalsdeskriptoren der Merkmalspunkte umfasst.Computer-implemented method according to Claim 16 wherein determining matched pairs of feature points between the reference image and the subsequent image comprises determining feature points that are most similar to one another based at least in part on a Hamming distance between the feature descriptors of the feature points. Computerimplementiertes Verfahren nach Anspruch 16 oder 17, bei dem das Unterteilen jedes von einem Referenzbild und einem nachfolgenden Bild das Unterteilen des Referenzbilds in mindestens vier lokale Bereiche und des nachfolgenden Bilds in mindestens vier entsprechende lokale Bereiche umfasst.Computer-implemented method according to Claim 16 or 17 wherein dividing each of a reference image and a subsequent image comprises dividing the reference image into at least four local regions and the subsequent image into at least four corresponding local regions. Computerimplementiertes Verfahren nach Anspruch 18, bei dem das Unterteilen des Referenzbilds in mindestens vier lokale Bereiche und des nachfolgenden Bilds in mindestens vier entsprechende lokale Bereiche das Unterteilen des Referenzbilds und des nachfolgenden Bilds mittels eines räumlichen 2 x 2-Gitters umfasst.Computer-implemented method according to Claim 18 in which dividing the reference image into at least four local regions and the subsequent image into at least four corresponding local regions comprises subdividing the reference image and the subsequent image by means of a 2 × 2 spatial grid. Computerimplementiertes Verfahren nach einem der Ansprüche 16 bis 19, bei dem das Erfassen einer Mehrzahl von Merkmalspunkten das Auswählen einer besten bzw. höchsten Anzahl von Merkmalspunkten mit den höchsten Vertrauenswerten aus jedem lokalen Bereich der Mehrzahl von lokalen Bereichen umfasst.Computer implemented method according to one of Claims 16 to 19 wherein detecting a plurality of feature points comprises selecting a best number of feature points having the highest confidence values from each local area of the plurality of local areas.
DE102017009118.8A 2016-12-06 2017-09-29 IMAGE BALANCE FOR SERIAL PICTURES Pending DE102017009118A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662430709P 2016-12-06 2016-12-06
US62/430,709 2016-12-06
US15/676,903 US10453204B2 (en) 2016-12-06 2017-08-14 Image alignment for burst mode images
US15/676,903 2017-08-14

Publications (1)

Publication Number Publication Date
DE102017009118A1 true DE102017009118A1 (en) 2018-06-07

Family

ID=60326749

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017009118.8A Pending DE102017009118A1 (en) 2016-12-06 2017-09-29 IMAGE BALANCE FOR SERIAL PICTURES

Country Status (2)

Country Link
DE (1) DE102017009118A1 (en)
GB (1) GB2557417B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20196125A1 (en) * 2019-12-23 2021-06-24 Truemed Oy Method for identifying authenticity of an object
CN111639655B (en) * 2020-05-20 2023-10-13 北京百度网讯科技有限公司 Image local information generation method, device, electronic equipment and storage medium
CN116309760B (en) * 2023-05-26 2023-09-19 安徽高哲信息技术有限公司 Cereal image alignment method and cereal detection equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8699819B1 (en) * 2012-05-10 2014-04-15 Google Inc. Mosaicing documents for translation using video streams
US10290111B2 (en) * 2016-07-26 2019-05-14 Qualcomm Incorporated Systems and methods for compositing images

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Liu, Ziwei et al., Fast Burst Images Denoising, ACM Transaction on Graphics 33, Nr 6: 232 (2014)
Rublee, Ethan, et al., ORB: An Efficient alternative to SIFT or SURF, International Conference on Computer Vision, Seiten 2564-2571 (2011), beschrieben ist, deren Offenbarung vollständig unter Bezugnahme hierin einbezogen ist. In zusätzlichen Ausführungsformen kann das Bildabgleichsystem 100 andere Schlüsselpunktdetektoren und -deskriptoren nutzen, wie z.B. einen „Scale Invariant Feature Transform (SIFT)‟-Schlüsselpunktdetektor, einen „Speeded-Up Robust Features (SURF)"-Schlüsselpunktdetektor und oder einen „Histogram of Oriented Gradients (HOG)"-Schlüsselpunktdetektor

Also Published As

Publication number Publication date
GB201716295D0 (en) 2017-11-22
GB2557417A (en) 2018-06-20
GB2557417B (en) 2021-04-21

Similar Documents

Publication Publication Date Title
DE112018002228B4 (en) CONFIGURABLE CONVOLUTION ENGINE FOR NESTING CHANNEL DATA
DE102019005938A1 (en) Intelligent identification of replacement areas for mixing and replacing people in group portraits
DE102017010210A1 (en) Image Matting by means of deep learning
DE102019007196A1 (en) Identification of target objects using the scaling-diverse segmentation of serving neural networks
DE10317917B4 (en) System and method for bounding and classifying regions within a graphic image
DE202014010843U1 (en) Align ground based images with aerial images
DE112014006439B4 (en) Edge detection device, edge detection method and program
DE102017006563A1 (en) Image patch matching using probability based sampling based on prediction
DE102017009276A1 (en) TO PRODUCE A THREE-DIMENSIONAL MODEL FROM A SCANNED OBJECT
DE112016001830T5 (en) Discovering companies from images
DE102015010096A1 (en) Configuration settings of a digital camera for depth map generation
DE102020007951A1 (en) Use of a neural network used for coloring to generate colored images based on interactive colored edges
DE202015009148U1 (en) Automatic editing of images
DE112016005776T5 (en) Systems and methods for providing an image classifier
DE102014211948A1 (en) System and method for the selective determination of point clouds
DE112013005851T5 (en) Method and system for determining and selecting the best photos
DE102015107872A1 (en) Refreshable texture for use in rendering an image
DE112011103452T5 (en) Method for matching pixels of a distance representation
JP2021531571A (en) Certificate image extraction method and terminal equipment
DE102017005964A1 (en) Techniques for selecting objects in images
DE102019122402A1 (en) CLASSIFYING TIME SERIES IMAGE DATA
DE102020003314A1 (en) Image manipulation with geometric and photometric transformations
DE102017009118A1 (en) IMAGE BALANCE FOR SERIAL PICTURES
DE102018006995A1 (en) Reassemble and repair parts of a torn image
DE202016006110U1 (en) Extension of the field of view of photography

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000