DE112020006943T5 - Panoramaerzeugung mit mobiler kamera - Google Patents

Panoramaerzeugung mit mobiler kamera Download PDF

Info

Publication number
DE112020006943T5
DE112020006943T5 DE112020006943.5T DE112020006943T DE112020006943T5 DE 112020006943 T5 DE112020006943 T5 DE 112020006943T5 DE 112020006943 T DE112020006943 T DE 112020006943T DE 112020006943 T5 DE112020006943 T5 DE 112020006943T5
Authority
DE
Germany
Prior art keywords
frames
frame
interest
computer
implemented method
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
DE112020006943.5T
Other languages
English (en)
Inventor
Lin Chen
Wei Hong
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112020006943T5 publication Critical patent/DE112020006943T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • 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
    • 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/30168Image quality inspection
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

Vorgesehen sind Geräte und Verfahren zum Auswählen und Zusammenfügen von Einzelbildern. Ein Verfahren beinhaltet ein Erhalten einer Vielzahl von Einzelbildern. Das Verfahren beinhaltet außerdem ein Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern. Das Verfahren beinhaltet ferner ein Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist. Das Verfahren umfasst zusätzlich ein Zusammenfügen der ausgewählten Reihe von Basisbildern, um ein zusammengesetztes Bild zu erstellen.

Description

  • HINTERGRUND
  • Bei der Bildverarbeitung ist die „Bildzusammenfügung“ ein Verfahren, bei dem mehrere einzelne Einzelbilder zu einem zusammengesetzten Bild, beispielsweise einem Panoramabild, miteinander kombiniert werden. Es gibt zwar viele Ansätze, aber die meisten Algorithmen der Bildzusammenfügung basieren auf einzelnen Einzelbildern, die zumindest einige überlappende Bereiche enthalten. Solche Algorithmen der Bildzusammenfügung erkennen in den überlappenden Bereichen im Allgemeinen charakteristische Merkmale und gleichen die Merkmale dann ab, um Übereinstimmungen zwischen den einzelnen Einzelbildern herzustellen. Danach vermischen die Algorithmen der Bildzusammenfügung im Allgemeinen entsprechende Einzelbilder in den überlappenden Bereichen miteinander, um ein finales zusammengesetztes Bild zu erstellen.
  • KURZDARSTELLUNG
  • Beispielhafte Ausführungsformen umfassen ein Computergerät, das eine Bildzusammenfügung ausführt. Das Computergerät kann ein Basisbildauswahlmodul beinhalten, das betrieben werden kann, um ein oder mehrere Basisbilder aus einer Vielzahl von Einzelbildern auszuwählen. Das Computergerät kann auch ein Zusammenfügungsmodul beinhalten, das betrieben werden kann, um das eine oder die mehreren ausgewählten Basisbilder zusammenzufügen. Unter Verwendung dieser beiden Module könnte das Computergerät zusammengesetzte Bilder, beispielsweise Panoramabilder, erzeugen und diese zusammengesetzten Bilder dann Nutzern anzeigen.
  • In einem ersten Aspekt wird ein computerimplementiertes Verfahren bereitgestellt. Das Verfahren beinhaltet das Erhalten, durch ein Computergerät, einer Vielzahl von Einzelbildern. Das Verfahren beinhaltet außerdem das Identifizieren, durch das Computergerät, eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern. Das Verfahren beinhaltet ferner das Auswählen, durch das Computergerät und basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist. Das Verfahren beinhaltet ferner das Zusammenfügen der ausgewählten Reihe von Basisbildern durch das Computergerät, um ein zusammengesetztes Bild zu erstellen.
  • In einem zweiten Aspekt wird ein Computergerät bereitgestellt. Das Computergerät kann einen oder mehrere Prozessoren beinhalten. Das Computergerät kann auch einen nicht-flüchtigen Datenspeicher beinhalten, der zumindest computerlesbare Anweisungen speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Computergerät veranlassen, Operationen auszuführen. Die Operationen können das Erhalten einer Vielzahl von Einzelbildern beinhalten. Die Operationen können außerdem das Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern beinhalten. Die Operationen können ferner das Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern beinhalten, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist. Die Operationen können zusätzlich das Zusammenfügen der ausgewählten Reihe von Basisbildern beinhalten, um ein zusammengesetztes Bild zu erstellen.
  • In einem dritten Aspekt wird ein Fertigungserzeugnis bereitgestellt. Das Fertigungserzeugnis kann einen nicht-flüchtigen Datenspeicher beinhalten, der zumindest computerlesbare Anweisungen speichert, die, wenn sie von einem oder mehreren Prozessoren eines Computergeräts ausgeführt werden, das Computergerät veranlassen, Operationen auszuführen. Die Operationen können das Erhalten einer Vielzahl von Einzelbildern beinhalten. Die Operationen können außerdem das Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern beinhalten. Die Operationen können ferner das Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern beinhalten, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist. Die Operationen können zusätzlich das Zusammenfügen der ausgewählten Reihe von Basisbildern beinhalten, um ein zusammengesetztes Bild zu erstellen.
  • In einem vierten Aspekt wird ein System bereitgestellt. Das System kann Einrichtungen zum Erhalten einer Vielzahl von Einzelbildern beinhalten. Das System kann außerdem Einrichtungen zum Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern beinhalten. Das System kann ferner Einrichtungen zum Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern beinhalten, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist. Das System kann zusätzlich Einrichtungen zum Zusammenfügen der ausgewählten Reihe von Basisbildern beinhalten, um ein zusammengesetztes Bild zu erstellen.
  • Durchschnittsfachleuten auf dem technischen Gebiet werden andere Aspekte, Ausführungsformen und Implementierungen deutlich, wenn sie die folgende detaillierte Beschreibung lesen und sich gegebenenfalls auf die begleitenden Zeichnungen beziehen.
  • Figurenliste
    • 1 veranschaulicht ein Computergerät gemäß beispielhaften Ausführungsformen.
    • 2 zeigt eine Übersicht über die Operationen eines Basisbildauswahlmoduls und eines Zusammenfügungsmoduls gemäß beispielhaften Ausführungsformen.
    • 3 veranschaulicht Operationen eines Basisbildauswahlmoduls gemäß beispielhaften Ausführungsformen.
    • 4 veranschaulicht eine beispielhafte Einzelbildteilmenge gemäß beispielhaften Ausführungsformen.
    • 5 veranschaulicht Operationen eines Zusammenfügungsmoduls gemäß beispielhaften Ausführungsformen.
    • 6 zeigt beispielhafte Einzelbildprojektionen gemäß beispielhaften Ausführungsformen.
    • 7 zeigt beispielhafte Nähte gemäß beispielhafter Ausführungsformen.
    • 8 veranschaulicht ein Verfahren gemäß beispielhaften Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hier werden beispielhafte Verfahren, Geräte und Systeme beschrieben. Es versteht sich, dass die Worte „Beispiel“ und „beispielhaft“ hier mit der Bedeutung „als Beispiel oder Veranschaulichung dienend“ verwendet werden. Ausführungsformen oder Merkmale, die hier als ein „Beispiel“ oder „beispielhaft“ beschrieben werden, sind nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen oder Merkmalen zu verstehen, es sei denn dies wird entsprechend angegeben. Es können andere Ausführungsformen verwendet und andere Änderungen vorgenommen werden, ohne vom Schutzumfang des hier dargelegten Gegenstands abzuweichen.
  • Demnach sind die hier beschriebenen beispielhaften Ausführungsformen nicht als Einschränkung zu verstehen. Es versteht sich, dass die Aspekte der vorliegenden Offenbarung, wie sie hier im Allgemeinen beschrieben und in den Figuren veranschaulicht sind, in einem breiten Spektrum unterschiedlicher Konfigurationen angeordnet, ersetzt, kombiniert, getrennt und konzipiert werden können.
  • In dieser Beschreibung werden die Artikel „ein“ oder „eine“ zur Einführung von Elementen der beispielhaften Ausführungsformen verwendet. Ein Verweis auf „ein“ oder „eine“ bezieht sich auf „mindestens ein“ bzw. „mindestens eine“ und ein Verweis auf „die“, „der“ bzw. „das“ bezieht sich auf „die mindestens eine“, „der mindestens eine“ bzw. „das mindestens eine“ sofern nicht anders angegeben oder sofern sich aus dem Kontext nicht eindeutig anderes ergibt. Die Konjunktion „oder“ in einer beschriebenen Liste von mindestens zwei Begriffen dient dem Zweck, einen der aufgelisteten Begriffe oder eine Kombination der aufgelisteten Begriffe anzugeben.
  • Die Verwendung von Ordnungszahlen wie „erste“, „zweite“, „dritte“ usw. dient dazu, entsprechende Elemente zu unterscheiden und nicht eine bestimmte Reihenfolge dieser Elemente zu kennzeichnen. Die Begriffe „mehrere“ und „eine Vielzahl von“ beziehen sich im Sinne dieser Beschreibung auf „zwei oder mehr“ bzw. „mehr als eine/r/s“.
  • Ferner können die in den Figuren veranschaulichten Merkmale, sofern aus dem Kontext nicht anders hervorgeht, in Kombination miteinander verwendet werden. Die Figuren sind daher im Allgemeinen als Teilaspekte einer oder mehrerer Gesamtausführungsformen anzusehen, mit dem Verständnis, dass nicht alle veranschaulichten Merkmale für jede Ausführungsform notwendig sind. Sofern nichts anderes aus dem Kontext hervorgeht, kennzeichnen ähnliche Symbole in den Figuren ähnliche Komponenten. Ferner sind Figuren, sofern nicht anders angegeben, nicht maßstabsgetreu und dienen lediglich der Veranschaulichung. Außerdem handelt es sich bei den Figuren um Darstellungen und nicht alle Komponenten sind dargestellt. So werden z. B. zusätzliche Struktur- oder Rückhaltekomponenten möglicherweise nicht gezeigt.
  • Darüber hinaus dienen Aufzählungen von Elementen, Blöcken oder Schritten in dieser Patentschrift bzw. den Ansprüchen der Übersichtlichkeit. Eine solche Aufzählung ist daher nicht dahingehend zu verstehen, dass diese Elemente, Blöcke oder Schritte eine bestimmte Anordnung erfordern oder implizieren oder in einer bestimmten Reihenfolge ausgeführt werden.
  • I. Übersicht
  • Einige beispielhafte Prozesse der Bildzusammenfügung beinhalten vier Phasen: Basisbildauswahl, Merkmalserkennung, Ausrichtung und Vermischen. Die Basisbildauswahlphase beinhaltet das Auswählen eines oder mehrerer Basisbilder aus einer Reihe von Kandidatenbasisbildern. Die Merkmalserkennungsphase beinhaltet das Identifizieren entsprechender Merkmale in dem einen oder den mehreren ausgewählten Basisbildern. Die Ausrichtungsphase beinhaltet das Transformieren von zumindest einigen des einen oder der mehreren ausgewählten Basisbilder, um die identifizierten Merkmale auszurichten. Und die Phase der Vermischung beinhaltet das Zusammenführen der ausgerichteten Bilder zu einem einzigen zusammengesetzten Bild.
  • Viele Prozesse der Bildzusammenfügung beinhalten eine Basisbildauswahlphase, in der nicht versucht wird, zwischen Objekten von Interesse und Hintergrundobjekten zu unterscheiden. Infolgedessen werden in derartigen Prozesse der Bildzusammenfügung häufig Basisbilder ausgewählt, die Darstellungen von Objekten von Interesse mit geringer Qualität enthalten; d. h. Objekte von Interesse, die in irgendeiner Weise unscharf, unterbelichtet und/oder verzerrt sind. Dieses Problem kann hinsichtlich der Bildgenauigkeit von Nachteil sein und könnte die Gesamtqualität der durch diese Prozesse der Bildzusammenfügung erzeugten zusammengesetzten Bilder mindern. Insbesondere können Verzerrungen, selbst wenn diese Verzerrungen der Objekte von Interesse relativ gering sind, in den zusammengesetzten Bildern besonders auffällig sein und eine bedeutende Verschlechterung der Bildqualität darstellen.
  • Viele Prozesse der Bildzusammenfügung beinhalten eine Phase der Vermischung, in der auch nicht versucht wird, zwischen Objekten von Interesse und Hintergrundobjekten zu unterscheiden. Infolgedessen werden bei solchen Prozessen der Bildzusammenfügung beim Vermischen zweier Einzelbilder miteinander häufig Nähte direkt über Objekte von Interesse gelegt, wodurch Artefakte und/oder andere Verzerrungen an diesen Objekten von Interesse auftreten. Dieses Problem kann hinsichtlich der Bildgenauigkeit ebenfalls von Nachteil sein und könnte auch die Gesamtqualität der anhand dieser Prozesse der Bildzusammenfügung erzeugten zusammengesetzten Bilder mindern.
  • Die vorliegende Offenbarung stellt einen Prozess der Bildzusammenfügung bereit, der helfen kann, diese Probleme zu lösen. Genauer gesagt, wählen beispielhafte Prozesse der Bildzusammenfügung intelligent Basisbilder aus, indem sie die Qualität der Objekte von Interesse in einer Reihe von Kandidaten-Basisbildern berücksichtigen. Beispielhafte Prozesse der Bildzusammenfügung können während der Phase der Vermischung auch Nähte sanktionieren, die auf Objekte von Interesse gelegt wurden. Zweckmäßigerweise ermöglichen die offenbarten Prozesse der Bildzusammenfügung die Erzeugung von zusammengesetzten Bildern, die Objekte von Interesse hoher Qualität enthalten.
  • Das offenbarte Verfahren könnte durch ein Computergerät, beispielsweise ein mobiles Gerät, ein Servergerät oder eine andere Art von Computergerät implementiert werden. Das Computergerät könnte ein Basisbildauswahlmodul beinhalten, das betrieben werden kann, um eine Vielzahl von Einzelbildern zu empfangen und als Reaktion darauf Bereiche von Interesse in der Vielzahl von Einzelbildern zu identifizieren. Die Bereiche von Interesse könnten u. a. Bereichen mit Objekten von Interesse, beispielsweise menschlichen Gesichtern, Gebäuden, Fahrzeugen oder Tieren entsprechen. Nach dem Identifizieren der Bereiche von Interesse könnte das Basisbildauswahlmodul eine Reihe von Basisbildern aus der Vielzahl von Einzelbildern auswählen. Die Auswahl kann insbesondere derart erfolgen, dass jeder identifizierte Bereich von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist.
  • Das Computergerät könnte auch ein Zusammenfügungsmodul beinhalten, das betrieben werden kann, um die Reihe von Basisbildern, die durch das Basisbildauswahlmodul ausgewählt wird, zu empfangen und die Reihe von Basisbildern zusammenzufügen, um ein zusammengesetztes Bild zu erstellen. Während des Ausführens der Zusammenfügung könnte das Zusammenfügungsmodul einen Nahtfindungsprozess implementieren, der den Nähten, die auf Bereiche von Interesse in der Reihe von Basisbildern gelegt wurden, eine systematische rechnerische Abweichung hinzufügt. In einigen Beispielen beinhaltet diese systematische rechnerische Abweichung das Hinzufügen eines Strafterms zu einer Naht, die Pixel aus den Bereichen von Interesse enthält.
  • In einigen Beispielen wird das offenbarte Verfahren durch das gleiche Gerät implementiert, das das eine oder die mehreren Einzelbilder erfasst hat. Beispielsweise können das Basisbildauswahlmodul und das Zusammenfügungsmodul auf einem Computergerät installiert sein. Nachdem das Computergerät ein oder mehrere Bilder erfasst hat, kann dann das Basisbildauswahlmodul aufgerufen werden, eine Reihe von Basisbildern aus dem einen oder den mehreren Bildern auszuwählen. Anschließend könnte das Zusammenfügungsmodul aufgerufen werden, aus der Reihe von Basisbildern ein zusammengesetztes Bild zu erstellen. Das zusammengesetzte Bild kann angezeigt, übermittelt, gespeichert und/oder anderweitig verwendet werden; beispielsweise auf Papier gedruckt werden. In anderen Beispielen können die Basisbildauswahl- und/oder Prozesse der Bildzusammenfügung durch ein Gerät implementiert werden, das separat, aber kommunikativ mit dem Gerät gekoppelt ist, das das eine oder die mehreren Einzelbilder erfasst hat.
  • In einigen Beispielen können Bilder aus einem Strom aus aufeinanderfolgenden Bildern (z. B. einem Videostream) zusammengefügt werden. Der Bildstrom kann von einer nach vorne gerichteten (z. B. dem Nutzer zugewandten) Kamera eines Computergeräts, einer nach hinten gerichteten (z. B. nicht dem Nutzer zugewandten) Kamera des Computergeräts oder einer anderen Kamera des Computergeräts erfasst werden. In einigen Fällen kann der Strom aufeinanderfolgender Bilder unter Verwendung mehrerer Kameras des Computergeräts erfasst werden, beispielsweise der nach vorne gerichteten Kamera und der nach hinten gerichteten Kamera.
  • In einigen Beispielen kann ein zusammengesetztes Bild mit minimaler oder keiner Nutzereingabe erzeugt werden. Das zusammengesetzte Bild kann zum Beispiel erzeugt werden, ohne dass ein Nutzer Bereiche von Interesse, Objekte von Interesse oder andere Aspekte eines Einzelbildes identifizieren muss. Zusätzlich kann das zusammengesetzte Bild erzeugt werden, ohne dass der Nutzer das eine oder die mehreren Einzelbilder mit einer bestimmten Geste erfassen muss (z. B. horizontales Scannen einer Szene mit dem Computergerät). Automatische Bildzusammenfügungsanwendungen können von Vorteil sein, da sie keine solchen Nutzereingaben erfordern. Es werden jedoch auch Variationen der hier beschriebenen Verfahren mit einer oder mehreren Arten von Nutzereingaben in Betracht gezogen.
  • In einigen Beispielen kann das Computergerät Basisbilder unter Verwendung eines Modells für maschinelles Lernen auswählen, das basierend auf Basisbildauswahlentscheidungen durch das Computergerät trainiert wird. Nachdem das Computergerät beispielsweise einige (z. B. 4 bis 10) Basisbildauswahlentscheidungen unter Verwendung des hier beschriebenen Basisbildauswahlmoduls getroffen hat, könnte das Computergerät die Basisbildauswahlentscheidungen verwenden, um ein Modell für maschinelles Lernen zu trainieren. Nach Abschluss des Trainierens könnte das Computergerät das trainierte Modell für maschinelles Lernen zusammen mit dem beschriebenen Basisbildauswahlmodul verwenden, um Basisbilder intelligent auszuwählen. Es sind auch andere Wege der Auswahl von Basisbildern möglich.
  • Mit Bezug auf Ausführungsformen, die das Auswählen von Basisbildern unter Verwendung eines Modells für maschinelles Lernen, Interaktionen durch das Computergerät mit Servergeräten beinhalten oder in anderer Weise das Weitergeben von Basisbildern oder zusammengesetzten Bildern an andere Computergeräte beinhalten, können einem Nutzer Bedienelemente bereitgestellt werden, die es dem Nutzer ermöglichen, eine Wahl zu treffen, ob und wann Programme, Geräte oder hier beschriebene Merkmale das Sammeln von Nutzerinformationen ermöglichen können (z. B. Informationen über das soziale Netzwerk eines Nutzers, soziale Handlungen oder Aktivitäten, der Beruf, Nutzereinstellungen oder der aktuellen Standort eines Nutzers), und ob dem Nutzer Inhalte oder Mitteilungen von einem Server übermittelt werden. Außerdem können bestimmte Daten auf eine oder mehrere Arten behandelt werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Daten entfernt werden. So kann beispielsweise mit der Identität eines Nutzers so umgegangen werden, dass keine personenbezogene Daten für den Nutzer ermittelt werden können, oder ein geografischer Standort eines Nutzers kann, wenn Standortinformationen erhalten werden, generalisiert werden (beispielsweise als eine Stadt, eine Postleitzahl oder eine Landesebene), sodass ein bestimmter Standort eines Nutzers nicht ermittelt werden kann. So kann der Nutzer Kontrolle darüber haben, welche Informationen über den Nutzer gesammelt werden, wie die Informationen verwendet werden und welche Informationen dem Nutzer bereitgestellt werden.
  • Denjenigen, die die folgende Beschreibung lesen und sich gegebenenfalls auf die begleitenden Zeichnungen beziehen, werden diese und andere Aspekte, Vorteile und Alternativen deutlich. Es versteht sich ferner, dass die Erläuterungen in dieser Übersicht und an anderer Stelle in diesem Dokument nur beispielhaft sind und zahlreiche Variationen möglich sind.
  • II. Beispielhafte Computergeräte
  • 1 veranschaulicht das Computergerät 100 gemäß beispielhaften Ausführungsformen. Das Computergerät 100 kann ein beispielhaftes Computergerät sein, das Basisbilder aus einer Vielzahl von Einzelbildern auswählen und dann die ausgewählten Basisbilder zusammenfügen könnte, um ein zusammengesetztes Bild zu erstellen. Das Computergerät 100 kann verschiedene Formen annehmen, beispielsweise die eines Servergeräts, eines mobilen Geräts, eines Kamerageräts oder eines anderen Geräts.
  • Wie in 1 dargestellt, könnte das Computergerät 100 die Kamera 110 beinhalten. Die Kamera 110 kann eine oder mehrere Bilderfassungsgeräte, beispielsweise Standbild- und/oder Videokameras, beinhalten, die so ausgestattet sind, dass sie Licht einfangen und das eingefangene Licht in einem oder mehreren Einzelbildern festhalten. Das bedeutet, dass die Kamera 110 (ein) Einzelbild(er) von eingefangenem Licht erzeugen kann. Das eine oder die mehreren Einzelbilder können ein oder mehrere Standeinzelbilder und/oder ein oder mehrere Einzelbilder sein, die in Videoaufnahmen verwendet werden (z. B. ein kontinuierlicher Strom von Einzelbildern). Die Kamera 110 kann Licht und/oder elektromagnetische Strahlung einfangen, die als sichtbares Licht, Infrarotstrahlung, ultraviolettes Licht und/oder als eine oder mehrere andere Lichtfrequenzen abgestrahlt wird.
  • Die Kamera 110 könnte als eine nach vorne gerichtete (z. B. dem Nutzer zugewandte) Kamera und/oder eine nach hinten gerichtete (z. B. nicht dem Nutzer zugewandte) Kamera des Computergeräts 100 ausgebildet sein. In einigen Implementierungen könnte die Kamera 110 Einzelbilder mit einer voreingestellten Bildrate erfassen. Das heißt, die Kamera 110 könnte alle X Sekunden ein Einzelbild erfassen. Beispielhafte Bildraten beinhalten unter anderem 24 Bilder pro Sekunde (FPS), 30 FPS oder 50 FPS.
  • In einigen Beispielen könnte die Kamera 110 in einem bestimmten Drehwinkel ausgerichtet sein und Einzelbilder in diesem Drehwinkel erfassen. In einigen Implementierungen ist der Drehwinkel ein horizontaler Winkel. Das heißt, dass der Drehwinkel der horizontalen Drehung der Kamera 110 aus einer anfänglichen Ausrichtung entsprechen kann. In anderen Implementierungen ist der Drehwinkel ein vertikaler Winkel. Das heißt, dass der Drehwinkel der vertikalen Drehung der Kamera 110 aus einer anfänglichen Ausrichtung entsprechen kann. In beispielhaften Ausführungsformen kann die anfängliche Ausrichtung der Ausrichtung der Kamera 110 entsprechen, wenn sie ein erstes Einzelbild in einem Strom von Einzelbildern erfasst.
  • In beispielhaften Ausführungsformen kann jedem von der Kamera 110 erfassten Einzelbild ein Qualitätsmaß zugeordnet sein. Dieses Qualitätsmaß kann eine quantitative Metrik sein, die unter anderem basierend auf der Bewegungsunschärfe des erfassten Einzelbildes, dem Gesamtfokus des erfassten Einzelbildes und/oder der Belichtung des erfassten Einzelbildes berechnet wird. In einigen Implementierungen kann dem Qualitätsmaß für ein erfasstes Einzelbild eine rechnerische systematische Abweichung hinzugefügt werden, um Pixeln, die sich in den Bereichen von Interesse befinden, die sich im erfassten Einzelbild befinden, größeres Gewicht beizumessen. So kann beispielsweise das Qualitätsmaß für ein Einzelbild mit unterbelichteten Bereichen von Interesse, aber korrekt belichteten Hintergrundobjekten geringer sein als das Qualitätsmaß für ein Einzelbild mit korrekt belichteten Bereichen von Interesse, aber unterbelichteten Hintergrundobjekten.
  • Die Anzeigekomponente 112 kann ausgebildet sein, um einem Nutzer über einen oder mehrere Bildschirme (einschließlich Touchscreens), Kathodenstrahlröhren (CRTs), Flüssigkristallanzeigen (LCDs), Leuchtdioden (LEDs), Anzeigen, die mit digitaler Lichtverarbeitungstechnologie (DLP) arbeiten, und/oder über andere ähnliche Technologien Ausgangssignale bereitzustellen. Die Anzeigekomponente 112 kann außerdem so ausgebildet sein, dass sie hörbare Ausgaben erzeugt, beispielsweise mit einem Lautsprecher, einer Lautsprecherbuchse, einem Audioausgang, einem Audioausgabegerät, Kopfhörern und/oder anderen ähnlichen Geräten. Die Anzeigekomponente 112 kann ferner mit einer oder mehreren haptischen Komponenten ausgebildet sein, die haptische Ausgaben erzeugen können, beispielsweise Vibrationen und/oder andere Ausgaben, die durch Berührung und/oder physischen Kontakt mit dem Computergerät 100 erfasst werden können.
  • Die Netzwerkschnittstelle 114 kann als Schnittstelle zwischen dem Computergerät 100 und anderen Computergeräten dienen. Die Netzwerkschnittstelle 114 kann eine oder mehrere drahtlose Schnittstellen und/oder drahtgebundene Schnittstellen beinhalten, die konfigurierbar sind, um über ein Netzwerk zu kommunizieren. Drahtlose Schnittstellen können einen oder mehrere drahtlose Sender, Empfänger und/oder Transceiver beinhalten, beispielsweise einen Bluetooth™-Transceiver, einen Zigbee®-Transceiver, einen Wi-Fi™-Transceiver, einen WiMAX™-Transceiver und/oder andere ähnliche Arten von drahtlosen Transceivern, die so konfiguriert werden können, dass sie über ein drahtloses Netzwerk kommunizieren. Drahtgebundene Schnittstellen können einen oder mehrere drahtgebundene Sender, Empfänger und/oder Transceiver beinhalten, beispielsweise einen Ethernet-Transceiver, einen Universal Serial Bus (USB)-Transceiver oder einen ähnlichen Transceiver, der so konfiguriert werden kann, dass er über ein verdrillte Zweidrahtleitung, ein Koaxialkabel, eine Glasfaserverbindung oder eine ähnliche physische Verbindung mit einem drahtgebundenen Netzwerk kommuniziert.
  • In einigen Ausführungsformen kann die Netzwerkschnittstelle 114 so konfiguriert sein, dass sie zuverlässige, gesicherte und/oder authentifizierte Kommunikationen bereitstellt. Für jede hier beschriebene Kommunikation können Informationen zur Ermöglichung einer sicheren Kommunikation (z. B. eine garantierte Nachrichtenübermittlung) vorgesehen sein, etwa als Teil einer Nachrichtenkopf- und/oder -fußzeile (z. B. Paket-/Nachrichtenabfolgeinformationen, Einkapselungs-Header und/oder -Footer, Größen-/Zeitangaben und Angaben zur Prüfung der Übertragung wie der zyklischen Redundanzprüfung (CRC) und/oder Werte der Paritätsprüfung). Kommunikationen können unter Verwendung eines oder mehrerer kryptographischer Protokolle und/oder Algorithmen, beispielsweise, aber nicht beschränkt auf den Data Encryption Standard (DES), den Advanced Encryption Standard (AES), einen Rivest-Shamir-Adleman-(RSA)-Algorithmus, einen Diffie-Hellman-Algorithmus, ein Secure Sockets-Protokoll wie Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) und/oder den Digital Signature-Algorithmus (DSA) gesichert (z. B. kodiert oder verschlüsselt) und/oder entschlüsselt/dekodiert werden. Andere kryptographische Protokolle und/oder Algorithmen können ebenfalls oder zusätzlich zu den hier aufgeführten verwendet werden, um Kommunikationen zu sichern (und dann zu entschlüsseln/zu dekodieren).
  • Die Stromquelle(n) 116 kann bzw. können ausgebildet sein, um verschiedenen Komponenten des Computergeräts 100 Strom bereitzustellen. Die Stromquelle(n) 116 kann bzw. können ein Hydrauliksystem, ein elektrisches System, Batterien oder andere Arten von Stromquellen beinhalten. Einige Komponenten des Computergeräts 100 können jeweils mit einer anderen Stromquelle verbunden sein, von derselben Stromquelle mit Strom versorgt werden oder von mehreren Stromquellen mit Strom versorgt werden. Die Stromquelle(n) 116 kann bzw. können unter Verwendung verschiedener Aufladungsarten, beispielsweise Kabelverbindungen zu einer externen Stromquelle, drahtloses Laden, Verbrennung oder andere Beispiele, geladen werden.
  • Der bzw. die Sensor(en) 118 kann bzw. können ausgebildet sein, um Zustände in einer Umgebung des Computergeräts 100 zu messen und Daten über diese Umgebung bereitzustellen. Beispielsweise kann bzw. können Sensor(en) 118 eines oder mehreres beinhalten aus: (i) einen Identifikationssensor, um andere Objekte und/oder Geräte zu identifizieren, beispielsweise, aber nicht beschränkt auf ein Radiofrequenzidentifikations-(RFID)-Lesegerät, einen Näherungssensor, ein Lesegerät für eindimensionale Barcodes, ein Lesegerät für zweidimensionale Barcodes (z. B. Quick Response (QR)-Code) und einen Laser-Tracker, wobei die Identifikationssensoren so konfiguriert sein können, dass sie Kennungen wie RFID-Tags, Barcodes, QR-Codes lesen, und/oder andere Geräte und/oder Objekte, die konfiguriert sind, um gelesen zu werden und zumindest Informationen zu identifizieren; (ii) Sensoren zum Lokalisieren von Orten und/oder dem Messen von Bewegungen des Computergeräts 100 wie beispielsweise, aber nicht beschränkt auf einen Neigungssensor, ein Gyroskop, einen Beschleunigungsmesser, einen Doppler-Sensor, ein Global Positioning System-(GPS)-Gerät, einen Sonarsensor, ein Radargerät, einen Laserabstandssensor und einen Kompass; (iii) einen Umgebungssensor, um Daten zu erhalten, die auf eine Umgebung des Computergeräts 100 hinweisen, beispielsweise, aber nicht beschränkt auf einen Infrarotsensor, einen optischen Sensor, einen Lichtsensor, einen Biosensor, einen kapazitiven Sensor, einen Berührungssensor, einen Temperatursensor, einen drahtlosen Sensor, einen Funksensor, einen Bewegungssensor, ein Mikrofon, einen Schallaufnehmer, einen Ultraschallsensor und/oder einen Rauchsensor; und (iv) einen Kraftsensor, um eine oder mehrere Kräfte (z. B. Trägheitskräfte und/oder G-Kräfte) zu messen, die um das Computergerät 100 wirken, beispielsweise, aber nicht beschränkt auf einen oder mehrere Sensoren, die messen: Kräfte in einer oder mehreren Dimensionen, Drehmoment, Bodenkraft, Reibung und/oder einen Zero Moment Point-(ZMP)-Sensor, der ZMPs und/oder Positionen der ZMPs identifiziert. Es sind auch viele andere Beispiele von Sensor(en) 118 möglich.
  • Das Basisbildauswahlmodul 120 kann eine Softwareanwendung oder ein Subsystem im Computergerät 100 sein, das betrieben werden kann, um ein oder mehrere Einzelbilder zu empfangen und als Reaktion darauf Basisbilder aus dem einen oder den mehreren Einzelbildern auszuwählen. In einigen Implementierungen kann das Basisbildauswahlmodul 120 das eine oder die mehreren Einzelbilder von der Kamera 110 empfangen. In anderen Implementierungen kann das Basisbildauswahlmodul 120 das eine oder die mehreren Einzelbilder von einem anderen Computergerät über die Netzwerkschnittstelle 114 empfangen. Nach der Auswahl der Basisbilder könnte das Basisbildauswahlmodul 120 die ausgewählten Basisbilder an das Zusammenfügungsmodul 130 übertragen.
  • Das Zusammenfügungsmodul 130 kann eine Softwareanwendung oder ein Subsystem im Computergerät 100 sein, das so betrieben werden kann, dass es Basisbilder empfängt, die durch das Basisbildauswahlmodul 120 ausgewählt wurden, und die Basisbilder zusammenfügt, um ein einzelnes zusammengesetztes Bild, beispielsweise ein Panoramabild, zu erzeugen. Das vom Zusammenfügungsmodul 130 erzeugte zusammengesetzte Bild könnte einem Nutzer über die Anzeige 112 angezeigt werden oder über die Netzwerkschnittstelle 114 an ein separates Computergerät übermittelt werden.
  • 2 wird bereitgestellt, um beispielhafte Operationen des Basisbildauswahlmoduls 120 und des Zusammenfügungsmoduls 130 konzeptionell zu veranschaulichen. 2 zeigt insbesondere, wie das Basisbildauswahlmodul 120 die Kandidaten-Einzelbilder 200 von der Kamera 110 empfangen und die Basisbilder 230 aus den Kandidaten-Einzelbildern 200 auswählen könnte. Nach der Auswahl könnte das Basisbildauswahlmodul 120 dem Zusammenfügungsmodul 130 die Basisbilder 230 bereitstellen, das die Basisbilder 230 zusammenfügen könnte, um ein zusammengesetztes Bild 240 zu erzeugen.
  • Wie dargestellt, beinhalten die Kandidaten-Einzelbilder 200 fünf separate Einzelbilder: Einzelbild 210, Einzelbild 212, Einzelbild 214, Einzelbild 216 und Einzelbild 218. Diese fünf separaten Einzelbilder beinhalten drei Bereiche von Interesse: Bereich von Interesse 220, Bereich von Interesse 222 und Bereich von Interesse 224. Jeder dieser drei Bereiche von Interesse kann entweder: (i) vollständig in einem Einzelbild enthalten, (ii) teilweise in einem Einzelbild enthalten oder (iii) nicht in einem Einzelbild enthalten sein. Beispielsweise ist der Bereich von Interesse 220 vollständig im Einzelbild 212 enthalten, teilweise in den Einzelbildern 210 und 214 enthalten und nicht in den Einzelbildern 216 und 218 enthalten. In ähnlicher Weise ist der Bereich von Interesse 222 vollständig im Einzelbild 214 enthalten, teilweise in den Einzelbildern 212 und 216 enthalten und nicht in den Einzelbildern 210 und 218 enthalten. Ferner ist der Bereich von Interesse 224 vollständig in beiden Einzelbildern 216 und 218 enthalten, teilweise in Einzelbild 214 enthalten und nicht in den Einzelbildern 210 und 212 enthalten.
  • Entsprechend den vorstehenden Ausführungen kann das Basisbildauswahlmodul 120 Basisbilder aus den Kandidaten-Einzelbildern 200 auswählen, sodass jeder in den Kandidaten-Einzelbildern 200 identifizierte Bereich von Interesse vollständig in zumindest einem Basisbild in den Basisbildern 230 enthalten ist. Wie beispielsweise in 2 dargestellt, sind die Bereiche von Interesse 220, 222 und 224 vollständig in mindestens einem der Basisbilder 230 enthalten. Insbesondere ist der Bereich von Interesse 220 vollständig im Einzelbild 212 enthalten, der Bereich von Interesse 222 vollständig im Einzelbild 214 enthalten und der Bereich von Interesse 224 vollständig im Einzelbild 218 enthalten.
  • Die in 2 dargestellten Einzelbilder dienen als Beispiel und sollen die hier aufgeführten Ausführungsformen nicht einschränken. In der Praxis könnten die Kandidaten-Einzelbilder 200 und die Basisbilder 230 eine geringere Anzahl von Bildern oder eine größere Anzahl von Bildern beinhalten, einschließlich hunderter oder tausender Einzelbilder.
  • Das Computergerät 100 beinhaltet, nun wieder bezugnehmend auf 1, außerdem den Controller 140. Der Controller 140 könnte zumindest eines aus einem Field-Programmable Gate-Array (FPGA) oder einer anwendungsspezifischen integrierten Schaltung (ASIC) beinhalten. Zusätzlich oder alternativ kann der Controller 140 einen oder mehrere Prozessoren 142 und Speicher 144 beinhalten. Der bzw. die Prozessor(en) 142 kann bzw. können einen universellen Prozessor oder einen speziellen Prozessor (z. B. digitale Signalprozessoren usw.) beinhalten. Der bzw. die Prozessor(en) 142 kann bzw. können konfiguriert sein, um computerlesbare Programmanweisungen auszuführen, die im Speicher 144 gespeichert sind.
  • Der Speicher 144 kann ein oder mehrere computerlesbare Speichermedien beinhalten oder deren Form annehmen, die vom bzw. von den Prozessor(en) 142 gelesen werden oder auf die dieser bzw. diese zugreifen können. Das eine oder die mehreren computerlesbaren Speichermedien können flüchtige und/oder nicht-flüchtige Speicherkomponenten beinhalten, beispielsweise optische, magnetische, organische oder andere Speicher oder Plattenspeicher, die ganz oder teilweise in zumindest einem des einen oder der mehreren Prozessoren 142 integriert sein können. In einigen Ausführungsformen kann der Speicher 144 unter Verwendung eines einzigen physischen Geräts (z. B. eines optischen, magnetischen, organischen oder anderen Speichers oder einer Plattenspeichereinheit) implementiert werden, während der Speicher 144 in anderen Ausführungsformen unter Verwendung von zwei oder mehr physischen Geräten implementiert werden kann.
  • Wie erwähnt, kann der Speicher 144 computerlesbare Programmanweisungen beinhalten, die sich auf Operationen des Computergeräts 100 beziehen. Somit kann der Speicher 144 Programmanweisungen beinhalten, um einige oder alle der hier beschriebenen Funktionen auszuführen oder zu ermöglichen. Der Speicher 144 kann das Basisbildauswahlmodul 120 und/oder das Zusammenfügungsmodul 130 speichern. In einigen Ausführungsformen kann der Controller 140 verschiedene Operationen durch den bzw. die Prozessor(en) 142 ausführen, die im Speicher 144 gespeicherte Anweisungen ausführen.
  • Beispielsweise kann der Controller 140 die Kamera 110 anweisen, das eine oder die mehreren Einzelbilder gemäß einer oder mehreren Bilderfassungseigenschaften zu erfassen. Die Bilderfassungseigenschaften können u. a. eine gewünschte Blende, eine gewünschte Belichtungszeit und/oder eine gewünschte Bildsensorlichtempfindlichkeit (z. B. ISO-Empfindlichkeit) beinhalten. Als weiteres Beispiel kann der Controller 140 die Kamera 110 anweisen, ihre Brennweite entsprechend einer oder mehreren Konfigurationseigenschaften einzustellen. Die Konfigurationseigenschaften könnten, unter anderen Optionen, eine gewünschte Brennweite, eine gewünschte Vergrößerung und/oder einen gewünschten Blickwinkel beinhalten.
  • Der Controller 140 könnte ausgebildet sein, um andere Operationen auszuführen. Beispielsweise könnte der Controller 140 die Operationen des Basisbildauswahlmoduls 120 und des Zusammenfügungsmoduls 130 ausführen, um aus den von der Kamera 110 erfassten Einzelbildern zusammengesetzte Bilder zu erzeugen. Der Controller 140 könnte dann, unter anderen Optionen, die Anzeige 112 veranlassen, die zusammengesetzten Bilder anzuzeigen, oder die Netzwerkschnittstelle 114 veranlassen, die zusammengesetzten Bilder an ein entferntes Computergerät zu übermitteln.
  • III. Beispielhafte Verfahren
  • 3 veranschaulicht das Verfahren 300 gemäß beispielhaften Ausführungsformen. Das Verfahren 300 könnte implementiert werden, um ein oder mehrere Basisbilder aus einer Vielzahl von Einzelbildern auszuwählen. Die ausgewählten Basisbilder könnten dem Zusammenfügungsmodul 130 bereitgestellt oder für andere Zwecke verwendet werden. Das Verfahren 300 könnte von verschiedenen Komponenten des Computergeräts 100 ausgeführt werden, beispielsweise dem Basisbildauswahlmodul 120 und/oder anderen Komponenten. Aus Gründen der Einfachheit werden nun beispielhafte Implementierungen des Verfahrens 300 unter Verwendung des Basisbildauswahlmoduls 120 beschrieben. Es versteht sich jedoch, dass die offenbarten Prinzipien auch in anderen Szenarien mit anderen Komponenten angewendet werden könnten.
  • Das Verfahren 300 kann bei Block 310 beginnen, bei dem das Basisbildauswahlmodul 120 N Einzelbilder empfängt. Entsprechend den vorstehenden Ausführungen könnten die N Einzelbilder Einzelbilder sein, die von der Kamera 110 erfasst wurden. Alternativ und/oder zusätzlich könnten die N Einzelbilder Einzelbilder sein, die von einem entfernten Computergerät an das Computergerät 100 übermittelt wurden, wobei ein solches Servergerät in einem entfernten Netzwerk arbeitet.
  • Nach dem Empfang der N Einzelbilder könnte das Basisbildauswahlmodul 120 einen oder mehrere Bereiche von Interesse in den N Einzelbildern identifizieren. In einigen Fällen kann dies beinhalten, dass das Basisbildauswahlmodul 120 eindeutige Kennungen für den einen oder jeden der mehreren Bereiche von Interesse ermittelt. Beispielsweise könnte das Basisbildauswahlmodul 120 nach dem Empfang der N Einzelbilder bei Block 310 ein Objekterkennungsmodul zum Erkennen von Objekten von Interesse innerhalb der N Einzelbilder aufrufen. Das Basisbildauswahlmodul 120 könnte dann den erkannten Objekten die eindeutigen Kennungen zuweisen und die eindeutigen Kennungen zusammen mit den N Einzelbildern als Metadaten speichern. Alternativ könnte das Basisbildauswahlmodul 120 die eindeutigen Kennungen zu einem anderen Zeitpunkt zu ermitteln. Während der Ausführung des Blocks 340 (wie weiter unten beschrieben) könnte das Basisbildauswahlmodul 120 beispielsweise ein Objektdetektionsmodul aufrufen, Objekte von Interesse im Einzelbild Nk und im Einzelbild Nx zu erkennen. Das Basisbildauswahlmodul 120 könnte dann dem Einzelbild Nx und dem Einzelbild Nk die eindeutigen Kennungen zuweisen.
  • Zusätzlich könnte das Basisbildauswahlmodul 120 bei Block 310 die N Einzelbilder nach dem Drehwinkel ordnen, wodurch eine geordnete Reihe von N Einzelbildern erstellt wird. Dazu könnte das Basisbildauswahlmodul 120 Metadaten auswerten, die jedem Einzelbild zugeordnet sind, und dann basierend auf den Metadaten einen Drehwinkel einer Kamera, die das Einzelbild erfasste, ermitteln, als sie das Einzelbild erfasste. In einigen Implementierungen könnte das Basisbildauswahlmodul 120 die N Einzelbilder in eine aufsteigende Reihenfolge bringen. Für ein beliebiges gegebenes Einzelbild in der Reihenfolge bedeutet das, dass das nächste Einzelbild in der Reihenfolge einen Drehwinkel aufweisen würde, der größer oder gleich groß wie der Drehwinkel des gegebenen Einzelbildes ist. In anderen Implementierungen könnte das Basisbildauswahlmodul 120 die N Einzelbilder in eine absteigende Reihenfolge bringen.
  • Nach dem Ordnen der N Einzelbilder nach dem Drehwinkel (oder während des Ordnens der N Einzelbilder nach dem Drehwinkel) könnte das Basisbildauswahlmodul 120 den Wert der Variablen K auf 1 setzen.
  • Bei Block 320 könnte das Basisbildauswahlmodul 120 den Wert der Variablen X mit 1 festlegen. Dann könnte das Basisbildauswahlmodul 120 das Einzelbild Nx zu einer Reihe ausgewählter Basisbilder hinzufügen, wobei das Einzelbild Nx dem Xten Einzelbild aus der geordneten Reihe von N Einzelbildern entspricht.
  • Bei Block 330 könnte das Basisbildauswahlmodul 120 den Wert von K um 1 erhöhen. Das bedeutet, dass für das Basisbildauswahlmodul 120 die Variable K = K + 1 sei. Dann könnte das Basisbildauswahlmodul 120 bei Block 340 ermitteln, ob das Einzelbild Nx andere eindeutige Kennungen als das Einzelbild Nk enthält, wobei das Einzelbild Nk dem Kten Einzelbild aus der geordneten Reihe von N Einzelbildern entspricht. Entsprechend den vorstehenden Ausführungen könnte das Basisbildauswahlmodul 120 gespeicherte Metadaten verwenden, um festzustellen, ob das Einzelbild Nx andere eindeutige Kennungen als das Einzelbild Nk enthält. In anderen Beispielen könnte das Basisbildauswahlmodul 120 ein Objekterkennungsmodul aufrufen, festzustellen, ob Einzelbild Nx andere eindeutige Kennungen als Einzelbild Nk enthält. In beiden Fällen kann das Verfahren 300 zu Block 350 übergehen, wenn das Basisbildauswahlmodul 120 ermittelt, dass das Einzelbild Nx andere eindeutige Kennungen enthält als das Einzelbild Nk. Wenn das Basisbildauswahlmodul 120 ansonsten ermittelt, dass das Einzelbild Nx keine anderen eindeutigen Kennungen enthält als das Einzelbild Nk, kann das Verfahren 300 zu Block 330 zurückkehren.
  • Als ein sich auf die Blöcke 330 und 340 beziehendes veranschaulichendes Beispiel zeigt 4 ein Beispielszenario 400, das Einzelbild 412, Einzelbild 414, Einzelbild 416 und Einzelbild 422 beinhaltet. Im Szenario 400 weist jedes der Einzelbilder 412, 414, 416 und 422 in der geordneten Reihe von N Einzelbildern einen Index auf. Konkret hat das Einzelbild 412 eine Position von 1, das Einzelbild 414 eine Position von 2, das Einzelbild 416 eine Position von 3 und das Einzelbild 422 eine Position von 4. Ferner wird gezeigt, dass jedes der Einzelbilder 412, 414, 416 und 422 mindestens eine eindeutige Kennung enthält. Die Einzelbilder 412, 414 und 416 beinhalten konkret eine eindeutige Kennung 402 und das Einzelbild 422 beinhaltet die eindeutigen Kennungen 402 und 404.
  • Während des Szenarios 400 kann das Basisbildauswahlmodul 120 das Einzelbild 412 als einen Start-Einzelbild bezeichnen. Dann könnte das Basisbildauswahlmodul 120 das Einzelbild 414 auswerten und ermitteln, dass das Einzelbild 414 die gleichen eindeutigen Kennungen wie das Einzelbild 412 aufweist. Bei dieser Ermittlung könnte das Basisbildauswahlmodul 120 eine Iteration bis Einzelbild 414 durchführen und das Einzelbild 416 auswerten. In ähnlicher Weise könnte das Basisbildauswahlmodul 120 ermitteln, dass das Einzelbild 416 die gleichen eindeutigen Kennungen wie das Einzelbild 414 aufweist. Bei dieser Ermittlung könnte das Basisbildauswahlmodul 120 eine Iteration bis Einzelbild 416 durchführen und dann das Einzelbild 422 auswerten. An dieser Stelle könnte das Basisbildauswahlmodul 120 ermitteln, dass das Einzelbild 422 andere eindeutige Kennungen als das Einzelbild 416 enthält, und könnte folglich seine Iteration stoppen. Die während des Szenarios 400 (z. B. Einzelbild 412, 414 und 416) iterierten Einzelbilder können hier als Teilmenge der Einzelbilder 410 angesehen werden.
  • Bezugnehmend wiederum auf 3 könnte das Basisbildauswahlmodul 120 bei Block 350 das jedem Einzelbild zugewiesene Qualitätsmaß zwischen (entsprechend der Reihenfolge) Einzelbild Nx und dem Einzelbild Nk-1 auswerten, wobei das Einzelbild Nk-1 dem Kten - 1 Einzelbild aus der geordneten Reihe von N Einzelbildern entspricht. Nach der Ausführung der Auswertung könnte das Basisbildauswahlmodul 120 ein Einzelbild zwischen dem Einzelbild Nx und dem Einzelbild Nk-1 auswählen, dem das höchste Qualitätsmaß zugewiesen ist. Alternativ könnte das Basisbildauswahlmodul 120 alle Einzelbilder zwischen dem Einzelbild Nx und dem Einzelbild Nk-1 auswählen, die ein hochschwelliges Qualitätsmaß aufweisen (die beispielsweise ein zugewiesenes Qualitätsmaß größer als X aufweisen). In beiden Szenarien könnte das Basisbildauswahlmodul 120 der Reihe von ausgewählten Basisbildern das bzw. die ausgewählten Einzelbild(er) hinzufügen.
  • Das Szenario 400 in 4 veranschaulicht ein Beispiel, das sich auf Block 350 bezieht. Im Besonderen wird gezeigt, dass alle Einzelbilder 412, 414, 416 und 422 ein zugewiesenes Qualitätsmaß aufweisen. Konkret weist das Einzelbild 412 ein zugewiesenes Qualitätsmaß von 7, das Einzelbild 414 ein zugeordnetes Qualitätsmaß von 8, das Einzelbild 416 ein zugeordnetes Qualitätsmaß von 5 und das Einzelbild 422 ein zugeordnetes Qualitätsmaß von 5 auf. Während des Szenarios 400 könnte das Basisbildauswahlmodul 120 das Qualitätsmaß auswerten, das jedem Einzelbild zugewiesen ist, das das Basisbildauswahlmodul 120 per Iteration durchlaufen hat. Anders ausgedrückt, könnte das Basisbildauswahlmodul 120 das Qualitätsmaß für jedes Einzelbild in der Einzelbildteilmenge 410 auswerten. Entsprechend kann das Basisbildauswahlmodul 120 das Einzelbild 414 zur Verwendung als ein Basisbild auswählen und würde darauf verzichten, die Einzelbilder 412 und 416 zur Verwendung als Basisbild auszuwählen, da das Einzelbild 414 unter den Bildern in der Einzelbildteilmenge 410 das höchste Qualitätsmaß aufweist.
  • Bezugnehmend auf 3 könnte das Basisbildauswahlmodul 120 bei Block 360 den Wert der Variablen X gleich dem Wert der Variablen K einstellen.
  • Bei Block 370 könnte das Basisbildauswahlmodul 120 ermitteln, ob der Wert für die Variable K kleiner ist als N (d. h. die Anzahl der bei Block 310 empfangenen Einzelbilder). Ermittelt das Basisbildauswahlmodul 120, dass der Wert für die Variable K kleiner ist als N, kann das Verfahren 300 zu Block 330 zurückkehren. Wenn ansonsten das Basisbildauswahlmodul 120 ermittelt, dass der Wert für die Variable K nicht kleiner ist als N, kann das Verfahren 300 zu Block 380 übergehen.
  • Bei Block 380 könnte das Basisbildauswahlmodul 120 die Reihe von ausgewählten Basisbildern bereitstellen, die in den Blöcken 310 bis 370 ermittelt wurden. In einigen Fällen könnte das Basisbildauswahlmodul 120 dem Zusammenfügungsmodul 130 die ausgewählte Reihe von Basisbildern bereitstellen. In anderen Fällen könnte das Basisbildauswahlmodul 120 die ausgewählte Reihe von Basisbildern einem entfernten Computergerät bereitstellen.
  • Die in 3 dargestellten Blöcke dienen als Beispiel und sollen die hier aufgeführten Ausführungsformen nicht einschränken. Die Operationen des Basisbildauswahlmoduls 120 können in hohem Maße konfigurierbar sein und können mehr Blöcke, weniger Blöcke oder andere Blöcke als die in Verfahren 300 dargestellten umfassen. In einigen Fällen kann bzw. können ein bzw. mehrere Blöcke angepasst werden oder anderweitig von der vorstehenden beispielhaften Beschreibung abweichen.
  • 5 veranschaulicht das Verfahren 500 gemäß beispielhaften Ausführungsformen. Verfahren 500 könnte implementiert werden, um ein oder mehrere Basisbilder zusammenzufügen, um ein einzelnes zusammengesetztes Bild zu erzeugen. Verfahren 500 könnte von verschiedenen Komponenten des Computergeräts 100 ausgeführt werden, beispielsweise dem Zusammenfügungsmodul 130 und/oder anderen Komponenten. Aus Gründen der Einfachheit werden nun beispielhafte Implementierungen des Verfahrens 500 unter Verwendung des Zusammenfügungsmoduls 130 beschrieben. Es versteht sich jedoch, dass die offenbarten Prinzipien auch in anderen Szenarien mit anderen Komponenten angewendet werden könnten.
  • Verfahren 500 kann bei Block 510 beginnen, bei dem das Zusammenfügungsmodul 130 N Basisbilder empfängt. Entsprechend den vorstehenden Ausführungen könnten die N Basisbilder Basisbilder sein, die durch das Basisbildauswahlmodul 120 ausgewählt wurden. Alternativ und/oder zusätzlich könnten die N Basisbilder Basisbilder sein, die von einem entfernten Computergerät an das Computergerät 100 übermittelt werden, wobei ein solches Servergerät in einem entfernten Netzwerk arbeitet.
  • Nach Empfang der N Basisbilder könnte das Zusammenfügungsmodul 130 bei jedem der N Basisbilder eine Merkmals- und Schlüsselpunkterkennung durchführen. Genauer gesagt, könnte das Zusammenfügungsmodul 130 für jedes Basisbild eine Sammlung lokaler Merkmale erkennen, die Punkte von Interesse (z. B. Schlüsselpunkte) im Basisbild beschreiben. Es kann auf verschiedene Ansätze zurückgegriffen werden, um Schlüsselpunkte effizient zu erkennen, darunter die skaleninvariante Merkmalstransformation (SIFT), Speeded Up Robust Features (SURF), KAZE und Oriented FAST und Rotated BRIEF (ORB). Sobald die Schlüsselpunkte und die ihnen zugewiesenen Beschreibungen erhalten wurden, könnte das Zusammenfügungsmodul 130 Schlüsselpunkte verschiedener Basisbilder abgleichen, um Paare überlappender Basisbilder zu ermitteln; z. B. Basisbilder, die mindestens einige überlappende Bereiche enthalten. Es kann auf verschiedene Ansätze zurückgegriffen werden, um unter anderem Schlüsselpunkte effizient abzugleichen, darunter, unter anderem, das Cascade Hashing, auf k-Nearest-Neighbors basierende Ansätze und der Brute-Force-Matcher.
  • Bei Block 520 könnte das Zusammenfügungsmodul 130 aus den Paaren überlappender Basisbilder, die bei Block 510 bestimmt wurden, ein erstes Paar Basisbilder auswählen. In einigen Implementierungen kann das Zusammenfügungsmodul 130 ein Paar Basisbilder mit den meisten Schlüsselpunktübereinstimmungen als das erste Paar auswählen. In anderen Implementierungen kann das Zusammenfügungsmodul 130 ein Paar Basisbilder mit dem höchsten kombinierten Qualitätsmaß als das erste Paar auswählen. Es sind auch andere Implementierungen möglich. Nach dem Auswählen des ersten Paars von Basisbildern könnte das Zusammenfügungsmodul 130 eine Triangulation durchführen, um dreidimensionale (3D)-Koordinaten für die Schlüsselpunkte im ersten Paar Basisbilder zu ermitteln. Zur Implementierung der Triangulation können verschiedene Verfahren genutzt werden, u. a. Verfahren der direkten linearen Triangulation, Verfahren der Mittelpunkttriangulation und Verfahren der nicht-linearen Triangulation.
  • Bei Block 530 könnte das Zusammenfügungsmodul 130 den anfänglichen 3D-Koordinaten von Block 520 schrittweise Basisbilder hinzufügen. Genauer gesagt, könnte das Zusammenfügungsmodul 130 für jedes neu hinzugefügte Basisbild Übereinstimmungen zwischen Schlüsselpunkten des neuen Basisbilds und den zuvor hinzugefügten Basisbildern auswerten und dann eine Triangulation durchführen, um 3D-Koordinaten für neue Schlüsselpunkte zu bestimmen. Ferner könnte das Zusammenfügungsmodul 130 für jedes neu hinzugefügte Basisbild Bündelausgleichungen durchführen, um Ungenauigkeiten zu reduzieren und optimale Werte für die 3D-Koordinaten zu erzielen. Die Operationen von Block 530 können wiederholt werden, bis alle N Basisbilder ausgewertet wurden.
  • 6 zeigt als Beispiel in Bezug auf Block 530 ein Beispielszenario 600, das das Basisbild 610, das Basisbild 612 und das Basisbild 614 beinhaltet. Die 6 zeigt, dass die Basisbilder 610 und 612 gemeinsam die 3D-Koordinate 630 aufweisen, dass die Basisbilder 610, 612 und 614 gemeinsam die 3D-Koordinate 632 aufweisen und dass die Basisbilder 612 und 614 gemeinsam die 3D-Koordinate 634 aufweisen. Die 6 zeigt außerdem, dass das Basisbild 610 eine 3D-Koordinate 620 aufweist, die keinem anderen Basisbild gemeinsam ist, und dass das Basisbild 614 eine 3D-Koordinate 622 aufweist, die keinem anderen Basisbild gemeinsam ist. Ferner zeigt 6, dass die 3D-Koordinaten 620, 622, 630, 632 und 634 alle projiziert werden können, um das zusammengesetzte Bild 640 zu bilden.
  • Bezugnehmend auf 5 kann das Zusammenfügungsmodul 130 bei Block 540 die bei Block 530 berechneten 3D-Koordinaten auf ein Panoramakoordinatensystem projizieren. Das Panoramakoordinatensystem kann mit Bezug auf eines der N Basisbilder ausgewählt werden. Sobald die 3D-Koordinaten im Panoramakoordinatensystem abgebildet wurden, kann das Zusammenfügungsmodul 130 die Pixel aus den N Basisbildern auf das Panoramakoordinatensystem vermischen. In einigen Ausführungsformen kann das Vermischen ein Nahtfindungsverfahren beinhalten, das Nähte in die überlappenden Bereiche zwischen Paaren von Basisbildern legt, sodass die Übergänge von einem Basisbild zu einem anderen fließend und weniger sichtbar sind. In einigen Ausführungsformen beinhaltet dieses Nahtfindungsverfahren das Hinzufügen einer systematischen rechnerischen Abweichung zu Nähten, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthalten. Die systematische rechnerische Abweichung kann beispielsweise das Hinzufügen eines Strafterms zu einer Naht beinhalten, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthält.
  • Als Beispiel mit Bezug auf Block 540 veranschaulicht 7 zwei beispielhafte zusammengesetzte Bilder: das zusammengesetzte Bild 710 und das zusammengesetztes Bild 720. Sowohl das zusammengesetzte Bild 710 als auch das zusammengesetzte Bild 720 enthalten den Bereich von Interesse 712 und den Bereich von Interesse 714. Zu beachten ist, dass im zusammengesetzten Bild 710 ein Teil der Naht 716 auf dem Bereich von Interesse 712 und ein Teil der Naht 718 auf dem Bereich von Interesse 714 positioniert ist. Entsprechend den vorstehenden Ausführungen könnte diese Positionierung der Nähte 716 und 718 bewirken, dass die Bereiche von Interesse 712 und 714 unerwünschte Artefakte anzeigen. Im Gegensatz dazu ist die Naht 726 im zusammengesetzten Bild 720 nicht auf dem Bereich von Interesse 712 positioniert und die Naht 728 ist nicht auf dem Bereich von Interesse 714 positioniert. Dies kann das Ergebnis des oben beschriebenen Strafterms sein und ein zusammengesetztes Bild mit Bereichen höherer Qualität ergeben.
  • Bezugnehmend auf 5 könnte das Zusammenfügungsmodul 130 bei Block 550 alle überlappenden Bereichen in der Panoramaprojektion von Block 540 lokalisieren und dann ein optisches Flussfeld für jede dieser überlappenden Bereichen berechnen. In einigen Ausführungsformen wird das optische Flussfeld berechnet, indem jeder überlappende Bereich in ein Raster mit nicht überlappenden Zellen aufgeteilt wird und der Fluss eines Pixels in einer Zelle als eine bilineare Kombination des Flusses an den vier Ecken der Zelle, die ihn enthält, dargestellt wird.
  • Nach der Berechnung der optischen Flussfelder könnte das Zusammenfügungsmodul 130 die optischen Flussfelder anwenden, um alle entsprechenden 3D-Koordinaten der überlappenden Bereiche von Block 530 gleichzeitig auszurichten. Das Zusammenfügungsmodul 130 könnte dann die 3D-Koordinaten erneut auf das Panoramakoordinatensystem projizieren, um ein finales zusammengesetztes Bild zu erzeugen.
  • Bei Block 560 könnte das Zusammenfügungsmodul 130 das zusammengesetzte Bild bereitstellen, das bei Block 550 ermittelt wurde. In einigen Fällen könnte das Zusammenfügungsmodul 130 das zusammengesetzte Bild zur Anzeige 112 bereitstellen, die wiederum das zusammengesetzte Bild einem Benutzer anzeigen könnte. In anderen Fällen könnte das Zusammenfügungsmodul 130 das zusammengesetzte Bild über die Netzwerkschnittstelle 114 einem entfernten Computergerät bereitstellen.
  • IV. Beispieloperationen
  • 8 veranschaulicht das Verfahren 800 gemäß beispielhaften Ausführungsformen. Das Verfahren 800 kann verschiedene Blöcke oder Schritte beinhalten. Die Blöcke bzw. Schritte können einzeln oder kombiniert ausgeführt werden. Die Blöcke oder Schritte können in beliebiger Reihenfolge und/oder nacheinander oder zeitgleich durchgeführt werden. Ferner können Blöcke oder Schritte weggelassen oder dem Verfahren 800 hinzugefügt werden. Die Blöcke des Verfahrens 800 können wie in 1 veranschaulicht und beschrieben von verschiedenen Elementen des Computergeräts 100 ausgeführt werden.
  • Block 810 kann das Erhalten einer Vielzahl von Einzelbildern beinhalten. In einigen Ausführungsformen wird die Vielzahl von Einzelbildern von einem Kameragerät in einem kontinuierlichen Strom erfasst. Weiterhin wird in einigen Ausführungsformen die Vielzahl von Einzelbildern unter Verwendung einer nach vorne gerichteten Kamera eines Kamerageräts erfasst.
  • Block 820 kann das Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern beinhalten. In einigen Ausführungsformen entspricht der eine oder jeder der mehreren Bereiche von Interesse einem Bereich, der ein Gesicht enthält.
  • Block 830 kann das Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugewiesen ist, einer Reihe von Basisbildern beinhalten, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in mindestens einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist.
  • Block 840 kann das Zusammenfügen der ausgewählten Reihe von Basisbildern zum Erzeugen eines zusammengesetztes Bildes beinhalten.
  • In einigen Ausführungsformen ist das entsprechende Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugewiesen ist, eine Metrik, die auf mindestens einem basiert von: Bewegungsunschärfe des Einzelbildes, Fokus des Einzelbildes oder Belichtung des Einzelbildes. Ferner wird dem entsprechenden Qualitätsmaß in einigen Ausführungsformen eine systematische rechnerische Abweichung hinzugefügt, um Pixeln, die sich in dem einen oder den mehreren identifizierten Bereichen von Interesse befinden, ein größeres Gewicht beizumessen.
  • In einigen Ausführungsformen beinhaltet das Auswählen der Reihe von Basisbildern das Bestimmen, aus der Vielzahl von Einzelbildern, einer Vielzahl von Teilmengen von Einzelbildern, wobei jede der Teilmengen Einzelbilder umfasst, die den gleichen einen oder die gleichen mehreren Bereiche von Interesse enthalten; und das Auswählen eines Basisbildes aus jeder der Teilmengen und basierend auf dem entsprechenden Qualitätsmaß, das jedem Einzelbild in der Teilmenge zugewiesen ist.
  • In einigen Ausführungsformen beinhaltet das Auswählen des Basisbildes aus jeder der Teilmengen das Auswählen eines Einzelbildes mit dem höchsten Qualitätsmaß aus den Einzelbildern der Teilmenge.
  • In einigen Ausführungsformen beinhaltet das Identifizieren des einen oder der mehreren Bereiche von Interesse das Ermitteln eindeutiger Kennungen für den einen oder jeden der mehreren Bereiche von Interesse, und jede der Teilmengen umfasst ein oder mehrere Einzelbilder, die die gleichen eindeutigen Kennungen enthalten.
  • In einigen Ausführungsformen wurde jedes Einzelbild der Vielzahl von Einzelbildern von einem Kameragerät bei einem entsprechenden Drehwinkel erfasst. In solchen Ausführungsformen beinhaltet das Bestimmen einer Teilmenge von Einzelbildern: Ordnen der Vielzahl von Einzelbildern basierend auf dem Drehwinkel; Bezeichnen eines Start-Einzelbildes aus der Vielzahl von Einzelbildern; und, beginnend mit dem Start-Einzelbild, das Durchlaufen per Iteration der Vielzahl von Einzelbildern entsprechend der Reihenfolge, bis das nächste Einzelbild, das zu iterieren ist, ein Einzelbild mit mindestens einer anderen eindeutigen Kennung als das Start-Einzelbild ist. In solchen Ausführungsformen sind die Teilmenge von Einzelbildern die Bilder, die per Iteration durchlaufen wurden.
  • In einigen Ausführungsformen umfasst der Drehwinkel ein Maß, das auf einem horizontalen Winkel des Kamerageräts basiert.
  • In einigen Ausführungsformen beinhaltet das Bezeichnen des Start-Einzelbildes das Bezeichnen eines ersten Einzelbildes aus der Reihenfolge.
  • In einigen Ausführungsformen ist die Teilmenge von Einzelbildern eine erste Teilmenge von Einzelbildern. In solchen Ausführungsformen beinhaltet das Bestimmen einer zweiten Teilmenge von Einzelbildern: Bezeichnen eines zweiten Start-Einzelbildes aus der Vielzahl von Einzelbildern; und, beginnend mit dem zweiten Start-Einzelbild, Durchlaufen per Iteration der Vielzahl von Einzelbildern entsprechend der Reihenfolge, bis das nächste Einzelbild, das zu iterieren ist, ein Einzelbild mit mindestens einer anderen eindeutigen Kennung als das zweite Start-Einzelbild ist. In solchen Ausführungsformen sind die zweite Teilmenge von Einzelbildern die Einzelbilder, die beginnend mit dem zweiten Start-Einzelbild per Iteration durchlaufen wurden.
  • In einigen Ausführungsformen beinhaltet das Bezeichnen des zweiten Start-Einzelbildes das Bezeichnen des Einzelbildes mit mindestens einer anderen eindeutigen Gesichtskennung als dem Start-Einzelbild.
  • In einigen Ausführungsformen erfolgt das Zusammenfügen, nachdem jedes Einzelbild aus der Vielzahl von Einzelbildern mindestens einmal per Iteration durchlaufen wurde.
  • In einigen Ausführungsformen beinhaltet das Zusammenfügen ein Nahtfindungsverfahren, das das Hinzufügen einer systematischen rechnerischen Abweichung zu Nähten beinhaltet, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthalten. In solchen Ausführungsformen kann die systematische rechnerische Abweichung beispielsweise das Hinzufügen eines Strafterms zu einer Naht beinhalten, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthält.
  • Einige Ausführungsformen beinhalten einen Schritt zur Nahtausbesserung durch optischen Fluss, der das Bestimmen überlappender Bereiche für die ausgewählte Reihe von Basisbildern; das Berechnen entsprechender optischer Flussfelder für jeden der überlappenden Bereiche; und das Anwenden der berechneten optischen Flussfelder, um die überlappenden Bereiche auszurichten, beinhaltet.
  • Die in den Figuren dargestellten bestimmten Anordnungen sind nicht einschränkend zu verstehen. Es versteht sich, dass andere Ausführungsformen mehr oder weniger jedes in einer gegebenen Figur gezeigten Elements beinhalten können. Ferner können einige der veranschaulichten Elemente kombiniert oder weggelassen werden. Ferner kann eine veranschaulichende Ausführungsform Elemente beinhalten, die in den Figuren nicht veranschaulicht sind.
  • Ein Informationsverarbeitung darstellender Schritt oder Block kann Schaltungen entsprechen, die konfiguriert sein können, um spezifische logische Funktionen von einem hier beschriebenen Verfahren oder einer hier beschriebenen Technik durchzuführen. Alternativ oder zusätzlich kann ein Informationsverarbeitung darstellender Schritt oder Block einem Modul, einem Segment oder einem Abschnitt von Programmcode (inkl. darauf bezogener Daten) entsprechen. Der Programmcode kann eine oder mehrere Anweisungen beinhalten, die von einem Prozessor zur Implementierung spezifischer logischer Funktionen oder Aktionen des Verfahrens oder der Technik ausführbar sind. Der Programmcode und/oder zugehörige Daten können auf irgendeinem computerlesbaren Medium, beispielsweise einem Speichergerät, darunter ein Laufwerk, eine Festplatte oder ein sonstiges Speichermedium, gespeichert werden.
  • Das computerlesbare Medium kann auch ein nicht-flüchtiges computerlesbares Medium beinhalten, beispielsweise ein computerlesbares Medium, das Daten für kurze Zeiträume speichert, wie ein Registerspeicher, Prozessor-Cache und/oder Direktzugriffsspeicher (RAM). Das computerlesbare Medium kann außerdem nicht-flüchtige computerlesbare Medien beinhalten, die Programmcode und/oder Daten über längere Zeiträume speichern. So können die computerlesbaren Medien einen sekundären oder dauerhaften Langzeitspeicher, wie z. B. einen Festwertspeicher (ROM), optische oder magnetische Festplatten, einen Compact-Disc-Read-Only-(CD-ROM)-Speicher beinhalten. Das computerlesbare Medium kann auch ein anderes flüchtiges oder nicht-flüchtiges Speichersystem sein. Ein computerlesbares Medium kann z. B. als ein computerlesbares Speichermedium oder ein materielles Speichergerät aufgefasst werden.
  • Obwohl verschiedene Beispiele und Ausführungsformen offenbart wurden, sind dem Fachmann andere Beispiele und Ausführungsformen ersichtlich. Die verschiedenen offenbarten Beispiele und Ausführungsformen dienen der Veranschaulichung und sind nicht als Einschränkung gedacht, wobei der wahre Umfang aus den folgenden Patentansprüchen hervorgeht.

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Erhalten, durch ein Computergerät, einer Vielzahl von Einzelbildern; Identifizieren, durch das Computergerät, eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern; Auswählen, durch das Computergerät und basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugewiesen ist, einer Reihe von Basisbildern, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in mindestens einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist; und Zusammenfügen, durch das Computergerät, der ausgewählten Reihe von Basisbildern, um ein zusammengesetztes Bild zu erzeugen.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei der eine oder jeder der mehreren Bereiche von Interesse einem Bereich entspricht, der ein Gesicht enthält.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei das entsprechende Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugewiesen ist, eine Metrik basierend auf mindestens einem umfasst aus: Bewegungsunschärfe des Einzelbildes, Fokus des Einzelbildes oder Belichtung des Einzelbildes.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei dem entsprechenden Qualitätsmaß eine systematische rechnerische Abweichung hinzugefügt wird, um Pixeln, die sich in dem einen oder den mehreren identifizierten Bereichen von Interesse befinden, ein größeres Gewicht beizumessen.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Auswählen der Reihe von Basisbildern umfasst: Bestimmen, aus der Vielzahl von Einzelbildern, einer Vielzahl von Teilmengen von Einzelbildern, wobei jede der Teilmengen Einzelbilder umfasst, die den gleichen einen oder die gleichen mehreren Bereiche von Interesse enthalten; und Auswählen, aus jeder der Teilmengen und basierend auf dem entsprechenden Qualitätsmaß, das jedem Einzelbild in der Teilmenge zugewiesen ist, eines Basisbildes.
  6. Computerimplementiertes Verfahren nach Anspruch 5, wobei das Auswählen des Basisbildes aus jeder der Teilmengen das Auswählen eines Einzelbildes mit dem höchsten Qualitätsmaß aus den Einzelbildern der Teilmenge umfasst.
  7. Computerimplementiertes Verfahren nach Anspruch 5, wobei das Identifizieren des einen oder der mehreren Bereiche von Interesse das Ermitteln eindeutiger Kennungen für den einen oder jeden der mehreren Bereiche von Interesse umfasst, und wobei jede der Teilmengen ein oder mehrere Einzelbilder umfasst, die die gleichen eindeutigen Kennungen enthalten.
  8. Computerimplementiertes Verfahren nach Anspruch 7, wobei jedes Einzelbild der Vielzahl von Einzelbildern von einem Kameragerät bei einem entsprechenden Drehwinkel erfasst wurde, und wobei das Bestimmen einer Teilmenge von Einzelbildern umfasst: Ordnen der Vielzahl von Einzelbildern basierend auf dem Drehwinkel; Bezeichnen eines Start-Einzelbildes aus der Vielzahl von Einzelbildern; und, beginnend vom Start-Einzelbild, das Durchlaufen per Iteration der Vielzahl von Einzelbildern entsprechend der Reihenfolge, bis das nächste zu iterierende Einzelbild ein Einzelbild mit mindestens einer anderen eindeutigen Kennung als das Start-Einzelbild ist, wobei die Teilmenge von Einzelbildern die Einzelbilder umfasst, die per Iteration durchlaufen wurden.
  9. Computerimplementiertes Verfahren nach Anspruch 8, wobei der Drehwinkel ein Maß umfasst, das auf einem horizontalen Winkel des Kamerageräts basiert.
  10. Computerimplementiertes Verfahren nach Anspruch 8, wobei das Bezeichnen des Start-Einzelbilds das Bezeichnen eines ersten Einzelbilds der Reihenfolge umfasst.
  11. Computerimplementiertes Verfahren nach Anspruch 8, wobei die Teilmenge von Einzelbildern eine erste Teilmenge von Einzelbildern ist, und wobei das Ermitteln einer zweiten Teilmenge von Einzelbildern umfasst: Bezeichnen eines zweiten Start-Einzelbildes aus der Vielzahl von Einzelbildern; und, beginnend vom zweiten Start-Einzelbild, das Durchlaufen per Iteration der Vielzahl von Einzelbildern entsprechend der Reihenfolge, bis das nächste zu iterierende Einzelbild ein Einzelbild mit mindestens einer anderen eindeutigen Kennung als das zweite Start-Einzelbild ist, wobei die zweite Teilmenge von Einzelbildern die Einzelbilder umfasst, die beginnend mit dem zweiten Start-Einzelbild per Iteration durchlaufen wurden.
  12. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Bezeichnen des zweiten Start-Einzelbildes das Bezeichnen des Einzelbildes mit mindestens einer anderen eindeutigen Gesichtskennung als dem Start-Einzelbild umfasst.
  13. Computerimplementiertes Verfahren nach Anspruch 8, wobei das Zusammenfügen erfolgt, nachdem jedes Einzelbild aus der Vielzahl von Einzelbildern mindestens einmal per Iteration durchlaufen wurde.
  14. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Zusammenfügen einen Nahtfindungsprozess umfasst, der das Hinzufügen einer systematischen rechnerischen Abweichung zu Nähten beinhaltet, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthalten.
  15. Computerimplementiertes Verfahren nach Anspruch 14, wobei die systematische rechnerische Abweichung das Hinzufügen eines Strafterms zu einer Naht beinhaltet, die Pixel aus dem einen oder den mehreren identifizierten Bereichen von Interesse enthält.
  16. Computerimplementiertes Verfahren nach Anspruch 1, das ferner einen Schritt der Nahtausbesserung durch optischen Fluss umfasst, der umfasst: Ermitteln überlappender Bereiche für die ausgewählte Reihe von Basisbildern; Berechnen entsprechender optischer Flussfelder für jeden der überlappenden Bereiche; und Anwenden der berechneten optischen Flussfelder, um die überlappenden Bereiche auszurichten.
  17. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Vielzahl von Einzelbildern von einem Kameragerät in einem kontinuierlichen Strom erfasst wird.
  18. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Vielzahl von Einzelbildern unter Verwendung einer nach vorne gerichteten Kamera eines Kamerageräts erfasst wird.
  19. Computergerät, umfassend: einen oder mehrere Prozessor(en); und ein nicht-flüchtiger Datenspeicher, der zumindest computerlesbare Anweisungen speichert, die, wenn sie vom einem oder den mehreren Prozessoren ausgeführt werden, das Computergerät veranlassen, Operationen auszuführen, die umfassen: Erhalten einer Vielzahl von Einzelbildern; Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern; Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist; und Zusammenfügen der ausgewählten Reihe von Basisbildern, um ein zusammengesetztes Bild zu erstellen.
  20. Fertigungserzeugnis, umfassend einen nicht-flüchtigen Datenspeicher, der zumindest computerlesbare Anweisungen speichert, die, wenn sie von einem oder mehreren Prozessoren eines Computergeräts ausgeführt werden, das Computergerät veranlassen, Operationen auszuführen, die umfassen: Erhalten einer Vielzahl von Einzelbildern; Identifizieren eines oder mehrerer Bereiche von Interesse in einem oder mehreren Einzelbildern in der Vielzahl von Einzelbildern; Auswählen, basierend auf einem entsprechenden Qualitätsmaß, das jedem Einzelbild der Vielzahl von Einzelbildern zugeordnet ist, einer Reihe von Basisbildern, wobei jeder identifizierte Bereich von Interesse des einen oder der mehreren identifizierten Bereiche von Interesse vollständig in zumindest einem Basisbild in der ausgewählten Reihe von Basisbildern enthalten ist; und Zusammenfügen der ausgewählten Reihe von Basisbildern, um ein zusammengesetztes Bild zu erstellen.
DE112020006943.5T 2020-06-02 2020-06-02 Panoramaerzeugung mit mobiler kamera Pending DE112020006943T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/035692 WO2021247006A1 (en) 2020-06-02 2020-06-02 Panorama generation with mobile camera

Publications (1)

Publication Number Publication Date
DE112020006943T5 true DE112020006943T5 (de) 2023-04-20

Family

ID=71842764

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006943.5T Pending DE112020006943T5 (de) 2020-06-02 2020-06-02 Panoramaerzeugung mit mobiler kamera

Country Status (7)

Country Link
US (1) US20230142865A1 (de)
EP (1) EP4158585A1 (de)
JP (1) JP2023527679A (de)
KR (1) KR20230008810A (de)
CN (1) CN115699075A (de)
DE (1) DE112020006943T5 (de)
WO (1) WO2021247006A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230131601A (ko) * 2022-03-07 2023-09-14 한화비전 주식회사 파노라마 감시 영상의 생성

Also Published As

Publication number Publication date
WO2021247006A1 (en) 2021-12-09
JP2023527679A (ja) 2023-06-30
CN115699075A (zh) 2023-02-03
KR20230008810A (ko) 2023-01-16
US20230142865A1 (en) 2023-05-11
EP4158585A1 (de) 2023-04-05

Similar Documents

Publication Publication Date Title
CN109325933B (zh) 一种翻拍图像识别方法及装置
DE102018121808A1 (de) Verfeinern von synthetischen daten mit einem generative adversarial network unter verwendung von hilfseingaben
DE202019006001U1 (de) Elektronische Vorrichtung zur Gewinnung von Tiefeninformation
DE102019102866A1 (de) Identifizierung eines Herstellungsteils unter Verwendung von Computervision und Maschinenlernen
DE202014011492U1 (de) Mobile Vorrichtung mit verbesserter Benutzerschnittstelle zum Lesen von Codesymbolen
DE112011102043T5 (de) Objekterfassungsmetadaten
DE112018007730T5 (de) 3d objekterkennung unter verwendung von 3d konvolutionalen neuronalen netzen mit tiefenbasierten multiskalierungsfiltern
DE102004049676A1 (de) Verfahren zur rechnergestützten Bewegungsschätzung in einer Vielzahl von zeitlich aufeinander folgenden digitalen Bildern, Anordnung zur rechnergestützten Bewegungsschätzung, Computerprogramm-Element und computerlesbares Speichermedium
DE202014010922U1 (de) Erzeugung von Tiefenkarten
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE112020003158T5 (de) Trainingsverfahren für ein Zielerfassungsmodell, Verfahren und Vorrichtung zur Kennzeichnung der Daten
DE112019004488B4 (de) Doppelmodus-Datenerfassungssystem zur Kollisionserfassung und Objektdimensionierung und Verfahren zur Doppelmodus-Datenerfassung
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE112016001829T5 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE112016002022T5 (de) Managen von merkmalsdaten zur umgebungsabbildung auf einer elektronischen vorrichtung
DE112016002252T5 (de) Automatische erkennung von panoramagesten
DE112019006666T5 (de) Bestimmung von Bereichen von Interesse für fotografische Funktionen
Rajchel et al. No-reference image quality assessment of authentically distorted images with global and local statistics
DE112020006943T5 (de) Panoramaerzeugung mit mobiler kamera
DE112020007826T5 (de) Verbesserte videostabilisierung basierend auf maschinenlernmodellen
DE102020209189A1 (de) Domain-übergreifendes metric-lernsystem und -verfahren
DE102020207974A1 (de) Systeme und verfahren zum nachweis von bewegung während 3d-datenrekonstruktion
CN116962612A (zh) 应用于仿真系统的视频处理方法、装置、设备及存储介质
DE102015009894A1 (de) Ausrichten von Mehrfachansichtsabtastungen
TWI801717B (zh) 一種實物圖像生成方法及裝置、設備、非暫態電腦可讀存儲介質及電腦程式產品