DE102015010214A1 - Erzeugung von Tiefenkarten - Google Patents

Erzeugung von Tiefenkarten Download PDF

Info

Publication number
DE102015010214A1
DE102015010214A1 DE102015010214.1A DE102015010214A DE102015010214A1 DE 102015010214 A1 DE102015010214 A1 DE 102015010214A1 DE 102015010214 A DE102015010214 A DE 102015010214A DE 102015010214 A1 DE102015010214 A1 DE 102015010214A1
Authority
DE
Germany
Prior art keywords
image
depth
images
blur
computer
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
DE102015010214.1A
Other languages
English (en)
Inventor
Stephen Schiller
Huixuan Tang
Scott Cohen
Brian Price
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
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102015010214A1 publication Critical patent/DE102015010214A1/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/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/571Depth or shape recovery from multiple images from focus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • 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/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • 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/67Focus control based on electronic image sensor signals
    • H04N23/676Bracketing for image capture at varying focusing conditions
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/689Motion occurring during a rolling shutter mode
    • 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/71Circuitry for evaluating the brightness variation
    • 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
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/2224Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
    • H04N5/2226Determination of depth image, e.g. for foreground/background separation
    • 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/10004Still image; Photographic image
    • 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/10028Range image; Depth image; 3D point clouds
    • 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/10148Varying focus
    • 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/20048Transform domain processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/30Transforming light or analogous information into electric information
    • H04N5/33Transforming infrared radiation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

Tiefenkarten werden aus zwei oder mehr Bildern erzeugt, die mit einer herkömmlichen Digitalkamera von demselben Standpunkt aus erfasst wurden unter Verwendung unterschiedlicher Konfigurationseinstellungen, welche für jedes Bild willkürlich ausgewählt werden können. Die Konfigurationseinstellungen können Blenden- und Fokuseinstellungen und/oder andere Konfigurationseinstellungen umfassen, die geeignet sind, Unschärfe in ein Bild einzuführen. Die Tiefe eines ausgewählten Bildflickens wird über eine Menge von diskreten Tiefenhypothesen evaluiert unter Verwendung einer Tiefen-Likelihood-Funktion, die modelliert ist, entsprechende Bildflicken zu analysieren, welche mit Unschärfe-Kerneln gefaltet werden unter Verwendung eines flachen Vor-Bilds im Frequenzbereich. Auf diese Weise kann die Tiefen-Likelihood-Funktion evaluiert werden, ohne dass zuvor ein Alles-im-Fokus Bild rekonstruiert werden muss. Unschärfe-Kernel, die in der Tiefen-Likelihood-Funktion verwendet werden, werden aus einer Zuordnung von Tiefen und Konfigurationseinstellungen zu den Unschärfe-Kerneln identifiziert. Diese Zuordnung wird bestimmt aus Kalibrierungsdaten für die Digitalkamera, die verwendet wurde, um die zwei oder die mehreren Bilder zu erfassen.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf Verfahren und Systeme zum Schätzen von Tiefe innerhalb digitaler Bilder und bezieht sich genauer auf Schätzen von Tiefe innerhalb digitaler Bilder, die mit Hilfe einer herkömmlichen Digitalkamera erfasst wurden.
  • Urheberrechtsvermerk
  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, welches urheberrechtlichem Schutz unterliegt. Der Inhaber der Verwertungsrechte hat keine Einwände gegen die originalgetreue Wiedergabe durch jedermann des Patentdokuments oder der Patentoffenbarung, wie es bzw. wie sie in der Patentakte oder den Aufzeichnungen des Patent- und Markenamtes erscheint, behält sich aber alle anderen Verwertungsrechte jeder Art vor.
  • Hintergrund
  • Digitalkameras, einschließlich digitaler Spiegelreflexkameras (DSLR) und Digitalkameras, die in Mobilgeräte integriert sind, haben oftmals hochentwickelte Hardware und Software, die es einem Benutzer ermöglicht, digitale Bilder zu erfassen unter Verwendung einer Kombination unterschiedlicher benutzerdefinierter und kameradefinierter Konfigurationseinstellungen. Ein digitales Bild stellt eine digitale Repräsentation einer bestimmten Szene bereit. Ein digitales Bild kann im Nachgang bearbeitet werden, für sich allein oder in Kombination mit anderen Bildern, um aus dem Bild zusätzliche Information abzuleiten. Zum Beispiel kann ein oder können mehrere Bilder verarbeitet werden, um die Tiefe der Objekte zu schätzen, die innerhalb der Szene dargestellt sind, das heißt, die Entfernung jedes Objekts von einem Ort, an dem die Aufnahme aufgenommen wurde. Die Tiefenschätzungen für jedes Objekt in einer Szene, oder möglicher Weise für jedes Pixel innerhalb eines Bildes, sind in einer Datei enthalten, die als eine „Tiefenkarte” bezeichnet wird. Unter anderem können Tiefenkarten verwendet werden, um bestehende Bildeditiertechniken (zum Beispiel Schneiden, Füllen von Löchern, Kopieren in Schichten eines Bildes und so weiter) zu verbessern.
  • Herkömmliche Techniken der Tiefenschätzung beinhalten Rechenmodelle, die auf „Vor-Bilder” angewiesen sind, um die Tiefenkarten-Erzeugung zu leiten. Ein „Vor-Bild” bzw. „image prior” ist ein statistisches Modell, das verwendet wird, um bestimmten Annahmen über den Inhalt oder die Eigenschaften einer Szene Rechnung zu tragen, und wird verwendet, um Tiefenzweideutigkeit aufzulösen, die auftreten kann, wenn ein Bild analysiert wird. Zum Beispiel kann ein Vor-Bild entworfen werden basierend auf der Annahme, dass sich die Tiefe sich über ein Alles-im-Fokus-Bild glatt bzw. gleichmäßig ändert, mit Ausnahme der Stellen, an denen es eine Diskontinuität der Tiefe gibt (zum Beispiel an der Kante oder an dem Umriss eines Objekts innerhalb der Szene). Im Bildbereich kann diese Art von Vor-Bild ausgedrückt werden in Begriffen einer erwarteten Gradientenverteilung über ein Bild. Im Fourier Bereich kann ein vergleichbares Vor-Bild so definiert werden, dass der Betrag an Energie an einer bestimmten jeweiligen Frequenz proportional ist zu dieser Frequenz, potenziert mit einem Exponenten. Die Verwendung eines solchen Typs von Vor-Bild in der Tiefenschätzung kann in einigen Fällen zu guten Ergebnissen führen, wird dabei aber versagen, wenn Diskontinuitäten der Tiefe zwischen Vordergrundobjekten und Hintergrundobjekten nicht innerhalb der Bilddaten eingefangen werden. Die Verwendung generischer Vor-Bilder bei der Tiefenkarten-Erzeugung führt daher zu unpräzisen Tiefenschätzungen, da die zugrunde liegenden Annahmen auf Verallgemeinerungen basieren und nicht notwendiger Weise für alle Bilder zutreffen (zum Beispiel wird die tatsächliche Textur aller Szenen nicht gut übereinstimmen mit dem definierten Vor-Bild).
  • Einige herkömmliche Techniken zum Schätzen von Tiefe innerhalb eines digitalen Bildes erfordern auch die Eingabe von Trainingsdaten, genommen von einem oder von mehreren Bildern unterschiedlicher Szenen, um akkurat eine Tiefenkarte zu erzeugen. Einige Techniken erfordern, dass das Bild, für das die Tiefenkarte erzeugt werden soll, mit einer vordefinierten Blendeneinstellung und einer vordefinierten Fokuseinstellung erfasst wird. Andere Techniken beinhalten einen Vergleich der Eigenschaften mehrerer Bilder, welche von derselben Szene aufgenommen wurden, und können erfordern, dass die mehreren Bilder in einer bestimmten Reihenfolge oder in Übereinstimmung mit vorbestimmten Kombinationen von Blende, Fokus und/oder anderen Kamerakonfigurationseinstellungen erfasst werden. Einige Modelle erfordern auch eine dichte Menge von Bildern, die in Übereinstimmung mit einer vordefinierten Kombination von Einstellungen der Blende, des Fokus und/oder anderer Konfigurationseinstellungen zu erfassen sind, oder mit einer zufällig ausgewählten Kombination von Einstellungen der Blende, des Fokus und/oder anderer Konfigurationseinstellungen.
  • Herkömmliche Techniken der Tiefenschätzung, welche Eigenschaften mehrerer Bilder vergleichen, welche von derselben Szene aufgenommen wurden, vergleichen im Allgemeinen Bildflicken mit „Unschärfe-Kerneln”, um die Tiefe der Bildflicken zu schätzen. Ein Unschärfe-Kernel ist eine Approximation von Außer-Fokus-Unschärfe innerhalb eines Bildes. Herkömmliche Modelle tendieren jedoch oftmals dazu, Unschärfe-Kernel mit größeren Unschärfewerten auszuwählen, insbesondere wenn innerhalb des Bildflickens Rauschen vorhanden ist (das heißt, Information, die von dem Modell nicht berücksichtigt wird). Wenn Unschärfe-Kernel ausgewählt werden, die keine enge Approximation der Unschärfe des Bildflickens darstellen, wird dies zu unpräzisen Tiefenschätzungen führen.
  • Die gegenwärtigen Techniken der Tiefenschätzung können daher unpräzise, ressourcenintensiv, zeitintensiv, kompliziert und unvorhersehbar sein. Dementsprechend ist es wünschenswert, verbesserte Lösungen zum Schätzen der Entfernung von Objekten innerhalb von Bildern, die mit herkömmlichen Digitalkameras aufgenommen wurden, bereitzustellen.
  • Zusammenfassung
  • Es werden Systeme und Verfahren zum Erzeugen von Tiefenkarten aus einer Mehrzahl von Bildern bereitgestellt, die mit Hilfe einer herkömmlichen Digitalkamera erfasst wurden. Die hierin beschriebenen Techniken der Tiefenschätzung beinhalten ein Rechenmodell, das auf einem flachen Vor-Bild (auch als ein „flat prior” bezeichnet) basiert. Die Verwendung eines flachen Vor-Bilds bedeutet tatsächlich, dass keine vorherigen Annahmen über den Inhalt oder die Eigenschaften der Szene getroffen werden. Ein flaches Vor-Bild wird in das Rechenmodell inkorporiert, indem der Beitrag eines Alles-im-Fokus Bildes (das heißt, wie das Bild aussehen würde, wenn es in Gänze im Fokus wäre), das in herkömmlichen Rechenmodellen enthalten ist, ausgeklammert oder marginalisiert wird.
  • Ohne vorherige Annahmen darüber, wie die Szene aussehen sollte, berechnen die hierin beschriebenen Techniken der Tiefenschätzung iterativ eine Tiefenwahrscheinlichkeit für einen Bildflicken über einen diskreten Bereich von Tiefenhypothesen (das heißt, möglichen Tiefen). Nachdem alle Tiefenhypothesen evaluiert wurden, wird die Tiefenhypothese, welche die größte Tiefenwahrscheinlichkeit ergibt, als die geschätzte Tiefe des Bildflickens ausgewählt. Das Evaluieren der Tiefenwahrscheinlichkeit unter Verwendung eines flachen Vor-Bilds wie hierin beschrieben liefert eine verbesserte Präzision, da die Tiefen-Likelihood-Funktion darauf beruht, wie die in den Bilddaten repräsentierte Szene tatsächlich aussieht, anstatt auf Annahmen darüber zu beruhen, wie die Szene aussehen sollte. Die iterative Evaluierung wird für alle Bildflicken des Bildes wiederholt, bis eine vollständige Tiefenkarte für das Bild erzeugt ist. Auf diese Weise wird die Tiefe jedes Bildflickens unabhängig von allen anderen Bildflicken desselben Bildes evaluiert. Als ein Ergebnis ist die Tiefenschätzung für jeden gegebenen Bildflicken präziser, wenn verglichen mit herkömmlichen Techniken, da sie nicht durch dessen umgebende Bildflicken beeinflusst wird.
  • Die hierin beschriebenen Techniken der Tiefenschätzung beinhalten auch Normalisierungsverfahren, die verwendet werden, um Faktoren wie Rauschen zu berücksichtigen, die eine Tendenz zu Unschärfe-Kerneln mit größeren Unschärfewerten erzeugen könnten. Dies führt zu einem robusteren Verfahren, um akkurate Schätzungen der Tiefe zu finden, selbst in der Gegenwart von Rauschen. Die hierin beschriebenen Techniken der Tiefenschätzung können auch angepasst werden, um Veränderungen von Beleuchtungsbedingungen und Szenendynamiken zu berücksichtigen. Solche Techniken ermöglichen die Erzeugung präziserer Tiefenschätzungen in Tiefenkarten.
  • Die hierin beschriebenen Techniken der Tiefenschätzung basieren auf Kalibrierungsdaten für die Digitalkamera, die verwendet wird, um die Bilder zu erfassen. Die Kalibrierungsdaten werden verwendet, um eine Zuordnung von Kalibrierungseinstellungen (zum Beispiel Blendeneinstellungen und Fokuseinstellungen) zu Unschärfe-Kerneln zu bestimmen. Unschärfe-Kernel repräsentieren eine Approximation von Unschärfe in einem Bild. Insbesondere evaluieren die hierin beschriebenen Techniken der Tiefenschätzung iterativ die Tiefe eines Bildflickens über eine diskrete Menge von Tiefenhypothesen unter Verwendung von entsprechenden Unschärfe-Kerneln, die durch die Kalibrierungs-basierte Zuordnung bestimmt werden.
  • Die hierin beschriebenen Techniken der Tiefenschätzung werden verwendet, um Mengen von Bildern zu analysieren, die von dem selben Standpunkt aus unter Verwendung unterschiedlicher Kamerakonfigurationseinstellungen erfasst wurden, wie einer Blendeneinstellung und einer Fokuseinstellung, die durch den Bediener willkürlich ausgewählt sein mögen. Der Prozess des Erfassens der Bilder ist daher keinen Beschränkungen unterworfen, indem kein Muster oder keine Kombination von Bildern oder Kamerakonfigurationseinstellungen erforderlich ist. Ein Minimum von zwei solchen Bildern wird gemäß den hierin beschriebenen Techniken der Tiefenschätzung verarbeitet, um eine Tiefenkarte zu erzeugen, die eine größere Präzision bietet als sie durch die herkömmlichen Techniken geboten wird.
  • Diese illustrativen Beispiele werden nicht angegeben, um die Offenbarung zu beschränken oder zu definieren, sondern um Beispiele zu geben, welche dem Verständnis derselben dienlich sind. Zusätzliche Beispiele werden in der detaillierten Beschreibung angegeben und diskutiert, und eine nähere Beschreibung ist dort gegeben.
  • Kurze Beschreibung der Figuren
  • Die Akte des Patents oder der Anmeldung umfasst zumindest eine Zeichnung, die farbig ausgeführt ist. Kopien der Veröffentlichungsschrift dieses Patents oder der Patentanmeldung mit farbigen Zeichnungen werden auf Anforderung durch das Amt und gegen Entrichtung einer gegebenenfalls notwendigen Gebühr bereitgestellt.
  • Diese und andere oben beschriebenen Merkmale, Beispiele und Vorteile der vorliegenden Offenbarung werden besser verstanden werden beim Lesen der folgenden detaillierten Beschreibung mit Bezug auf die beigefügten Zeichnungen, in denen:
  • 1 ein Blockdiagramm ist, das ein Beispiel einer Tiefenerzeugungsfunktionseinheit zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt;
  • 2 ein Diagramm ist, das eine beispielhafte Umgebung zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt;
  • 3 ein Diagramm ist, das eine beispielhafte Implementierung bestimmter Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt;
  • 4 ein Flussdiagramm ist, das ein beispielhaftes Verfahren zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt;
  • 5 ein Flussdiagramm ist, das ein beispielhaftes Verfahren zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt; und
  • 6 ein Diagramm ist, das eine beispielhafte Netzwerkumgebung zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder beziehen, gemäß zumindest einer Ausführungsform zeigt.
  • Detaillierte Beschreibung
  • Es werde computerimplementierte Systeme und Verfahren zum Schätzen von Tiefe innerhalb von digitalen Bildern offenbart. Insbesondere wird eine Tiefenkarte aus einer Mehrzahl von Bildern erzeugt, die mit einer herkömmlichen Digitalkamera erfasst wurden, wie einer digitalen Spiegelreflexkamera, einer Digitalkamera, die in eine mobile Rechenvorrichtung integriert ist, oder irgendeiner anderen Digitalkamera oder Abbildungsvorrichtung. Es werden mindestens zwei Bilder aufgenommen von im Wesentlichen demselben Standort, aber diese unterscheiden sich voneinander, da sie mit unterschiedlichen Kombinationen von Blendeneinstellungen und Fokuseinstellungen aufgenommen werden. In einigen Beispielen können die Blendeneinstellungen und Fokuseinstellungen durch den Bediener willkürlich ausgewählt werden, wie beschrieben werden wird. Die Differenzen im Niveau der Unschärfe über die Bilder hinweg, die von der unterschiedlichen Kombination von Blenden- und Fokuseinstellungen verursacht werden, werden analysiert, um die Tiefenkarte zu bestimmen.
  • Die erfinderischen Techniken der Techniken der Tiefenschätzung beinhalten eine Tiefen-Likelihood-Funktion, die verwendet wird, um die Tiefe eines Bildflickens unter Verwendung von Unschärfe-Kerneln zu analysieren. Die Unschärfe-Kernel für ein partikuläres Bild werden aus einer Zuordnung von Kalibrierungseinstellungen (zum Beispiel Blende und Fokus) und Tiefe zu Unschärfe-Kerneln identifiziert. Die Zuordnung wird abgeleitet aus einer Kalibrierung der partikulären Kamera, die verwendet wurde, um das zu analysierende Bild zu erfassen. Die Unschärfe-Kernel sind eine Approximation von Unschärfe innerhalb des Bildes. Die Tiefen-Likelihood-Funktion verwendet Unschärfe-Kernel, um entsprechende Bildflicken aus der Menge von eingegebenen Bildern unter Verwendung eines flachen Vor-Bilds im Frequenzbereich zu analysieren, was bedeutet, dass der Beitrag eines Alles-im-Fokus Bildes effektiv ausgeklammert wird, indem eine Varianz des Frequenzinhalts von unendlich angenommen wird. Diese Likelihood-Funktion erlaubt daher, dass die Tiefen von Bildflicken geschätzt werden, ohne ein Alles-im-Fokus Bild zu berücksichtigen, ohne auf bestimmte Annahmen über andere ähnliche Szenen, die aus Trainingsdaten abgeleitet werden, angewiesen zu sein, und ohne Berücksichtigung, wie die Tiefe der Szene räumlich variiert.
  • Für einen gegebenen Bildflicken wird die Tiefen-Likelihood-Funktion iterativ über einen diskreten Bereich von Tiefenhypothesen (das heißt, mögliche Tiefen) evaluiert, um eine Tiefenwahrscheinlichkeit für den Bildflicken zu bestimmen. Wie hierin verwendet, bezieht sich „iteratives” Evaluieren auf ein sequentielles Evaluieren und/oder ein paralleles Evaluieren. Die Tiefenhypothese, welche die größte Tiefenwahrscheinlichkeit liefert, wird bestimmt, die geschätzte Tiefe für den Bildflicken zu sein. Beim Evaluieren jedes Bildflickens eines ersten Bildes wird ein entsprechender Bildflicken eines zweiten Bildes identifiziert. Als Teil der Evaluierung wird der Unschärfe-Kernel für das erste Bild mit dem Bildflicken aus dem zweiten Bild gefaltet, und der Unschärfe-Kernel für das zweite Bild wird mit einem entsprechenden Bildflicken aus dem ersten Bild gefaltet. Das Ergebnis der Evaluierung ist eine Tiefenwahrscheinlichkeit aus dem Bildflicken. Die Tiefen-Likelihood-Funktion wird verwendet, um alle entsprechenden Bildflicken innerhalb der eingegebenen Bilder zu evaluieren, bis eine Tiefenschätzung für jedes entsprechende Pixel jedes Bildes bestimmt wurde. Da die Tiefen-Likelihood-Funktion verwendet wird, um Tiefenhypothesen für jeden Bildflicken unabhängig von anderen Bildflicken zu evaluieren, wird die Tiefenschätzung für einen betreffenden Bildflicken nicht durch die diesen umgebenden Bildflicken beeinflusst.
  • Die hierin beschriebenen Techniken der Tiefenschätzung beinhalten einen Normalisierungsschritt, der verwendet wird, um Faktoren Rechnung zu tragen, die eine Tendenz hin zu Unschärfe-Kerneln mit großen Unschärfe-Werten erzeugen könnten. Ein allgegenwärtiger Faktor ist Rauschen und der Einfluss von Rauschen auf die Auswahl von Unschärfe-Kerneln wird durch das Normalisieren vermindert. Dies macht es möglich, dass die Tiefen-Likelihood-Funktion unter Verwendung von Unschärfe-Kerneln mit Tiefenwerten evaluiert wird, die am geeignetsten sind für die Tiefenhypothesen für einen partikulären Flicken. Dies führt zu einem robusteren Verfahren, um akkurate Schätzungen der Tiefe zu finden, selbst wenn Rauschen vorhanden ist.
  • Die hierin beschriebenen Techniken der Tiefenschätzung können auch angepasst werden, um Veränderungen von Beleuchtungsbedingungen und Änderungen in Szenedynamik über mehrere entsprechende Bilder hinweg zu berücksichtigen. Diese Änderungen können berücksichtigt werden, indem ein Bias und eine Verstärkung eines zweiten Bildflickens angepasst werden im Vergleich zu einem ersten Bildflicken. Dies kann erreicht werden, indem Veränderungen von Beleuchtungsbedingungen als eine lokale Kontraständerung und als ein Helligkeitsoffset für den geänderten Bildflicken modelliert werden. Die Tiefen-Likelihood-Funktion kann dann angepasst werden, um derart modellierte Veränderungen von Beleuchtungsbedingungen miteinzubeziehen. Auf eine ähnliche Weise können Bewegungen von Objekten innerhalb einer Szene berücksichtigt werden, indem eine Technik des optischen Flusses verwendet wird, um eine neue Stelle von Pixeln in einem zweiten Bild zu schätzen im Vergleich mit einer Stelle der entsprechenden Pixel in einem ersten Bild. Derartige Techniken beinhalten auch ein Transformieren von Bildflicken in den Fourier Bereich, in dem diese als eine Menge von Frequenzen und Phasen repräsentiert werden, und ein Vergleichen der Beträge aller Bildflicken, während die Phasen ignoriert werden. Derartige Techniken ermöglichen präzisere Tiefenschätzungen in Tiefenkarten. In einigen Beispielen können sowohl eine Technik des optischen Flusses als auch eine Technik im Fourier Bereich zusammen verwendet werden, um Bewegungen von Objekten innerhalb einer Szene zu berücksichtigen. Die Technik des optischen Flusses kann vor dem Evaluieren der Tiefen-Likelihood-Funktion ausgeführt werden, und die Technik im Fourier Bereich kann als Teil des Evaluierens der Tiefen-Likelihood-Funktion ausgeführt werden.
  • In einem Beispiel wird ein erstes Bild einer Szene mit einer Digitalkamera aufgenommen, die eine erste Konfigurationseinstellung hat. Die Konfigurationseinstellung beinhaltet eine Fokuseinstellung und eine Blendeneinstellung. Als nächstes wird ein zweites Bild der Szene von demselben Standpunkt aus aufgenommen, wobei die Digitalkamera eine zweite Konfigurationseinstellung hat. Die zweite Konfigurationseinstellung unterscheidet sich in wenigstens einer Beziehung (zum Beispiel der Fokuseinstellung und/oder der Blendeneinstellung) im Vergleich zur ersten Konfigurationseinstellung. In einigen Beispielen wählt der Benutzer die Konfigurationseinstellungen willkürlich, zufällig oder systematisch aus. In anderen Beispielen ist die Digitalkamera konfiguriert, dem Benutzer bevorzugte oder vorgeschlagene Konfigurationseinstellungen anzuzeigen, die vorbestimmt sein können (zum Beispiel für alle Szenen oder für bestimmte Arten von Szenen) oder die in Echtzeit bestimmt werden können, indem die abzubildende Szene analysiert wird. In einigen Beispielen ist die Digitalkamera konfiguriert, die Konfigurationseinstellungen für das erste Bild und das zweite Bild willkürlich, zufällig oder systematisch zu bestimmen oder vorzubestimmen, und kann auch programmatisch das erste Bild aufnehmen, die Konfigurationseinstellungen ändern und dann das zweite Bild aufnehmen. In einigen Beispielen erhält der Benutzer die Konfigurationseinstellungen und der Benutzer passt die Einstellungen der Digitalkamera in Übereinstimmung mit den Konfigurationseinstellungen an und erfasst das erste Bild und das zweite Bild. Das zweite Bild wird von ungefähr demselben Standpunkt aus aufgenommen wie das erste Bild. Die Bilddateien, die dem ersten Bild und dem zweiten Bild entsprechen, werden dann in Übereinstimmung mit hierin beschriebenen Techniken analysiert. Diese Analyse kann durch eine geeignet ausgestattet und konfigurierte Kamera ausgeführt werden, oder die Bilddateien können zu einer Rechenvorrichtung transferiert werden, die konfiguriert ist, die Analyse auszuführen.
  • Eine Tiefenkarte, die unter Verwendung der hierin beschriebenen Techniken der Tiefenschätzung erzeugt wurde, beinhaltet Tiefeninformation, welche die Entfernung von Objekten in einer Szene von der Digitalkamera repräsentiert (das heißt, einem Ort in der realen Welt, von dem aus die Aufnahmen aufgenommen wurden). Entfernungwerte für Pixel der Tiefenkarte können RGB Pixeln der Bilder entsprechen. Tiefenkarten können zum Beispiel verwendet werden, um bestehende Bildeditiertechniken zu verbessern. Zum Beispiel kann Tiefeninformation für ein Bild verwendet werden, um genauer zwischen Vordergrundobjekten und Hintergrundobjekten in einer Szene zu unterscheiden. Eine solche Unterscheidung kann relevant für das Auswählen von Objekten (ob sie im Vordergrund oder im Hintergrund sind) innerhalb des Bildes sein. Als ein illustratives Beispiel kann ein Bild einer Szene ein Kind (zum Beispiel ein Vordergrundelement) zeigen, das vor einem Baum (zum Beispiel ein Hintergrundelement) steht. Ein Benutzer, der das Kind von der Szene ausschneiden möchte, kann dies anzeigen, indem er einen Teil des Kindes unter Verwendung einer Bildeditieranwendung auswählt. Die Bildeditieranwendung kann Tiefeninformation verwenden, die mit dem Bild assoziiert ist, zusätzlich zu Auswahlhinweisen wie Farbe und Textur, um einen Umriss des auszuschneidenden Kindes zu erzeugen.
  • Mit Bezug nun zu den Figuren ist in 1 ein Blockdiagramm 100 zum Implementieren von Techniken gezeigt, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder gemäß zumindest einem Beispiel beziehen. Das Blockdiagramm 100 beinhaltet eine Tiefenerzeugungsfunktionseinheit 102. Wie hierin verwendet bezieht sich eine ”Funktionseinheit” auf einen Satz von Anweisungen, die in Software verkörpert sind, welche, wenn sie auf einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, eine oder mehrere Funktionen auszuführen. Insbesondere ist die Tiefenerzeugungsfunktionseinheit 102 konfiguriert, die Tiefen-Likelihood-Funktion zu evaluieren, zusammen mit allen Variationen der Tiefen-Likelihood-Funktion, die hierin beschrieben sind. Die Tiefenerzeugungsfunktionseinheit 102 ist konfiguriert, Bilder 104(1) bis 104(N) zu empfangen. In einigen Beispielen wurden die Bilder 104(1) bis 104(N) zuvor unter Verwendung einer Digitalkamera erfasst. Die Bilder 104(1) bis 104(N) zeigen eine Szene, die eine Mehrzahl von Objekten enthält. Wie dargestellt enthält jedes der Bilder 104(1) bis 104(N) entsprechende Konfigurationsinformation 106(1) bis 106(N). In einigen Beispielen stellt die Konfigurationsinformation 106(1) bis 106(N) Details über Einstellungen der Digitalkamera bereit, die verwendet wurden, um die Bilder 104(1) bis 104(N) zu erfassen, und die in Form von Metadaten in Verbindung mit den Bildern 104(1) bis 104(N) gespeichert sind. Zum Beispiel kann die Konfigurationsinformation 106(1) bis 106(N) Details über Blendeneinstellungen der Digitalkamera und Details über Fokuseinstellungen der Digitalkamera enthalten. Die Blendeneinstellungen beziehen sich auf die Menge an Licht, die in die Digitalkamera gelassen wurde, als die Bilder 104(1) bis 104(N) erfasst wurden. Die Blende einer Digitalkamera kann angepasst werden unter Verwendung eines Lamellenmechanismuses, welcher die Menge an Licht anpasst. Die Fokuseinstellungen beziehen sich auf eine Entfernung einer Fokusebene von der Digitalkamera und können entsprechend angepasst werden.
  • In einigen Beispielen unterscheidet sich die Konfigurationsinformation 106(1) für das Bild 104(1) von der Konfigurationsinformation 106(N) für das Bild 104(N), weil das Bild 104(1) unter Verwendung einer ersten Einstellungskonfiguration erfasst wurde und das Bild 104(N) unter Verwendung einer zweiten Einstellungskonfiguration erfasst wurde. Wie die erste Einstellungskonfiguration und die zweite Einstellungskonfiguration ausgewählt werden, hängt von der Implementierung der Tiefenerzeugungsfunktionseinheit 102 ab. Wenn zum Beispiel die Tiefenerzeugungsfunktionseinheit 102 in der Digitalkamera implementiert ist, bestimmt und ändert die Digitalkamera programmtechnisch die Einstellungen oder zeigt dem Benutzer bevorzugte oder vorgeschlagene Einstellungen zur manuellen Einstellung an. Wenn die Tiefenerzeugungsfunktionseinheit 102 in einer von der Digitalkamera getrennten Rechenvorrichtung implementiert ist, zeigt die Rechenvorrichtung die Einstellungen dem Benutzer der Digitalkamera an, oder veranlasst die Anzeige der Einstellungen für den Benutzer der Digitalkamera. Der Benutzer der Kamera passt dann die Einstellungen der Kamera entsprechend an. In jedem dieser Beispiele, und in anderen Beispielen, werden die Einstellungen willkürlich, zufällig, oder systematisch ausgewählt, entweder durch den Benutzer oder programmtechnisch mit Hilfe einer Auswahlfunktionseinheit (nicht dargestellt), oder auf irgendeine andere geeignete Weise. In einigen Beispielen werden die Bilder 104(1) bis 104(N) unter Verwendung einer zufälligen Menge von Konfigurationseinstellungen erfasst. Zum Beispiel können die Bilder 104(1) bis 104(N) auch unter Verwendung einer zufälligen Menge von Konfigurationseinstellungen erfasst werden, wenn die Bilder 104(1) bis 104(N) ohne Bezug zu einem Fokusstapel erfasst werden. Zum Beispiel ist ein Fokusstapel eine Menge von Bildern, die mit einer Fokuseinstellung und unterschiedlichen Blendeneinstellungen für jedes Bild der Menge aufgenommen werden. Die Bilder 104(1) bis 104(N) können auch ohne Bezug zu einem Blendenstapel erfasst werden. Ein Blendenstapel ist eine Menge von Bildern, die mit einer Blendeneinstellung und einer unterschiedlichen Fokuseinstellung für jedes Bild der Menge aufgenommen wurden. In einigen Beispielen werden die Bilder 104(1) bis 104(N) erfasst, ohne ein vorbestimmtes Abtastmuster zu berücksichtigen. Wie in dem vorstehenden Beispiel diskutiert werden die hierin beschriebenen Techniken der Tiefenschätzung unter Verwendung von zwei oder mehr Bildern auf eine Weise implementiert, die unabhängig von Konfigurationseinstellungen der Digitalkamera ist, die zum Erfassen der Bilder verwendet wird, so lange zumindest zwei unterschiedliche Bilder von im Wesentlichen demselben Standpunkt aus erfasst werden unter Verwendung zweier unterschiedlicher Konfigurationseinstellungen.
  • In einigen Beispielen wurden ein Kameragehäuse und eine Linse der Digitalkamera, die verwendet wurde, um die Bilder 104(1) bis 104(N) zu erfassen, zuvor kalibriert. Bestimmte Kalibrierungstechniken umfassen eine Zuordnung von Konfigurationseinstellungen (zum Beispiel Blendeneinstellungen und Fokuseinstellungen) und Tiefe zu Unschärfe-Kerneln.
  • Derartige Kalibrierungstechniken ermöglichen es der Tiefenerzeugungsfunktionseinheit 102, die geeigneten Unschärfe-Kernel auszuwählen, um Tiefenschätzungen unter Verwendung der Bilder 104(1) bis 104(N) zu machen. In einigen Beispielen werden zumindest einige der Bilder 104(1) bis 104(N) von im Wesentlichen demselben Standpunkt aus erfasst unter Verwendung unterschiedlicher Kombinationen von Kameragehäusen und Linsen unterschiedlicher Digitalkameras, die auf ähnliche Weise kalibriert wurden. In einigen Beispielen ist daher die Zuordnung von Konfigurationseinstellungen und Tiefe zu Unschärfe-Kerneln einzigartig für eine Kombination von einem Kameragehäuse und einer Linse und für mehrere Kombinationen von Kameragehäusen und Linsen. In diesem Beispiel berücksichtigt die Tiefenerzeugungsfunktionseinheit 102 die Ähnlichkeiten und Unterschiede in diesen Zuordnungen, während sie Tiefenschätzungen macht.
  • Es wird nun die Diskussion des Blockdiagramms 100 fortgesetzt, wobei, nachdem die Tiefenerzeugungsfunktionseinheit 102 die Bilder 104(1) bis 104(N) empfängt, die Tiefenerzeugungsfunktionseinheit 102 die hierin beschriebenen Techniken ausführt, um eine Tiefenkarte 108 zu erzeugen. Die Tiefenerzeugungsfunktionseinheit 102 kann auch ein Alles-im-Fokus Bild 110 berechnen und ein Unsicherheitsmaß bestimmen (nicht dargestellt). Das Unsicherheitsmaß zeigt an, wie viel Varianz in der Tiefenwahrscheinlichkeit für gegebene Tiefen vorhanden ist. Das Alles-im-Fokus Bild 110 repräsentiert eine Nachbildung der von den Bildern 104(1) bis 104(N) gezeigten Szene, aber ohne jede Unschärfe. Das Berechnen des Alles-im-Fokus Bilds 110 und des Unsicherheitsmaßes ist optional für die Implementierung der hierin beschriebenen Techniken. In einigen Beispielen wird das Alles-im-Fokus Bild 110 von anderen Funktionseinheiten (nicht dargestellt) verwendet, um existierende Tiefenkarten zu verfeinern oder anderweitig zu verbessern. In einigen Beispielen werden Bildflicken der Bilder 104(1) bis 104(N) und Unschärfe-Kernel von der Tiefenerzeugungsfunktionseinheit 102 verglichen als Teil des Erzeugens der Tiefenkarte 108. Ein „Bildflicken” bezieht sich auf einen kleinen Bereich eines Bildes (zum Beispiel die Bilder 104(1) bis 104(N)), der eine Vielzahl von Pixeln enthält. Wie hierin verwendet ist ein „Unschärfe-Kernel” ein Modell der Außer-Fokus-Unschärfe in dem Bilderfassungsprozess. Der Unschärfe-Kernel kann durch eine Scheibe eines bestimmten Radius, ein Polygon, eine Gauss'sche Verteilung, ein Rechteck, oder irgendein anderes geeignetes Merkmal repräsentiert werden, welches die Außer-Fokus-Unschärfe während des Bilderfassungsprozesses modelliert. Die Unschärfe-Kernel umfassen Annahmen bezüglich der Menge an Unschärfe in den Bilden 104(1) bis 104(N) für partikuläre Tiefen bei einer gegebenen partikulären Blendeneinstellung und einer gegebenen partikulären Fokuseinstellung. In einigen Beispielen berücksichtigen die Techniken der Tiefenschätzung andere Konfigurationseinstellungen, welche die Unschärfe in einem Bild beeinflussen könnten, wenn die Unschärfe-Kernel erzeugt werden (zusätzlich zu oder an Stelle von Blenden- und Fokuseinstellungen).
  • Die Tiefenerzeugungsfunktionseinheit 102 führt eine oder mehrere Operationen in Übereinstimmung mit den hierin beschriebenen Techniken aus, um die Tiefen-Likelihood-Funktion zu evaluieren und die Tiefenkarte 108 auszugeben. Diese eine oder mehreren Operationen beinhalten ein Vergleichen, für eine Position in den Bildern, eines Bildflickens 1 von dem Bild 104(1), gefaltet mit einem Unschärfe-Kernel 2 von einer entsprechenden Stelle in dem Bild 104(2), mit einem Bildflicken 2 von dem Bild 104(2), gefaltet mit einem Unschärfe-Kernel 1 von einer entsprechenden Stelle in dem Bild 104(1). Wie hierin verwendet ist „Falten” eine Art von verunschärfen, die auftritt, wenn ein Bildflicken durch einen Unschärfe-Kernel unter Verwendung von hierin beschriebenen Techniken unscharf gemacht wird. Die Unschärfe-Kernel 1, 2 (wie hierin beschrieben) repräsentieren Annahmen bezüglich der Menge an Unschärfe, die erwartet werden sollte an deren entsprechenden Stellen innerhalb der Bilder 104(1), 104(2) unter Verwendung partikulärer Konfigurationseinstellungen. Der oben vorgeschlagene Vergleich kann ausgeführt werden für eine diskrete Menge von Tiefenhypothesen für die Position und dann Flicken um Flicken, bis die Gesamtheit der Bilder 104(1), 104(2) analysiert wurde. In einigen Beispielen wird zumindest ein Teil dieses Vergleichs normalisiert, um eine Tendenz hin zu Unschärfe-Kerneln mit größeren Unschärfeniveaus, die in den Bildern 104(1), 104(2) vorhanden sind, zu vermeiden. In einigen Beispielen bezieht sich die Normalisierung auf Situationen, in denen es Rauschen in den Bildern 104(1), 104(2) gibt. Dies mag sein, weil Unschärfe-Kernel mit größeren Unschärfewerten Rauschen herausglätten und dessen Einfluss vermindern. Dieser Einfluss von Rauschen ist am prävalentesten, wenn die Bilder 104(1), 104(2) sehr stark verrauscht sind, aber nur leicht außer Fokus sind. Die hierin beschriebenen Techniken berücksichtigen daher den Einfluss von Rauschen, indem ein Teil der oben diskutierten Tiefen-Likelihood-Funktion normalisiert wird. Zum Beispiel kann das Normalisieren eines Teils der Tiefen-Likelihood-Funktion ein Anpassen der Faltungsgleichung (1), ∥f2*i1 – f1*i2∥, beinhalten, um in der Faltungsgleichung (1') ∥f2*i1 – f1*i2∥/sqrt(∥f1∥^2 + ∥f2∥^2) zu resultieren, wobei ∥f∥^2 = sum_q(f(q))^2
  • In diesem Beispiel ist i1 ein Bildflicken in dem Bild I1, der mit dem Außer-Fokus-Kernel k1 unscharf gemacht wurde. Ähnlich für i2 und k2. (1) wird evaluiert, um zu erkennen, dass f1 = k1 und f2 = k2. Tatsächlich ist, wenn es kein Rauschen gibt, i1 = k1*h und i2 = k2*h, wobei h das Alles-im-Fokus Bild 110 ist, * die Faltung ist, und f1 = k1, f2 = k2 minimieren (1) mit minimalem Wert von 0: k2*i1 – k1*i2 = k2*(k1*h) – k1*(k2*h) = (k2*k1 – k1*k2)*h = 0 da k2*k1 = k1*k2.
  • Wenn jedoch in dem ersten und dem zweiten Bild Rauschen vorhanden ist: i1 = k1*h + n1 (alle evaluiert beim Pixel p) i2 = k2*h + n2 (alle evaluiert beim Pixel p) mit mittelwertfreiem normalen Rauschen (Varianz = s^2) n1 ~ N(0, s^2) n2 ~ N(0, s^2)
  • Dann ist Gleichung (2) f2*i1 – f1*i2 = [(f2*k1 – f1*k2)*h] + (f2*n1 – f1*n2)
  • Der erste Term kann mit f1 = k1, f2 = k2 minimiert werden, aber es gibt immer noch einen zweiten Term, der zu berücksichtigen ist. Der erste Term ist Null, wenn (f1, f2) = (k1, k2). Es sei angenommen, dass (f1, f2) = (ff1, ff2) nicht das korrekte Paar an Unschärfe-Kerneln (k1, k2) ist, sondern einen kleinen Wert für den ersten Term in Klammern gibt. Wenn die Norm der Summe der zwei Terme in Gleichung (2) genommen wird, kann dies einen kleineren Wert für (ff1, ff2) ergeben als für (k1, k2). In einigen Beispielen ist dies keine geeignete Auswahl für (k1, k2). In einigen Beispielen werden größere Unschärfen in dem ersten und dem zweiten Bild das Rauschen herausglätten und den Einfluss von Rauschen vermindern, wenn die Differenzen in Gleichung (2) kleiner werden. Die Faltungen f2*n1, f1*n2 summieren unabhängige normale Variablen n1(q), n2(q) bei Pixeln q mit Gewichtungen, die gegeben sind durch die Kernelabgriffe/-gewichte f1(q), f2(q). Daher: f2*n1 ~ N(0, s^2sum_q(f2(q))^2) (tatsächlich f2*n1 evaluiert bei Pixel p) f1*n2 ~ N(0, s^2sum_q(f1(q))^2) (tatsächlich f1*n2 evaluiert bei Pixel p) f2*n1 – f1*n2 ~ N(0, s^2(sum_q(f1(q))^2 + sum_q(f2(q))^2)) (tatsächlich f2*n1 – f1*n2 evaluiert bei Pixel p)
  • Das heißt, die Varianz wird multipliziert mit der Summe der Quadrate der Filterabgriffe. Wenn die Unschärfe einen Radius R hat, sind die von Null verschiedenen Kernel-Gewichtungen alle 1/(pi*R^2) [was 1 ist über das Gebiet eines Kreises mit Radius R]. Ein kreisförmiger Filter f mit Radius R hat daher sum_q(f(q))^2 = sum_{q in Kreis mit Radius R}(1/pi*R^2)^2 = (1/pi*R^2)^2*sum_{q in Kreis mit Radius R} = (1/pi*R^2)^2*pi*R^2 = 1/pi*R^2
  • Dies bedeutet, dass die Varianz s^2(sum_q(f1(q))^2 + sum_q(f2(q))^2) des zweiten Terms f2*n1 – f1*n2 der Gleichung (2) kleiner ist, wenn f1 und f2 größere Unschärfen sind. Wenn zwei kleine Unschärfen die richtige Antwort sind, aber zwei größere Unschärfen auch einen relativ kleinen ersten Term ergeben, dann kann Rauschen dazu führen, dass einige Verfahren inkorrekter Weise größere Kernelgrößen wählen. Und größere Unschärfen (f1, f2) vermindern auch Differenzen in dem ersten Term von Gleichung (2).
  • Die hierin beschriebenen Techniken normalisieren daher die obige Faltungsgleichung (1), um die Niveaus von Außer-Fokus Unschärfe-Kernel zu berücksichtigen, indem sie in der Faltungsgleichung (1') ∥f2*i1 – f1*i2∥/sqrt(∥f1∥^2 + ∥f2∥^2) resultieren, worin ∥f∥^2 = sum_q(f(q))^2.
  • Die Faltung (zum Beispiel Bildflicken 1 gefaltet mit Unschärfe-Kernel 2) kann beinhalten, dass ein gewichteter Mittelwert von Pixeln genommen wird, die ein partikuläres Pixel umgeben. In einigen Beispielen werden die resultierenden unscharf gemachten Flicken als Faltungsoperatoren bestimmt (unter Verwendung der Unschärfe-Kernel) und werden angewandt über Bildflicken des Alles-im-Fokus Bildes 110. Die Größe der Unschärfe-Kernel hängt von einer Entfernung eines Objekts von einer Linse und von Konfigurationseinstellungen einer Kamera ab, die verwendet wurden, um die Bilder 104(1), 104(2) zu erfassen.
  • In einigen Beispielen ist die Tiefenkarte 108 eine Bilddatei, welche Farbinformation und Tiefeninformation enthält. Die Tiefenkarte 108 kann auch eine spezialisierte Bilddatei sein, die Tiefeninformation enthält. Die Tiefeninformation kann eine Schätzung der Entfernung von Objekten innerhalb der Szene von der Digitalkamera, als die Bilder erfasst wurden, repräsentieren. In einigen Beispielen beinhaltet das Erzeugen der Tiefenkarte 108 ein Evaluieren einer Tiefen-Likelihood-Funktion über eine diskrete Menge von Tiefenhypothesen für Bildflicken, die in den Bildern 104(1) bis 104(N) erscheinen, die mit unterschiedlichen Konfigurationseinstellungen aufgenommen wurden (zum Beispiel Blenden- und Fokuseinstellungen). Eine Tiefenhypothese ist eine Schätzung einer Tiefe für einen Flicken, ein Pixel oder ähnliches. Aus der diskreten Menge von Tiefenhypothesen werden einzelne Tiefenschätzungen für jedes Pixel bestimmt zumindest teilweise durch Evaluieren jedes Bildflickens über die diskreten Mengen von Tiefenhypothesen unter Verwendung der Tiefen-Likelihood-Funktion. Die Tiefenschätzung, welche die maximale Likelihood bzw. Wahrscheinlichkeit erreicht, wird als die korrekte Tiefenschätzung ausgewählt. Auf diese Weise wird die Tiefenkarte 108 mit einem gewissen Grad an Konfidenz erzeugt. In einigen Beispielen beinhaltet das Erzeugen der Tiefenkarte 108 ein Tunen mit Bezug auf unscharfe Bildflicken und Unschärfe-Kernel.
  • In einigen Beispielen werden die Techniken, die sich auf das Schätzen von Tiefe wie hierin beschrieben beziehen, iterativ implementiert für jede mögliche Tiefe bei jeder Position in einer Szene, die durch zwei oder mehr Bilder erfasst wurden. Zum Beispiel werden, um eine Tiefe zu schätzen, die mit einer partikulären Position, L, innerhalb zweier Bilder, I1 und I2, assoziiert ist, Bildflicken von jedem der zwei Bilder über eine diskrete Menge von Tiefenhypothesen evaluiert unter Verwendung einer Tiefen-Likelihood-Funktion, und es wird aus der Menge eine Tiefenhypothese mit einer maximalen Likelihood bzw. Wahrscheinlichkeit ausgewählt. Die Tiefenhypothese mit der maximalen Likelihood bzw. Wahrscheinlichkeit repräsentiert eine Tiefenschätzung, welche die wahrscheinlichste ist für die partikuläre Position, L, in den zwei Bildern, I1 und I2, welche evaluiert werden. Daher umfasst eine erste Tiefenhypothese eine Tiefenhypothese, DH1, und wird verwendet, um einen ersten Unschärfe-Kernel, K1, für den Bildflicken, P1 (Bildflicken aus I1, zentriert bei L) und einen zweiten Unschärfe-Kernel, K2, für den Bildflicken P2 (Bildflicken aus I2, zentriert bei L) auszuwählen. Das Evaluieren der Tiefenwahrscheinlichkeit wie hierin beschrieben umfasst Falten von P1 mit K2 und Falten von P2 mit K1, um die Tiefenwahrscheinlichkeit für DH1 zu bestimmen (das heißt, die Wahrscheinlichkeit, dass DH1 die korrekte Approximation der Tiefe in der echten Welt ist). Sobald die Tiefenwahrscheinlichkeit für H1 berechnet ist, schreitet die Evaluierung von P1 und P2 unter Verwendung der Tiefen-Likelihood-Funktion über die verbleibenden Tiefenhypothesen DH2 bis DHn fort (zum Beispiel können vierzig diskrete Tiefen ausgewählt sein), bis jede Hypothese in der Menge von Tiefenhypothesen evaluiert wurde. Die Tiefenhypothese mit der maximalen Likelihood bzw. Wahrscheinlichkeit (zum Beispiel die wahrscheinlichste Tiefe) wird dann aus der Menge von Tiefenhypothesen ausgewählt, einschließlich entsprechender Wahrscheinlichkeiten, als die wahrscheinlichste Approximation der Tiefe in der echten Welt für die partikuläre Position L. In einigen Beispielen wird ein ähnlicher Prozess für jede Position (zum Beispiel Pixel um Pixel, Flicken um Flicken, usw.) innerhalb der zwei entsprechenden Bilder wiederholt. Auf diese Weise sind die hierin beschriebenen Techniken, die sich auf das Schätzen von Tiefe beziehen, nicht nur iterativ für jede Tiefenhypothese an einer partikulären Position, sondern sind auch iterativ für jede Position innerhalb der Szene.
  • 2 zeigt eine beispielhafte Umgebung 200 zum Implementieren von Techniken, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder wie hierin beschrieben beziehen. Die Umgebung 200 enthält einen Bediener 202, der eine Digitalkamera 204 verwendet, um ein Bild einer Szene 206 zu erfassen. Für das Implementieren der hierin beschriebenen Techniken ist der Bediener 202 optional. In einigen Beispielen kann die Digitalkamera 204 auf einem Dreibein oder einer anderen geeigneten Vorrichtung befestigt sein, und die Bilder der Szene 206 können programmtechnisch erfasst werden, wobei der Bediener 202 keine oder nur wenig Hilfestellung leistet. Die Digitalkamera 204 befindet sich, während sie verwendet wird, um das Bild der Szene 206 zu erfassen, an einem Standpunkt 208. Die Szene 206 enthält eine Mehrzahl von Objekten 210 bis 214. Insbesondere sind drei Objekte der Szene 206 in der Umgebung 200 dargestellt, wobei es sich um Karotten 210, einen Baum 212 und einen Zaun 214 handelt. Wie gezeigt erscheinen die Karotten 210 eher im Vordergrund der Szene 206, während der Baum 212 und der Zaun 214 eher im Hintergrund erscheinen. Unabhängig davon, wo die Objekte 210 bis 212 in der Szene erscheinen, ist jedes von diesen definiert, eine Entfernung von dem Standpunkt 208 zu haben. In einigen Beispielen wird die Entfernung jedes Objekts innerhalb der Szene 206 von der Linie 216 aus gemessen, welche eine Linse der Digitalkamera 204 kreuzt. In einigen Beispielen kann die Entfernung jedes Objekts innerhalb der Szene 206 annähernd bestimmt werden durch Verwendung von Techniken der Tiefenschätzung.
  • In einigen Beispielen werden von dem Bediener 202 Konfigurationseinstellungen der Digitalkamera 204 zum Erfassen von Bildern der Szene 206 willkürlich ausgewählt oder systematisch geändert. Die Konfigurationseinstellungen umfassen Blendeneinstellungen, Fokuseinstellungen und jede andere Einstellung, die das Niveau an Unschärfe in einem Bild bei verschiedenen tiefen beeinflusst. Zum Beispiel wählt der Bediener 202, wenn er ein erstes Bild erfasst, zuerst eine Blendeneinstellung von f/1,2 (zum Beispiel ausgewählt aus f/1,2, f/2, f/4, f/5,6, f/8, f/16, f/22 oder anderen geeigneten Blendeneinstellungen) auf der Digitalkamera 204 aus. Der Bediener 202 fokussiert die Digitalkamera 204 dann auf die Karotten 210 und erfasst die Szene 206 unter Verwendung der Digitalkamera 204. Wenn ein zweites Bild erfasst wird, wählt der Bediener 202 eine andere Blendeneinstellung (zum Beispiel f/4), oder er kann dieselbe Blendeneinstellung (das heißt, f/1,2) beibehalten, während er die Digitalkamera 202 auf ein anderes Objekt fokussiert (zum Beispiel den Baum 212) anstelle der Karotten 210. Während er ein drittes Bild erfasst, geht der Bediener 202 durch dieselben Schritte, wie sie ausgeführt wurden, um das erste und das zweite Bild zu erfassen, variiert aber die Konfigurationseinstellungen der Digitalkamera 204 im Vergleich zu denjenigen, die verwendet wurden, als das erste Bild und das zweite Bild erfasst wurden. Auf diese Weise erfasst der Bediener 202 Bilder der Szene 206 mit unterschiedlichen Blendeneinstellungen und/oder unterschiedlichen Fokuseinstellungen. In Übereinstimmung mit der hierin beschriebenen Technik werden solche erfassten Bilder von der Tiefenerzeugungsfunktionseinheit 102 verwendet, um eine oder mehrere Tiefenkarten auszugeben. In einigen Beispielen erzeugt die Tiefenerzeugungsfunktionseinheit 102, die in Übereinstimmung mit den hierin beschriebenen Techniken arbeitet, eine Tiefenkarte für Bilder, die bei einer maximalen Entfernung von etwa 50 Metern von der Szene 206 entfernt erfasst werden.
  • 3 zeigt ein Beispiel einer Menge eingegebener Bilder 302 bis 308 und Tiefenkarten 310, 314 und Alles-im-Fokus Bilder 312, 316, welche durch Anwenden der hierin beschriebenen Techniken zum Schätzen von Tiefe innerhalb digitaler Bilder erzeugt wurden. In einigen Beispielen wurden die eingegebenen Bilder 302 bis 308 zuvor mit einer Digitalkamera in Übereinstimmung mit hierin beschriebenen Techniken erfasst. In einigen Beispielen unterscheiden sich die eingegebenen Bilder 302 bis 308 daher jeweils voneinander mit Bezug auf zumindest eines von einer Blendeneinstellung oder einer Fokuseinstellung. In einigen Beispielen wurden die Blendeneinstellungen und die Fokuseinstellungen der eingegebenen Bilder 302 bis 308 optimal ausgewählt unter Verwendung einer Auswahlfunktion. In anderen Beispielen können die Blendeneinstellungen und die Fokuseinstellungen der eingegebenen Bilder 302 bis 308 jedoch von einem Bediener der Digitalkamera willkürlich oder systematisch ausgewählt sein. Da die eingegebenen Bilder 302 bis 308 unter Verwendung Unterschiedlicher Eingabeeinstellungen erfasst wurden, wird jedes von ihnen eine unterschiedliche Unschärfe zeigen.
  • Sobald die eingegebenen Bilder 302 bis 308 empfangen werden, kann eine Tiefenkarte 310 und ein Alles-im-Fokus Bild 312 berechnet werden. In einigen Beispielen wird die Tiefenwahrscheinlichkeit mit einem Dekonvolutionsalgorithmus (zum Beispiel Weiner Dekonvolution) verwendet, um das Alles-im-Fokus Bild 312 zurückzugewinnen. Zum Beispiel wird, sobald die Unschärfe-Kernel für jeden Bildflicken in allen der eingegebenen Bilder geschätzt wurden, indem die maximale Tiefenwahrscheinlichkeit bei jedem Pixel unabhängig berechnet wurde, die maximale Tiefenwahrscheinlichkeit verwendet, um das Alles-im-Fokus Bild 312 zu Berechnen.
  • In einigen Beispielen wird eine Standard-Weiner Dekonvolution verwendet, um zu bestimmen, wie ein Alles-im-Fokus-Flicken für jede Tiefenhypothese aussehen würde (nicht nur für die maximale Tiefenwahrscheinlichkeit). In diesem Beispiel wird das Unsicherheitsmaß in der die Tiefenschätzung für jeden Flicken berücksichtigt, wenn das Alles-im-Fokus Bild 312 berechnet wird. Dies aus dem Grund, dass die Anzahl potentieller Versionen eines Ausgabeflickens, D, direkt der Anzahl an Tiefenhypothesen, D, entspricht. Eine gewichtete Linearkombination der Antworten wird verwendet, um die finale Antwort für das Alles-im-Fokus Bild 312 zurückzubekommen, wobei die Gewichtung für den Flicken, die abgeleitet wird von einer Tiefenhypothese dd, die Wahrscheinlichkeit ist, dass der Flicken bei der Tiefe dd ist (das heißt, die Wahrscheinlichkeit bzw. Likelihood der Tiefe dd, nachdem die Wahrscheinlichkeits- bzw. Likelihood-Werte normalisiert wurden, um in Summe über alle Tiefen 1 zu ergeben).
  • Sobald die eingegebenen Bilder 302 bis 308 empfangen wurden, kann auch zumindest ein Teil der folgenden Operationen ausgeführt werden, um die Tiefenkarte 310 und das Alles-im-Fokus Bild 312 zu berechnen. Zum Beispiel sei ein lokaler unscharfer Bildflicken b von einem der eingegebenen Bilder 302 bis 308 betrachtet, die erfasst wurden mit Fokuseinstellungen f und F-Nummern a einer Digitalkamera. Wenn angenommen wird, dass die Tiefe in dem Flicken annähernd konstant ist, hängt die Erscheinung von b von der Tiefe d und einer Szenentextur ab, die repräsentiert werden kann durch ein Alles-im-Fokus Bild h (zum Beispiel das Alles-im-Fokus Bild 312) eines spezifischen Referenzfokus f0. In Übereinstimmung mit den hierin beschriebenen Techniken kann eine Schlussfolgerung über d und h gegeben werden aus einer Anzahl unscharfer Flicken b, welche dasselbe Alles-im-Fokus Bild teilen, erfasst mit unterschiedlichen Linseneinstellungen.
  • In einigen Beispielen kann eine Formierungsprozedur auf einzelnen unscharfen Flicken desselben Alles-im-Fokus Bildes eine Vergrößerung, Defokus-Unschärfe, Abtasten und Rauschen beinhalten. Was die Vergrößerung betrifft, so kann, mit sich änderndem Fokus, derselbe Punkt der Szene auf unterschiedliche Punkte der Sensorebene der Digitalkamera 204 projiziert werden, entsprechend einer globalen geometrischen Skalierung.
    Figure DE102015010214A1_0002
    entspricht dem Downsampling wegen Refokussierung und dem Skalierungsfaktor
    Figure DE102015010214A1_0003
  • Was die Defokus-Unschärfe betrifft, so erscheinen auf Grund der endlichen Form der Blende die Bilder der Außer-Fokus-Objekte unscharf, und die Unschärfe entspricht einer Faltung zwischen dem vergrößerten Alles-im-Fokus Bild und einer Scheibe, deren Radius bestimmt wird durch Tiefe, Fokus und Blende. b ~f,a = hf*kσ(d,f,a). (3)
  • Was das Abtasten betrifft, so tasten digitale Bilder, obwohl der Sensor kontinuierlich bestrahlt wird, die Intensität nur bei diskreten Stellen ab. Dementsprechend können nur spezifische Frequenzen in dem Bild abgetastet werden. bf,a = bf,a + ε (4)
  • Was schließlich das Rauschen betrifft, so ist das finale Bild eine nichtlineare, verrauschte Version des sauberen, abgetasteten Bildes. Im Bereich der vorliegenden Offenbarung werden zumindest einige eingegebene Bilder linearisiert und das Bildrauschen wird mit einem einfachen Gauss'schen Modell modelliert.
    Figure DE102015010214A1_0004
  • In einigen Beispielen können Vergrößerung, Defokussierungsunschärfe und Abtastung Fourier-Entsprechungen haben. Zum Beispiel kann eine Vergrößerung, die ein globaler geometrischer Skalierungsoperator sein kann, einer geometrischen Skalierung im Fourier Bereich entsprechen:
    Figure DE102015010214A1_0005
  • Eine Faltung im Bildbereich kann ein Äquivalent zu elementweisen Multiplikation im Fourier Bereich sein,
    Figure DE102015010214A1_0006
  • Schließlich kann eine elementweise Multiplikation im Bildbereich auch ausgedrückt werden als eine Faltung im Fourier Bereich,
    Figure DE102015010214A1_0007
  • Daher kann die Gleichung (5) im Fourier Bereich ausgedrückt werden als
    Figure DE102015010214A1_0008
    worin N(ξ) nicht nur Bildrauschen, sondern auch Inhalte hoher Frequenz jenseits der Nyqvist-Frequenz berücksichtigt.
  • In einigen Beispielen mag es praktisch sein, während die Tiefen-Likelihood-Funktion evaluiert wird, das unscharfe Bild zu berichtigen durch Skalieren auf die Vergrößerungen bei f0, so dass
    Figure DE102015010214A1_0009
    worin
    Figure DE102015010214A1_0010
    das Antialiasingfilter ist. Es gilt daher näherungsweise, dass if,a ≈ h*ψ(d) + ε (13) worin
    Figure DE102015010214A1_0011
  • Dementsprechend ist im Fourier Bereich Id,f,a(ξ) ≈ H(ε)·ψd,f,a(ξ) + N(ξ) (15)
  • Als nächstes kann die Wahrscheinlichkeit bzw. Likelihood
    Figure DE102015010214A1_0012
    einer Tiefenhypothese d bei gegebenen N entsprechenden berichtigten Flicken
    Figure DE102015010214A1_0013
    bestimmt werden. Da die Linseneinstellungen für jedes Pixel bekannt sind, kann eine Sequenz von Unschärfe-Kerneln
    Figure DE102015010214A1_0014
    berechnet werden, wobei jeder Kernel nicht nur Defokus-Unschärfe, sondern auch eine Phasenänderung (wenn nächste Nachbarn verwendet wurden) und Antialiasing-Filter (wenn eine bilineare oder Interpolation verwendet wurden) zur Berichtigung berücksichtigen.
  • Auf äquivalente Weise kann eine Kostenfunktion ε(d|{in}) evaluiert werden, welche
    Figure DE102015010214A1_0015
    für lokale Bildflicken erfüllt. Dann kann ein gieriges Tiefenkartenlabel erzeugt werden, indem einfach die Tiefenhypothese der minimalen Kosten für individuelle Pixel genommen wird.
    Figure DE102015010214A1_0016
  • In einigen Beispielen kann die diskrete Kostenfunktion auch als Datenkosten eines Markov-Zufallsfeldes verwendet werden, um ein Vor-Bild bzw. Prior räumlicher Glattheit zu inkorporieren. Im Nachfolgenden werden andere Verfahren diskutiert, die Tiefenschätzungen in kontinuierlichen Werten erzeugen, anstelle von Tiefenlabels, aus dieser Kostenmatrix, und welche ein räumliches Prior bzw. Vor-Bild im kontinuierlichen Bereich inkorporieren können.
  • In einigen Beispielen kann ein Fourier Bereichs-Tiefenschätzungsalgorithmus eingeführt werden. Ein flaches Vor-Bild bzw. Prior der Tiefe kann angenommen werden Pr(d) = const (18) und daher ist das Posterior von d proportional der multivariaten Verteilung zwischen unscharfen Bildern und die Tiefe kann sein
    Figure DE102015010214A1_0017
  • Die multivariate Verteilung unter den Alles-im-Fokus Bildflicken und die Tiefe kann weiter ausgedrückt werden als
    Figure DE102015010214A1_0018
    worin
    Figure DE102015010214A1_0019
    einem Bildrauschen-Modell entspricht und Pr(h) einem Vor-Bild bzw. Prior entspricht. Das Alles-im-Fokus Bild h kann ausgeklammert werden, indem es herausmarginalisiert wird.
  • Unter einem Gauss'schen Rauschmodell,
    Figure DE102015010214A1_0020
    und einem Gauss'schen Vor-Bild bzw. Prior
    Figure DE102015010214A1_0021
    kann die negative Log-Likelihood dann in geschlossener Form abgeleitet werden
    Figure DE102015010214A1_0022
  • Der Grenzwert von
    Figure DE102015010214A1_0023
    für s 2 / ξ → ∞ kann weiter so berechnet werden, dass das Vor-Bild ein flaches Vor-Bild bzw. Prior wird. Dementsprechend kann die Likelihood-Funktion ausgerückt werden als
    Figure DE102015010214A1_0024
  • In einigen Beispielen kann die Implementierung der Gleichung 24 aufwendig sein, da sie lokale Flicken für das gesamte Bild extrahiert. Alternativ kann die Gleichung 24 in den Bildbereich umgeschrieben werden, um die Kostenfunktion unter Verwendung von Bildfaltung zu berechnen.
  • Eine Beobachtung kann sein, dass
    Figure DE102015010214A1_0025
    auf Grund des Faltungstheorems und der Linearität der Fourier Transformation. Auf diese Weise können eingegebene Bilder als ein Datenstrom gesammelt und in einem Puffer gespeichert werden.
    Figure DE102015010214A1_0026
    Figure DE102015010214A1_0027
  • Dann kann ε(d) berechnet werden durch
    Figure DE102015010214A1_0028
  • Alternativ kann das Alles-im-Fokus Bild geschätzt werden durch h* = deconvwnr(ν1, ν2) (30)
  • In einigen Beispielen kann die Approximation in Gleichung 13 Artefakte in Bereichen mit schwacher Textur hervorrufen auf Grund von Vereinfachung über die Skalierungsoperation, wenn Bilder mit unterschiedlichen Vergrößerungen ausgerichtet werden. In einigen Beispielen kann die Vergrößerung fest sein bzw. fixiert werden, wenn zwei Bilder, jedes mit unterschiedlichen Blenden, die bei jeder Fokuseinstellung aufgenommen werden, beschränkt bzw. Nebenbedingungen unterworfen werden. Dies kann erreicht werden, zumindest zum Teil, indem zuerst eine MAP Schätzung bzw. Maximum a posteriori Schätzung eines Unschärfe-Kernels von Größe σ * / n bei jeder Fokuseinstellung fn für eine Referenz-Blendeneinstellung berechnet wird und dann die gemessene Unschärfe-Kernel-Größe als eine Funktion der Fokuseinstellung robust an das kalibrierte Linsenmodell angepasst wird.
    Figure DE102015010214A1_0029
    wobei γ das Niveau von Rauschen in {σ * / n} ist.
  • Wenn angenommen wird, dass die Bilder von denselben Fokuseinstellungen kontinuierlich aufgenommen werden, kann dieses Verfahren auch ein dichtes Matching zwischen kontinuierlichen Bildrahmen sicherstellen, da sowohl Bewegung als auch im Freien vorkommende Beleuchtungsänderungen typischer Weise kontinuierlich sind.
  • Die Tiefenkarte 310 wurde erzeugt, um relative Tiefen anzuzeigen unter Verwendung einer gleitenden Farbskala (wie in 3 gezeigt). Zum Beispiel repräsentiert rot nähere Tiefen, und blau repräsentiert Tiefen, die weiter entfernt sind. In einigen Beispielen kann die Tiefenkarte 310 absolute Tiefen enthalten. Sobald die Tiefenkarte 310 und das Alles-im-Fokus Bild 312 berechnet wurden, können eine angepasste Tiefenkarte 314 und ein angepasstes Alles-im-Fokus Bild 316 erzeugt werden. In einigen Beispielen werden die angepasste Tiefenkarte 314 und das angepasste Alles-im-Fokus Bild 316 direkt aus den eingegebenen Bildern 302 bis 308 berechnet unter Verwendung der Tiefen-Likelihood-Funktion. In einigen Beispielen werden die angepasste Tiefenkarte 314 und das angepasste Alles-im-Fokus Bild 316 angepasst, um Bewegungen von Objekten innerhalb der Szene wie zwischen den eingegebenen Bildern 302 bis 308 zu berücksichtigen. Zum Beispiel kann sich der Busch zur rechten in den Bildern bewegt haben, während die eingegebenen Bilder 302 bis 308 erfasst wurden. In einigen Beispielen wird die Bewegung der Objekte durch die unten stehenden Techniken berücksichtigt.
  • In einem Beispiel kann die Likelihood-Funktion in Gleichung 24 wie folgt umgeschrieben werden, um Paare von Bildern gleichzeitig zu betrachten:
    Figure DE102015010214A1_0030
  • In einigen Beispielen kann sich die abgeleitete Energiefunktion von der Gleichung 24 durch einen konstanten Offset unterscheiden. Auch wenn sie nicht gleich sind, können sie daher Nebenbedingungen für die Tiefe auf eine ähnliche Weise aufstellen, als ob sie derselben bedingten Wahrscheinlichkeit bzw. Likelihood und derselben hypothetischen Tiefe maximaler Wahrscheinlichkeit bzw. Likelihood entsprechen.
  • Daher kann das Berechnen der Tiefen-Likelihood-Funktion ein Berechnen von Differenzen zwischen Paaren von Bildern beinhalten, wobei die Defokus-Unschärfe ausgerichtet ist, jmn = imn (35) jmn = inm (36) oder ihre Frequenzen verglichen werden Jmn = ImΦn (37) Jnm = InΦm (38)
  • Basierend darauf können die nachfolgenden Techniken implementiert werden, um Bewegung zu berücksichtigen. Wenn die Bewegung nur klein ist, kann diese angenähert werden als eine lokale Translation. In diesem Fall mag die Funktion nur wenig zum Fourier Spektrum von Jmn, beitragen, aber dies hauptsächlich zu dessen Phase. Daher ist ein einfacher Weg, Robustheit gegenüber Bewegung zu erreichen, die Phase zu ignorieren
    Figure DE102015010214A1_0031
  • Um größere Bewegungen handzuhaben, oder um den größten Nutzen aus der Phaseninformation zu ziehen, können die Defokus-ausgerichteten Bilder jmn und jnm bis auf eine Verschiebung aneinander angepasst werden. In einigen Beispielen kann eine einfache Strategie diejenige sein, einfach den optischen Fluss auszuführen, um die relative Bewegung von dem ersten Bild, das als Referenz verwendet werden kann, zu irgendeinem anderen eingegebenen Bild zu schätzen. Danach können die eingegebenen Bilder gekrümmt bzw. verformt werden, um die eingegebenen Bilder auszurichten, und diese als Eingabe für den vorgenannten Tiefenschätzungsalgorithmus zu verwenden.
  • Schließlich kann es möglich sein, Ausreißer in der Szene zu erkennen (wo eine Szenenänderung zu groß ist für den optischen Fluss oder das lineare Beleuchtungsmodell), indem einfach die minimale erreichbare Kostenfunktion mind ε(d) und Schwellwertbereiche großer Kosten als Ausreißer betrachtet werden.
  • In einigen Beispielen können die angepasste Tiefenkarte 314 und das angepasste Alles-im-Fokus Bild 316 angepasst werden, um Beleuchtungsbedingungen innerhalb der Szene zu berücksichtigen. Zum Beispiel unterscheidet sich ein Schatten des Geländers an der Treppe in dem eingegebenen Bild 302 stark von dem Schatten in dem eingegebenen Bild 308. In einigen Beispielen werden sich ändernde Beleuchtungsbedingungen der Objekte berücksichtigt durch die unten stehenden Techniken.
  • Zum Beispiel kann die Beleuchtungsänderung modelliert werden als eine lokal konstante Kontraständerung und Helligkeitsoffset hn = pnh + qn (40)
  • Dementsprechend kann es sein, dass jmn = pmnjnm + qmn, (41) mit
    Figure DE102015010214A1_0032
  • Daher kann die Likelihood-Funktion modifiziert werden als
    Figure DE102015010214A1_0033
    wobei j mn der Mittelwert von jmn(s, t) ist.
  • In einigen Beispielen kann eine Robustheit gegenüber Beleuchtungsänderungen in die Formulierung im Fourier Bereich inkorporiert werden. In diesem Beispiel mag der Offset lediglich die DC Komponente beeinflussen, und die Fehlerfunktion kann berechnet werden, indem Jm(ξ) und Jn(ξ) über ξ verglichen werden bis zu einer Skala. Das Anpassen für Beleuchtungsänderungen kann daher ein Anpassen des Bias und der Verstärkung von Teilen zumindest einiger der Bildflicken beinhalten.
  • Die folgende Diskussion beschreibt beispielhafte Aktionen und/oder Prozeduren, die unter Verwendung von hierin beschriebenen Techniken ausgeführt werden, in Übereinstimmung mit zumindest einem Beispiel. Die 4 zeigt einen Prozess 400, welcher beispielhafte Aktionen oder Techniken beinhaltet, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder in Übereinstimmung mit zumindest einem Beispiel beziehen. Ein Teil von oder der gesamte Prozess 400 (oder irgend ein anderer hierin beschriebener Prozess, oder Variationen davon, und/oder Kombinationen davon) kann unter der Steuerung oder Regelung durch ein oder mehrere Computersysteme, die mit ausführbaren Anweisungen konfiguriert sind, ausgeführt werden und kann als Code implementiert sein (zum Beispiel ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen), der gemeinsam auf einem oder auf mehreren Prozessoren ausgeführt wird, durch Hardware oder Kombinationen davon. Der Code kann auf einem computerlesbaren Speichermedium gespeichert sein, zum Beispiel in Form eines Computerprogramms, das eine Vielzahl von Anweisungen umfasst, die von einem oder von mehreren Prozessoren ausgeführt werden können. Das computerlesbare Speichermedium kann nichtflüchtig sein. Die Tiefenerzeugungsfunktionseinheit 102 (1), welche die hierin beschriebene Tiefen-Likelihood-Funktion verwendet, führt den Prozess 400 von 4 aus. Der Prozess 400 beginnt bei Block 402 mit dem Empfangen einer Menge von Bildern. In einigen Beispielen beinhaltet das Empfangen der Menge von Bildern ein Empfangen einer Menge von Bildern, die eine Szene zeigen und von im Wesentlichen demselben Standort aus erfasst wurden. In einigen Beispielen wurden die Bilder der Menge von Bildern durch eine Digitalkamera erfasst unter Verwendung unterschiedlicher Konfigurationseinstellungen, welche Blendeneinstellungen und Fokuseinstellungen beinhalten. Die Konfigurationseinstellungen, die verwendet wurden, um jedes einzelne Bild in der Menge von Bildern zu erfassen, werden in Metadaten gespeichert, die mit den Bildern assoziiert sind. Die Bilder können erfasst werden in Übereinstimmung mit Einstellungen, die erzeugt und der Digitalkamera bereitgestellt werden. In diesem Beispiel zeichnet die Vorrichtung, welche die Anweisungen erzeugt hat, auf, welche Einstellungen bereitgestellt wurden, und wenn (später) die Tiefenkarte erzeugt wird, wird auf diese Einstellungen zurückgegriffen. In einigen Beispielen wird eine Benutzereingabe empfangen, die anzeigt, dass die Bilder von dem Standpunkt aus aufgenommen wurden. Manchmal werden einige der Bilder der Menge von leicht unterschiedlichen Orten aus erfasst als andere Bilder, weil die Digitalkamera beim Erfassen der Bilder leicht bewegt wurde. Wenn dies passiert, können die Differenzen zwischen den Bildern, die darauf zurückzuführen sind, dass die Bilder an unterschiedlichen Orten erfasst wurden, auf ähnliche Weise modelliert werden wie die Differenzen, die auf Bewegung zurückzuführen sind. Daher kann eine Technik des optischen Flusses oder eine andere Anpassungstechnik ausgeführt werden, um die Differenzen zwischen den Bildern zu berücksichtigen. Die Technik des optischen Flusses oder andere Techniken der Anpassung sind in der Lage, kleinere Variationen zwischen den beiden Bildern zu berücksichtigen.
  • Bei 404 vergleicht der Prozess 400 Bildflicken von einem ersten Bild der Menge von Bildern, die mit partikulären Unschärfe-Kerneln unscharf gemacht wurden, mit Bildflicken von einem zweiten Bild der Menge von Bildern, die mit partikulären Unschärfe-Kerneln unscharf gemacht wurden, um eine Tiefenschätzung für jeden der Bilderflicken zu bestimmen. In einigen Beispielen beinhaltet das Vergleichen der Bildflicken ein Vergleichen der Bildflicken auf eine Weise, welche eine unangebrachte Neigung hin zu einem Auswählen von Unschärfe-Kerneln mit größeren Unschärfeniveaus vermeidet, insbesondere wenn Rauschen vorhanden ist. In einigen Beispielen beinhaltet das Vergleichen von Bildflicken, um Tiefenschätzungen zu bestimmen, ein Evaluieren der entsprechenden Bildflicken über eine diskrete Menge von Tiefenhypothesen und Auswählen der geschätzten Tiefe für die Bildflicken als die Tiefenhypothese, welche die maximale Tiefenwahrscheinlichkeit ergibt. Der Prozess von 404 wird in größerem Detail in 5 beschrieben.
  • Bei 406 verwendet der Prozess 400 die berechnete(n) Tiefenschätzung(en), um eine Tiefenkarte zu erzeugen. In einigen Beispielen beinhaltet das Erzeugen der Tiefenkarte ein Erzeugen einer Tiefenkarte, die Tiefeninformation enthält, die den Entfernungen von Objekten innerhalb einer Szene von im Wesentlichen dem gleichen Standpunkt aus entspricht, wo die Bilder erfasst wurden. Die Tiefenkarte wird erzeugt, indem eine Tiefenschätzung für jeden Bildflicken eines Bildes, wie bei 404 bestimmt, genommen wird. In einigen Beispielen beinhaltet das Erzeugen einer Tiefenkarte ein Extrahieren lokaler Flicken für die Gesamtheit der erfassten Bilder und ein Vergleichen der lokalen Flicken von den unterschiedlichen der erfassten Bilder, ohne dass bestimmte Annahmen über das Alles-im-Fokus Bild berücksichtigt werden. In einigen Beispielen kann das Erzeugen der Tiefenkarte ein Extrahieren von weniger als allen den lokalen Flicken für die Gesamtheit der erfassten Bilder beinhalten.
  • Bei 408 passt der Prozess 400 die Tiefenkarte an, um eine Bewegung eines Objekts zwischen Bildern einer Szene zu berücksichtigen. In einigen Beispielen beinhaltet das Anpassen der Tiefenkarte, um eine Bewegung des Objekts zu berücksichtigen, die Verwendung einer Technik des optischen Flusses oder das Transformieren in den Fourier Bereich, in dem Bildflicken der Bilder der Menge von Bildern als eine Menge von Frequenzen und Phasen repräsentiert werden, und Vergleichen der Beträge der Bildflicken, während die Phasen ignoriert werden.
  • Wenn mehrere Bilder erfasst werden, insbesondere im Freien, kann es vorkommen, dass kleine Positionsunterschiede zwischen Objekten in den mehreren Bilder auftreten als ein Ergebnis davon, dass sich die Objekte bewegen. Dies kann das Resultat davon sein, dass Wind die Objekte bewegt. Zum Beispiel kann Wind die Blätter des Baums 212 oder die Spitze der Karotten 210 dazu bringen, sich zu bewegen, während der Bediener 202 die mehreren Bilder erfasst. In einem ersten Bild können daher die Spitzen der Karotten 210 in einer ersten Position innerhalb des ersten Bildes sein, und können in einer zweiten Position innerhalb eines zweiten Bildes sein. Wenn diese Diskrepanzen nicht entweder vor oder während der Tiefenkarten-Erzeugung berücksichtigt werden, können diese die Qualität einer resultierenden Tiefenkarte beeinträchtigen. Dementsprechend werden, bei 408, eine oder mehrere Operationen auf Teilen der Bilder ausgeführt, um eine derartige Bewegung zu kompensieren. Diese Operationen beinhalten zum Beispiel das Ausführen einer Technik des optischen Flusses, um den neuen Ort von Pixeln in einem zweiten Bild zu schätzen, verglichen mit einem Ort der Pixel in einem ersten Bild, oder durch Transformieren von Flicken der Bilder in den Fourier Bereich, indem diese als eine Menge von Frequenzen und Phasen repräsentiert werden, und Vergleichen der Beträge aller Flicken, während die Phasen ignoriert werden. Dieses zweite Verfahren ist nützlich, da es gegenüber einer Translation der Flicken unempfindlich sein kann. In einigen Beispielen wird die Tiefen-Likelihood-Funktion angepasst, um auch Bewegung zu berücksichtigen. In einigen Beispielen wird Bewegung berücksichtigt durch eine separate Funktion, die ausgeführt wird, nachdem eine Tiefenkarte erzeugt wurde.
  • Bei 410 passt der Prozess 400 die Tiefenkarte an, um Veränderungen von Beleuchtungsbedingungen zwischen Bildern der Szene zu berücksichtigen. In einigen Beispielen beinhaltet das Anpassen der Tiefenkarte, um Veränderungen von Beleuchtungsbedingungen zu berücksichtigen, ein Modellieren von Beleuchtungsänderungen als eine lokal konstante Änderung in Helligkeit und Kontrast. Wenn zum Beispiel mehrere Bilder erfasst werden, insbesondere draußen, kann es in den mehreren Bildern kleine Beleuchtungsänderungen in der Farbintensität in Bildflicken, der Helligkeit von Bildflicken und ähnliches geben als ein Ergebnis von Beleuchtungsänderungen, die zwischen den Zeitpunkten aufgetreten sind, als die mehreren Bilder erfasst wurden. Dies kann das Ergebnis einer natürlichen Bedingung (wenn zum Beispiel die Sonne zwischen den Bildern hinter einer Wolke verschwindet) oder einer unnatürlichen Bedingung sein (wenn zum Beispiel ein Blitz ausgelöst wird, während bestimmte Bilder erfasst werden, aber nicht ausgelöst wird, während andere Bilder erfasst werden). Zum Beispiel kann der Baum 212 einen bestimmten Schatten werfen, wenn die Sonne zu dessen rechter steht, aber einen anderen Schatten werfen, wenn die Sonne zu dessen linker steht. Auf ähnliche Weise kann der Schatten definierter sein, wenn die Sonne unverdeckt ist, im Vergleich zu wenn die Sonne hinter einer Wolke steht. Ein Verfahren zum Kompensieren von Veränderungen von Beleuchtungsbedingungen beinhaltet zum Beispiel ein Modellieren von Beleuchtungsänderungen als eine lokal konstante Änderung in Helligkeit und Kontrast. Das Berücksichtigen der Beleuchtungsänderungen zwischen einem ersten Flicken in einem ersten Bild und einem zweiten Flicken in einem zweiten Bild beinhaltet ein Anpassen des Bias und der Verstärkung des zweiten Bildflickens. In einigen Beispielen wird die Tiefen-Likelihood-Funktion angepasst, um auch Beleuchtungsänderungen zu berücksichtigen. In einigen Beispielen werden Beleuchtungsänderungen durch eine separate Funktion berücksichtigt, die ausgeführt wird, nachdem eine Tiefenkarte erzeugt wurde.
  • Bei 412 stellt der Prozess 400 die Tiefenkarte zur Darstellung bereit. In einigen Beispielen beinhaltet das Bereitstellen der Tiefenkarte zur Darstellung das Bereitstellen der Tiefenkarte zur Darstellung auf einer Benutzervorrichtung.
  • 5 zeigt einen beispielhaften Prozess 404 (4) zum Schätzen von Tiefe eines Bildflickens. Der Prozess 500 beginnt bei Block 502 durch Identifizieren eines Bildflickens von einem ersten Bild aus der Menge von zumindest zwei Bildern und einem entsprechenden Bildflicken aus einem zweiten Bild aus der Menge von zumindest zwei Bildern. In einigen Beispielen wird das Identifizieren durch das Rechnersystem ausgeführt. Beim Schritt 504 wird eine erste Tiefenhypothese aus einer diskreten Menge von Tiefenhypothesen. Die diskrete Menge von Tiefenhypothesen kann jede geeignete Anzahl an Tiefenhypothesen enthalten. In einigen Beispielen sind vierzig Tiefenhypothesen in der diskreten Menge enthalten.
  • Bei 506 wird ein erster Unschärfe-Kernel identifiziert, der von der ausgewählten Tiefenhypothese und einer ersten Konfigurationseinstellung abhängt, die verwendet wurde, um das erste Bild zu erfassen. Wie hierin beschrieben, hängt der erste Unschärfe-Kernel von der ausgewählten Tiefenhypothese und der ersten Konfigurationseinstellung ab, zumindest aus dem Grund, dass während des Kalibrierens der Digitalkamera Unschärfe-Kernel zu Tiefen und Konfigurationseinstellungen (das heißt, Variationen von Blenden- und Fokuseinstellungen) zugeordnet wurden. Auf ähnliche Weise wird bei 508 ein zweiter Unschärfe-Kernel identifiziert, der von der ausgewählten Tiefenhypothese und einer zweiten Konfigurationseinstellung abhängt, die verwendet wurde, um das zweite Bild zu erfassen. Wie hierin beschrieben hängt der zweite Unschärfe-Kernel von der Tiefenhypothese und der zweiten Konfigurationseinstellung ab, zumindest aus dem Grund, dass während des Kalibrierens der Digitalkamera Unschärfe-Kernel zu Tiefen und Konfigurationseinstellungen (das heißt, Variationen von Blenden- und Fokuseinstellungen) zugeordnet wurden.
  • Bei 510 wird der Bildflicken des ersten Bildes mit dem zweiten Unschärfe-Kernel gefaltet, und der entsprechende Bildflicken aus dem zweiten Bild wird mit dem ersten Unschärfe-Kernel gefaltet, um eine Tiefenwahrscheinlichkeit für den Bildflicken zu bestimmen. Die Faltung kann in einigen Beispielen normalisiert werden. Nach dem Bestimmen der Tiefenwahrscheinlichkeit, die von der ausgewählten Tiefenhypothese produziert wird, bestimmt der Prozess bei 512, ob es andere Tiefenhypothesen gibt, die zu evaluieren sind. Falls ja, kehrt der Prozess zu Schritt 504 zurück, um eine andere Tiefenhypothese auszuwählen, und der Prozess wird von diesem Punkt aus wiederholt. Wenn bei Schritt 512 dann schließlich bestimmt wird, dass keine anderen Tiefenhypothesen übrig sind, die zu evaluieren sind, schreitet der Prozess zu Schritt 514 fort, wo die Tiefenhypothese, welche die maximale Tiefenwahrscheinlichkeit ergeben hat, bestimmt wird als die Tiefenschätzung für den Bildflicken.
  • Es wird sich nun auf die 6 bezogen, in der eine beispielhafte Architektur 600 zum Implementieren von Techniken gezeigt ist, die sich auf das Schätzen von Tiefe innerhalb digitaler Bilder wie hierin beschrieben beziehen. Die Architektur 600 beinhaltet eine oder mehrere Benutzervorrichtungen 602(1) bis 602(N) (hiernach: „die Benutzervorrichtung 602”) in Kommunikation mit einem Bildeditierdienst 604 über Netzwerk(e) 624 (hiernach: „das Netzwerk 624”). Das Netzwerk 624 beinhaltet ein beliebiges oder eine Kombination von vielen verschiedenen Typen von Netzwerken, wie Kabelnetze, das Internet, drahtlose Netzwerke, Mobilfunknetze, Funknetzwerken, und andere private und/oder öffentliche Netzwerke.
  • Die Benutzervorrichtung 602 beinhaltet jede geeignete Vorrichtung, die geeignet ist, ein Bild zu erfassen, und/oder eine oder mehrere Operationen auf Bilder auszuführen. In einigen Beispielen kann die Benutzervorrichtung 602 jede geeignete Rechenvorrichtung sein, wie zum Beispiel, ohne hierauf beschränkt zu sein, eine Digitalkamera, ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Laptop-Computer, ein PC, ein Arbeitsplatzcomputer, eine Set-Top-Box, eine Thin-Client-Vorrichtung, oder eine andere Rechenvorrichtung. Die Benutzervorrichtung 602 wird von einem oder von mehreren Benutzern (nicht dargestellt) verwendet, um mit dem Bildeditierdienst 604 zu interagieren. Jede Verwendung von ”Digitalkamera” in diesem Dokument dient lediglich der Veranschaulichung, und ein Fachmann würde verstehen, dass eine beliebige der Benutzervorrichtungen 602(1) bis 602(N) oder irgendeine ähnliche Vorrichtung stattdessen verwendet werden kann.
  • Die Benutzervorrichtung 602 enthält daher einen Prozessor 628, der kommunikativ mit einem Speicher 626 gekoppelt ist, und der einen durch einen Computer ausführbaren Programmcode ausführt und/oder auf Information zugreift, die in dem Speicher 626 gespeichert ist. In einigen Beispielen speichert der Speicher 626 eine Tiefenerzeugungsfunktionseinheit 102(A) und eine Webdiensteanwendung 632. Der Prozessor 628 kann einen Mikroprozessor enthalten, eine anwendungsspezifische integrierte Schaltung („ASIC”), einen Zustandsautomaten, oder eine andere Verarbeitungsvorrichtung. Der Prozessor 628 enthält auch eine beliebige Anzahl an Verarbeitungsvorrichtungen, einschließlich einer. Ein derartiger Prozessor kann ein computerlesbares Medium enthalten, oder mit einem solchen kommunikativ verbunden sein, das Anweisungen speichert, welche, wenn sie durch den Prozessor 628 ausgeführt werden, den Prozessor dazu veranlassen, die hierin beschriebenen Operationen auszuführen. Die Webdiensteanwendung 632 ermöglicht es dem Benutzer mit dem Bildeditierdienst 604 über das Netzwerk 624 zu interagieren. Die Benutzervorrichtung 602 beinhaltet auch eine Bilderfassungsvorrichtung 634. In einigen Beispielen kann die Bilderfassungsvorrichtung 634 konfiguriert sein, um ein Bild oder mehrere Bilder zu erfassen. In einigen Beispielen kann die Bilderfassungsvorrichtung 634 eine herkömmliche Digitalkamera umfassen, die eine Linse, eine Blendeneinstellung, eine Fokuseinstellung, einen Infrarotprojektor, oder eine Vorrichtung für strukturiertes Licht beinhaltet.
  • Der Bildeditierdienst 604 kann ein webbasierter Dienst sein, auf den durch die Benutzervorrichtung 602 und andere Vorrichtungen über das Netzwerk 624 zugegriffen werden kann. Zum Beispiel sei angenommen, dass eine Mehrzahl von Bildern aufgenommen würde unter Verwendung der Benutzervorrichtung 602(2) (zum Beispiel einer Digitalkamera), dann können diese Bilder zu der Benutzervorrichtung 602(N) (zum Beispiel ein Computer) transferiert werden, und die Benutzervorrichtung 602(N) kann mit dem Bildeditierdienst 604 kommunizieren, welcher die Tiefenerzeugungsfunktionseinheit 102(B) ausführt, um eine Tiefenkarte von den Bildern zu erzeugen. Auf diese Weise kann der Bildeditierdienst 604 konfiguriert sein, um auf Allgemeine Weise die hierin beschriebenen Techniken zu implementieren. In einigen Beispielen wird der Bildeditierdienst 604 durch einen oder durch mehrere Webserver implementiert und es kann auf den Bildeditierdienst 604 zugegriffen werden von der Benutzervorrichtung 602 über das Netzwerk 624, welches das Internet, ein Intranet, ein Extranet oder irgendein anderes Daten und/oder Kommunikationsnetzwerk sein kann.
  • Der Bildeditierdienst 604 enthält einen Prozessor 606, der mit einem Speicher 608 kommunikativ gekoppelt ist und der einen durch einen Computer ausführbaren Programmcode ausführt und/oder auf Information zugreift, die in dem Speicher 608 gespeichert ist. In einigen Beispielen speichert der Speicher 608 eine Tiefenerzeugungsfunktionseinheit 102(B) und ein Betriebssystem 612. Das Betriebssystem 612 kann jedes geeignete Betriebssystem sein, das konfiguriert ist, um mit dem Bildeditierdienst 604 zu interagieren. Der Prozessor 606 kann einen Mikroprozessor enthalten, einen ASIC, einen Zustandsautomaten, oder eine andere Verarbeitungsvorrichtung.
  • Der Prozessor 606 kann auch jede beliebige Anzahl an Verarbeitungsvorrichtungen enthalten, einschließlich einer. Ein derartiger Prozessor kann ein computerlesbares Medium enthalten, oder mit einem solchen kommunikativ verbunden sein, das Anweisungen speichert, welche, wenn sie ausgeführt werden durch den Prozessor 606, den Prozessor dazu veranlassen, die hierin beschriebenen Operationen auszuführen.
  • Der Speicher 608 kann jedes geeignete computerlesbare Medium umfassen. Das computerlesbare Medium kann jede elektronische, optische, magnetische oder andere Speichervorrichtung umfassen, die in der Lage ist, für einen Prozessor computerlesbaren Anweisungen oder anderem Programmcode bereitzustellen. Ein computerlesbares Medium kann zum Beispiel eine magnetische Platte, einen Speicherchip, ROM, RAM, eine anwendungsspezifische Schaltung ASIC, einen konfigurierten Prozessor, einen optischen Speicher, ein Magnetband oder einen anderen magnetischen Speicher umfassen, oder jedes andere Medium, von dem ein Computerprozessor Anweisungen auslesen kann. Die Anweisungen können prozessorspezifische Anweisungen umfassen, die von einem Compiler und/oder einem Interpreter erzeugt werden aus Code, der in einer beliebigen geeigneten Computer Programmiersprache geschrieben ist, einschließlich zum Beispiel C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript, und ActionScript.
  • Der Bildeditierdienst 604 beinhaltet auch eine Anzahl externer oder interner Vorrichtungen, wie Eingabe- oder Ausgabevorrichtungen. Zum Beispiel beinhaltet der Bildeditierdienst 604 Eingabe-/Ausgabe-(I/O)Vorrichtung(en) und/oder Anschlüsse 614, wie etwa um eine Verbindung mit einer Tastatur, einer Maus, einem Stift, einer Spracheingabevorrichtung, einer Berührungseingabevorrichtung, einer Anzeige, Lautsprechern, einem Drucker oder einer anderen Eingabe-/Ausgabevorrichtung zu ermöglichen. Der Bildeditierdienst 604 beinhaltet auch einen zusätzlichen Speicher 616, der einen entfernbaren Speicher und/oder einen nicht entfernbaren Speicher umfassen kann. Der zusätzliche Speicher 616 kann einen magnetischen Speicher, optische Platten und/oder Bandspeicher umfassen, ist aber nicht auf diese beschränkt. Die Plattenlaufwerke und deren assoziierte computerlesbare Medien können einen nichtflüchtigen Speicher von computerlesbaren Anweisungen, Datenstrukturen, Programmodule und andere Daten bereitstellen. Der Bildeditierdienst 604 kann auch eine Benutzerschnittstelle 618 enthalten. Die Benutzerschnittstelle 618 kann von einem Bediener verwendet werden, oder einem anderen autorisierten Benutzer, um auf Teile des Bildeditierdiensts 604 zuzugreifen. In einigen Beispielen kann die Benutzerschnittstelle 618 eine graphische Benutzerschnittstelle, webbasierte Anwendungen, Programmschnittstellen wie Anwendungsprogrammierschnittstellen (APIs) oder andere Benutzerschnittstellenkonfigurationen beinhalten. Der Bildeditierdienst 604 beinhaltet auch einen Datenspeicher 620. Der Datenspeicher 620 kann Datenstrukturen beinhalten zum Speichern von Information, die sich auf die Implementierung der hierin beschriebenen Techniken bezieht. Derartige Information kann in einer Bilddatenbank 622 gespeichert werden. In der Bilddatenbank 622 können eingegebene Bilder, Tiefenkarten und andere ähnliche Bilder und Karten gespeichert werden, zusammen mit ihren zugeordneten Informationen.
  • Allgemeine Hinweise
  • Zahlreiche spezifische Details werden hierin dargelegt, um ein tiefgreifendes Verständnis des beanspruchten Gegenstandes zu verschaffen. Die Fachleute werden jedoch verstehen, dass der beanspruchte Gegenstand ohne diese spezifischen Details ausgeübt werden kann. In anderen Fällen wurden Verfahren, Vorrichtungen oder Systeme, welche den Fachleuten bekannt wären, nicht im Detail beschrieben, um den beanspruchten Gegenstand nicht zu verdunkeln.
  • Es wird verstanden werden, dass, solange nicht ausdrücklich anderweitig angegeben, in diesem Dokument Ausführungen, welche Begriffe verwenden wie etwa „verarbeiten,” „berechnen,” „bestimmen,” und „identifizieren” oder ähnliches, sich auf Aktionen oder Prozesse einer Rechenvorrichtung beziehen, wie einem oder mehreren Computern oder eine ähnliche elektronische Rechenvorrichtung oder -vorrichtungen, welche Daten manipulieren oder transformieren, die als physische elektronische oder magnetische Quantitäten repräsentiert sind innerhalb Speichern, Registern oder anderen Informationsspeichereinheiten, Übertragungsvorrichtungen oder Anzeigevorrichtungen der Rechnerplattform.
  • Das System oder die Systeme, welche hierin diskutiert sind, sind nicht auf eine bestimmte Hardwarearchitektur oder Konfiguration beschränkt. Eine Rechenvorrichtung kann jede geeignete Anordnung von Komponenten beinhalten, welche ein Ergebnis bereitstellt, das von einer oder mehreren Eingaben abhängt. Geeignete Rechnervorrichtungen beinhalten Mikroprozessor-basierte Computersysteme, die vielfältig einsetzbar sind, welche auf Software zugreifen, welche das Rechnersystem von einer Allzweck-Rechnervorrichtung zu einer spezialisierten Rechnervorrichtung programmiert oder konfiguriert, die eine oder mehrere Ausführungsformen des vorliegenden Gegenstands implementiert. Jede geeignete Programmiersprache, Skriptsprache oder andere Art von Sprache, oder Kombination von Sprachen, kann verwendet werden, um die hierin enthaltenen Lehren in Software zu implementieren, die dazu verwendet wird, eine Rechnervorrichtung zu programmieren oder zu konfigurieren.
  • Ausführungsformen der hierin offenbarten Verfahren können beim Betrieb solcher Rechnervorrichtungen ausgeführt werden. Die Reihenfolge der Blöcke, die in den vorstehenden Beispielen dargestellt wurden, kann variiert werden – zum Beispiel können Blöcke umgeordnet, kombiniert und/oder in Unterblöcke unterteilt werden. Bestimmte Blöcke oder Prozesse können parallel ausgeführt werden.
  • Wenn hierin „eingerichtet zum” oder „konfiguriert zum” verwendet wird, ist dies als offene und inklusive Sprache gedacht, die keine Vorrichtungen ausschließt, die dazu angepasst sind, zusätzliche Aufgaben oder Schritte auszuführen. Darüber hinaus ist die Verwendung von „basierend auf” als offen und inklusiv gedacht, in dem Sinn, dass ein Prozess, ein Schritt, eine Berechnung oder eine andere Aktion „basierend auf” einer oder mehreren genannten Bedingungen oder Werten in der Praxisüber die genannten hinaus auf weiteren Bedingungen oder Werten basieren kann. Überschriften, Listen und Nummerierungen, die hierin enthalten sind, dienen lediglich der Einfachheit der Erläuterung und sind nicht als beschränkend gedacht.
  • Während der vorliegende Gegenstand im Detail mit Bezug auf spezifische Ausführungsformen desselben beschrieben wurde, wird es verstanden werden, dass die Fachleute, basierend auf einem Verständnis des Vorstehenden, leicht Abwandlungen, Variationen und Äquivalente zu solchen Ausführungsformen schaffen können. Dementsprechend wird verstanden werden, dass die vorliegende Offenbarung allein beispielhaft und nicht als Beschränkung gegeben wurde, und dass diese nicht die Einbeziehung solcher Modifikationen, Variationen und/oder Hinzufügungen zu dem vorliegenden Gegenstand ausschließt, wie sie den Fachleuten leicht ersichtlich sein werden.

Claims (21)

  1. Computerimplementiertes Verfahren zum Erzeugen einer Tiefenkarte (108; 310, 314) aus Bildern (104(1) bis 104(N); 302 bis 308), die von einer Digitalkamera (204) erfasst wurden, worin die Tiefenkarte (108; 310, 314) unter Verwendung einer Tiefen-Likelihood-Funktion erzeugt wird, umfassend: Empfangen, durch ein Rechnersystem, einer Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308), die eine Szene (206) zeigen und von im Wesentlichem demselben Standpunkt (208) aus erfasst wurden, wobei jedes der Bilder (104(1) bis 104(N); 302 bis 308) durch die Digitalkamera (204) unter Verwendung von zumindest einer Konfigurationseinstellung erfasst wurde, die unterschiedlich ist zu jeder der anderen Bilder (104(1) bis 104(N); 302 bis 308), wobei die zumindest eine unterschiedliche Konfigurationseinstellung in der Lage ist, eine Unschärfe in die Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) einzuführen; Identifizieren, durch das Rechnersystem, einer Mehrzahl von Bildflicken von einem ersten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) und einer Mehrzahl von entsprechenden Bildflicken von einem zweiten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308); iteratives Evaluieren, durch das Rechnersystem, jedes Bildflickens über eine diskrete Menge von Tiefenhypothesen unter Verwendung einer Tiefen-Likelihood-Funktion, welche den Bildflicken und dessen entsprechenden Bildflicken vergleicht unter Verwendung eines flachen Vor-Bilds in einem Frequenzbereich, worin die iterative Evaluierung für jede Tiefenhypothese umfasst: Identifizieren eines ersten Unschärfe-Kernels, der von der Tiefenhypothese und einer ersten Konfigurationseinstellung, die verwendet wurde, um das erste Bild zu erfassen, abhängt, Identifizieren eines zweiten Unschärfe-Kernels der von der Tiefenhypothese und einer zweiten Konfigurationseinstellung, die verwendet wurde, um das zweite Bild zu erfassen, abhängt, Falten des Bildflickens mit dem zweiten Unschärfe-Kernel und des entsprechenden Bildflickens mit dem ersten Unschärfe-Kernel, um eine Tiefenwahrscheinlichkeit für den Bildflicken zu bestimmen, und Bestimmen einer Tiefenschätzung für den Bildflicken, die Tiefenhypothese zu sein, welche eine maximale Tiefenwahrscheinlichkeit ergibt; und Erzeugen, durch das Rechnersystem, einer Tiefenkarte (108; 310, 314) unter Verwendung der Tiefenschätzung für jeden Bildflicken.
  2. Computerimplementiertes Verfahren nach Anspruch 1, worin der erste Unschärfe-Kernel und der zweite Unschärfe-Kernel jeweils identifiziert werden aus einer Zuordnung von Tiefen und Konfigurationseinstellungen zu Unschärfe-Kerneln, worin die Zuordnung bestimmt ist aus Kalibrierungsdaten für die Digitalkamera (204).
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, weiter umfassend, vor dem Identifizieren der Mehrzahl von Bildflicken aus dem ersten Bild und der Mehrzahl entsprechender Bildflicken aus dem zweiten Bild, Analysieren, durch das Rechnersystem, des ersten Bildes und des zweiten Bildes unter Verwendung eines Bildkorrespondenzalgorithmus, um eine Änderung der Position eines Objekts (210, 212, 214) innerhalb der Szene (206) zu identifizieren, die zwischen dem Erfassen des ersten Bildes und Erfassen des zweiten Bildes aufgetreten ist; und Anpassen von zumindest einem von dem ersten Bild oder dem zweiten Bild, um die identifizierte Änderung zu berücksichtigen.
  4. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 3, worin die iterative Evaluierung weiter ein Analysieren des Bildflickens und des korrespondierenden Bildflickens umfasst, um eine Änderung in der Position eines Objekts (210, 212, 214) innerhalb der Szene (206) zu berücksichtigen, die zwischen dem Erfassen des ersten Bildes und dem Erfassen des zweiten Bildes aufgetreten ist, durch: Darstellen des Bildflickens und des korrespondierenden Bildflickens im Frequenzbereich; Berechnen der Gesamtenergie von jedem von dem Bildflicken und von dem korrespondierenden Bildflicken bei einer Menge räumlicher Frequenzen; und Vergleichen des Bildflickens und des korrespondierenden Bildflickens durch Penalisieren von Energiedifferenzen über die Menge räumlicher Frequenzen.
  5. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 4, worin die Tiefen-Likelihood-Funktion angepasst ist, Veränderungen von Beleuchtungsbedingungen in zumindest einem von dem ersten Bild oder dem zweiten Bild hinsichtlich der Helligkeit und des Kontrasts zu modellieren.
  6. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 5, worin die zumindest eine unterschiedliche Konfigurationseinstellung zumindest eines umfasst von einer Blendeneinstellung und einer Fokuseinstellung.
  7. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 6, worin jedes der Bilder (104(1) bis 104(N); 302 bis 308) ohne Berücksichtigung eines Abtastmusters erfasst wird und die zumindest eine unterschiedliche Konfigurationseinstellung willkürlich ausgewählt wird.
  8. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 7, worin die Tiefen-Likelihood-Funktion weiter eine Normalisierungstechnik umfasst, um einen Bias hin zu Unschärfe-Kerneln mit größeren Unschärfeniveaus zu vermeiden.
  9. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 8, weiter umfassend Verwenden eines Dekonvolutionsalgorithmus, um aus der Tiefenwahrscheinlichkeit ein Alles-im-Fokus Bild zu berechnen, das der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) entspricht.
  10. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 9, worin die Tiefen-Likelihood-Funktion weiter ein Unsicherheitsmaß für jeden Bildflicken bestimmt, worin das Unsicherheitsmaß einen Betrag der Varianz in der Tiefenwahrscheinlichkeit für eine gegebene Tiefenhypothese anzeigt.
  11. Computerprogrammprodukt, welches computerlesbare Anweisungen umfasst, welche, wenn sie auf einem Computer oder einem System geladen werden, den Computer oder das System dazu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 10 auszuführen.
  12. System zum Erzeugen einer Tiefenkarte (108; 310, 314) aus Bildern (104(1) bis 104(N); 302 bis 308), die von einer Digitalkamera (204) erfasst wurden, worin die Tiefenkarte (108; 310, 314) erzeugt wird unter Verwendung einer Tiefen-Likelihood-Funktion, wobei das System umfasst: einen Speicher (626, 608), welcher von einem Computer ausführbare Anweisungen zum Erzeugen einer Tiefenkarte (108; 310, 314) und eine Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308), die eine Szene (206) zeigen und von im Wesentlichem demselben Standpunkt (208) aus erfasst wurden, speichert, wobei jedes der Bilder (104(1) bis 104(N); 302 bis 308) durch die Digitalkamera (204) erfasst wurde unter Verwendung von zumindest einer Konfigurationseinstellung, die unterschiedlich ist zu jeder der anderen Bilder (104(1) bis 104(N); 302 bis 308), wobei die zumindest eine unterschiedliche Konfigurationseinstellung in der Lage ist, eine Unschärfe in die Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) einzuführen; und zumindest einen Prozessor, der konfiguriert ist, auf den Speicher (626, 608) zuzugreifen und die durch einen Computer ausführbaren Anweisungen auszuführen, um das System zur Ausführung von Operationen zu veranlassen, welche umfassen: Identifizieren einer Mehrzahl von Bildflicken von einem ersten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) und einer Mehrzahl von entsprechenden Bildflicken von einem zweiten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308), iteratives Evaluieren jedes Bildflickens über eine diskrete Menge von Tiefenhypothesen mit einer Tiefen-Likelihood-Funktion, die abgeleitet ist von einem flachen Vor-Bild in einem Frequenzbereich, welche den Bildflicken und dessen entsprechenden Bildflicken vergleicht unter Verwendung von Unschärfe-Kerneln, um eine Tiefenschätzung für den Bildflicken zu bestimmen, und Erzeugen der Tiefenkarte (108; 310, 314) unter Verwendung der Tiefenschätzung für jeden Bildflicken.
  13. System nach Anspruch 12, worin die iterative Evaluierung für jede Tiefenhypothese umfasst: Identifizieren eines ersten Unschärfe-Kernels, der von der Tiefenhypothese und einer ersten Konfigurationseinstellung, die verwendet wurde, um das erste Bild zu erfassen, abhängt; Identifizieren eines zweiten Unschärfe-Kernels, der von der Tiefenhypothese und einer zweiten Konfigurationseinstellung, die verwendet wurde, um das zweite Bild zu erfassen, abhängt; Falten des Bildflickens mit dem zweiten Unschärfe-Kernel und des entsprechenden Bildflickens mit dem ersten Unschärfe-Kernel, um eine Tiefenwahrscheinlichkeit für den Bildflicken zu bestimmen; und Bestimmen einer Tiefenschätzung für den Bildflicken, die Tiefenhypothese zu sein, welche eine maximale Tiefenwahrscheinlichkeit ergibt.
  14. System nach Anspruch 12 oder 13, worin der erste Unschärfe-Kernel und der zweite Unschärfe-Kernel jeweils identifiziert werden aus einer Zuordnung von Tiefen zu und Konfigurationseinstellungen zu Unschärfe-Kerneln, worin die Zuordnung bestimmt wird aus Kalibrierungsdaten für die Digitalkamera (204).
  15. System nach einem der Ansprüche 12 bis 14, worin das Ausführen der computerlesbaren Anweisungen das System weiterhin dazu veranlasst, Operationen auszuführen, welche umfassen: vor dem Identifizieren der Mehrzahl von Bildflicken aus dem ersten Bild und der Mehrzahl entsprechender Bildflicken aus dem zweiten Bild, Analysieren des ersten Bildes und des zweiten Bildes unter Verwendung eines Bildkorrespondenzalgorithmus, um eine Änderung der Position eines Objekts (210, 212, 214) innerhalb der Szene (206) zu identifizieren, die zwischen dem Erfassen des ersten Bildes und dem Erfassen des zweiten Bildes aufgetreten ist; und Anpassen von zumindest einem von dem ersten Bild oder dem zweiten Bild, um der identifizierten Änderung Rechnung zu tragen.
  16. System nach einem der Ansprüche 12 bis 15, worin die Tiefen-Likelihood-Funktion angepasst ist, Veränderungen von Beleuchtungsbedingungen in zumindest einem von dem ersten Bild oder dem zweiten Bild hinischtlich der Helligkeit und des Kontrasts zu modellieren.
  17. System nach einem der Ansprüche 12 bis 16, worin die zumindest eine unterschiedliche Konfigurationseinstellung eine Blendeneinstellung und eine Fokuseinstellung umfasst.
  18. System nach einem der Ansprüche 12 bis 17, worin jedes der Bilder (104(1) bis 104(N); 302 bis 308) ohne Berücksichtigung eines Abtastmusters erfasst wird und die zumindest eine unterschiedliche Konfigurationseinstellung willkürlich ausgewählt wird.
  19. Eine oder mehrere computerlesbare Speichervorrichtungen, welche computerausführbare Anweisungen speichern, welche, wenn sie durch ein oder mehrere Computersysteme ausgeführt werden, das eine oder die mehreren Computersysteme dazu konfigurieren, eine Tiefenkarte (108; 310, 314) aus Bildern (104(1) bis 104(N); 302 bis 308), die von einer Digitalkamera (204) erfasst wurden, zu erzeugen durch Ausführen von Operationen, welche umfassen: Empfangen einer Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308), die eine Szene (206) zeigen und von im Wesentlichem demselben Standpunkt (208) aus erfasst wurden, wobei jedes der Bilder (104(1) bis 104(N); 302 bis 308) durch die Digitalkamera (204) erfasst wurde unter Verwendung von zumindest einer Konfigurationseinstellung, die unterschiedlich ist zu jeder der anderen Bilder (104(1) bis 104(N); 302 bis 308), wobei die zumindest eine unterschiedliche Konfigurationseinstellung eine Blendeneinstellung und eine Fokuseinstellung umfasst; Identifizieren einer Mehrzahl von Bildflicken von einem ersten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308) und einer Mehrzahl von entsprechenden Bildflicken von einem zweiten Bild aus der Menge von zumindest zwei Bildern (104(1) bis 104(N); 302 bis 308); iteratives Evaluieren jedes Bildflickens über eine diskrete Menge von Tiefenhypothesen unter Verwendung einer Tiefen-Likelihood-Funktion, die abgeleitet ist von einem flachen Vor-Bild in einem Frequenzbereich, welche den Bildflicken und dessen entsprechenden Bildflicken vergleicht, gefaltet mit Unschärfe-Kerneln; und Erzeugen der Tiefenkarte (108; 310, 314) unter Verwendung der Tiefenschätzung für jeden Bildflicken.
  20. Die eine oder die mehreren computerlesbaren Speichervorrichtungen nach Anspruch 19, worin die iterative Evaluierung für jede Tiefenhypothese umfasst: Identifizieren eines ersten Unschärfe-Kernels, der von der Tiefenhypothese und einer ersten Konfigurationseinstellung, die verwendet wurde, um das erste Bild zu erfassen, abhängt, Identifizieren eines zweiten Unschärfe-Kernels, der von der Tiefenhypothese und einer zweiten Konfigurationseinstellung, die verwendet wurde, um das zweite Bild zu erfassen, abhängt, Falten des Bildflickens mit dem zweiten Unschärfe-Kernel und des entsprechenden Bildflickens mit dem ersten Unschärfe-Kernel, um eine Tiefenwahrscheinlichkeit für den Bildflicken zu bestimmen, und Bestimmen einer Tiefenschätzung für den Bildflicken, die Tiefenhypothese zu sein, welche eine maximale Tiefenwahrscheinlichkeit ergibt.
  21. Die eine oder die mehreren computerlesbaren Speichervorrichtungen nach Anspruch 19 oder 20, worin das iterative Evaluieren weiter ein Analysieren des Bildflickens und des korrespondierenden Bildflickens umfasst, um eine Änderung der Position eines Objekts (210, 212, 214) innerhalb der Szene (206) zu berücksichtigen, die zwischen dem Erfassen des ersten Bildes und dem Erfassen des zweiten Bildes aufgetreten ist, durch: Darstellen des Bildflickens und des korrespondierenden Bildflickens im Frequenzbereich; Berechnen der Gesamtenergie von jedem von dem Bildflicken und von dem korrespondierenden Bildflicken bei einer Menge räumlicher Frequenzen; und Vergleichen des Bildflickens und des korrespondierenden Bildflickens durch Penalisieren von Energiedifferenzen über die Menge räumlicher Frequenzen.
DE102015010214.1A 2014-11-24 2015-08-05 Erzeugung von Tiefenkarten Pending DE102015010214A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/552,332 US9292926B1 (en) 2014-11-24 2014-11-24 Depth map generation
US14/552,332 2014-11-24

Publications (1)

Publication Number Publication Date
DE102015010214A1 true DE102015010214A1 (de) 2016-05-25

Family

ID=54063059

Family Applications (3)

Application Number Title Priority Date Filing Date
DE102015010096.3A Pending DE102015010096A1 (de) 2014-11-24 2015-08-05 Konfigurationseinstellungen einer Digitalkamera zur Tiefenkarten-Erzeugung
DE102015010214.1A Pending DE102015010214A1 (de) 2014-11-24 2015-08-05 Erzeugung von Tiefenkarten
DE102015010097.1A Pending DE102015010097A1 (de) 2014-11-24 2015-08-05 Einstellungen einer Digitalkamera zur Tiefenkarten-Verfeinerung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102015010096.3A Pending DE102015010096A1 (de) 2014-11-24 2015-08-05 Konfigurationseinstellungen einer Digitalkamera zur Tiefenkarten-Erzeugung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102015010097.1A Pending DE102015010097A1 (de) 2014-11-24 2015-08-05 Einstellungen einer Digitalkamera zur Tiefenkarten-Verfeinerung

Country Status (4)

Country Link
US (5) US9292926B1 (de)
CN (2) CN105631851B (de)
DE (3) DE102015010096A1 (de)
GB (1) GB2532541B (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102120864B1 (ko) * 2013-11-06 2020-06-10 삼성전자주식회사 영상 처리 방법 및 장치
EP3108653A4 (de) * 2015-03-16 2016-12-28 Sz Dji Technology Co Ltd Vorrichtung und verfahren zur brennweiteneinstellung und tiefenkartenbestimmung
WO2017048927A1 (en) * 2015-09-18 2017-03-23 The Regents Of The University Of California Cameras and depth estimation of images acquired in a distorting medium
US10282623B1 (en) * 2015-09-25 2019-05-07 Apple Inc. Depth perception sensor data processing
US10188468B2 (en) * 2016-02-25 2019-01-29 Synaptive Medical (Barbados) Inc. Focused based depth map acquisition
US10097777B2 (en) 2016-06-03 2018-10-09 Recognition Robotics, Inc. Depth map from multi-focal plane images
FR3057095B1 (fr) * 2016-10-03 2019-08-16 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de construction d'une carte de profondeur d'une scene et/ou d'une image entierement focalisee
JP6855587B2 (ja) * 2016-10-18 2021-04-07 フォトニック センサーズ アンド アルゴリズムス,エセ.エレ. 視点から距離情報を取得するための装置及び方法
US10484599B2 (en) * 2016-10-25 2019-11-19 Microsoft Technology Licensing, Llc Simulating depth of field
ES2747387B1 (es) * 2017-02-06 2021-07-27 Photonic Sensors & Algorithms S L Dispositivo y metodo para obtener informacion de profundidad a partir de una escena.
US10445861B2 (en) * 2017-02-14 2019-10-15 Qualcomm Incorporated Refinement of structured light depth maps using RGB color data
US10389936B2 (en) 2017-03-03 2019-08-20 Danylo Kozub Focus stacking of captured images
CN107133982B (zh) * 2017-04-28 2020-05-15 Oppo广东移动通信有限公司 深度图构建方法、装置及拍摄设备、终端设备
JP7013578B2 (ja) * 2017-11-03 2022-01-31 グーグル エルエルシー 単視点深度予測のための絞りの監視
JP7122815B2 (ja) * 2017-11-15 2022-08-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN108053468B (zh) * 2017-12-08 2021-02-26 北京信息科技大学 一种单目视觉聚焦堆栈采集与场景重建方法
US10664953B1 (en) * 2018-01-23 2020-05-26 Facebook Technologies, Llc Systems and methods for generating defocus blur effects
US10991112B2 (en) * 2018-01-24 2021-04-27 Qualcomm Incorporated Multiple scale processing for received structured light
CN110278366B (zh) * 2018-03-14 2020-12-01 虹软科技股份有限公司 一种全景图像虚化方法、终端及计算机可读存储介质
JP7199169B2 (ja) * 2018-07-05 2023-01-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10616550B1 (en) * 2018-09-14 2020-04-07 Facebook Technologies, Llc Generating a representation of an object from depth information determined in parallel from images captured by multiple cameras
WO2020124448A1 (en) * 2018-12-19 2020-06-25 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video surveillance
CN109600552B (zh) * 2019-01-14 2024-06-18 广东省航空航天装备技术研究所 图像重新聚焦的控制方法及系统
US11405547B2 (en) * 2019-02-01 2022-08-02 Electronics And Telecommunications Research Institute Method and apparatus for generating all-in-focus image using multi-focus image
CN111862321B (zh) * 2019-04-30 2024-05-03 北京四维图新科技股份有限公司 视差图的获取方法、装置、系统及存储介质
US11294996B2 (en) 2019-10-15 2022-04-05 Assa Abloy Ab Systems and methods for using machine learning for image-based spoof detection
US11348375B2 (en) 2019-10-15 2022-05-31 Assa Abloy Ab Systems and methods for using focal stacks for image-based spoof detection
US20210255444A1 (en) * 2020-02-18 2021-08-19 Raytheon Company Lightweight modified-schmidt corrector lens
US11275959B2 (en) * 2020-07-07 2022-03-15 Assa Abloy Ab Systems and methods for enrollment in a multispectral stereo facial recognition system
JP7425188B2 (ja) * 2020-11-13 2024-01-30 グーグル エルエルシー デュアルピクセル画像データを使用した焦点ブラー除去および深度推定
KR102274270B1 (ko) * 2020-12-10 2021-07-08 주식회사 케이티앤씨 홍채인식범위 확장을 위한 홍채 영상 획득시스템
US11893668B2 (en) 2021-03-31 2024-02-06 Leica Camera Ag Imaging system and method for generating a final digital image via applying a profile to image information
EP4152259A1 (de) * 2021-09-16 2023-03-22 Koninklijke Philips N.V. Erzeugung vollständiger tiefendaten für video mit 6 freiheitsgraden (6dof)
CN117957568A (zh) * 2021-09-16 2024-04-30 皇家飞利浦有限公司 生成针对6-dof视频的完备深度数据
US11727537B1 (en) * 2022-03-24 2023-08-15 Qualcomm Incorporated Bokeh effect in variable aperture (VA) camera systems

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070019883A1 (en) 2005-07-19 2007-01-25 Wong Earl Q Method for creating a depth map for auto focus using an all-in-focus picture and two-dimensional scale space matching
US7929801B2 (en) * 2005-08-15 2011-04-19 Sony Corporation Depth information for auto focus using two pictures and two-dimensional Gaussian scale space theory
US7865032B2 (en) * 2006-09-22 2011-01-04 Hewlett-Packard Development Company, L.P. Methods and systems for identifying an ill-exposed image
JP5615552B2 (ja) * 2006-11-21 2014-10-29 コーニンクレッカ フィリップス エヌ ヴェ 画像の深度マップの生成
US8233077B2 (en) * 2007-12-27 2012-07-31 Qualcomm Incorporated Method and apparatus with depth map generation
US8280194B2 (en) * 2008-04-29 2012-10-02 Sony Corporation Reduced hardware implementation for a two-picture depth map algorithm
EP2184713A1 (de) 2008-11-04 2010-05-12 Koninklijke Philips Electronics N.V. Verfahren und Vorrichtung zur Erstellung einer Tiefenkarte
US8405742B2 (en) * 2008-12-30 2013-03-26 Massachusetts Institute Of Technology Processing images having different focus
US8514269B2 (en) * 2010-03-26 2013-08-20 Microsoft Corporation De-aliasing depth images
EP2403234A1 (de) * 2010-06-29 2012-01-04 Koninklijke Philips Electronics N.V. Verfahren und System zur Erstellung eines zusammengesetzten Bildes aus von einer Anordnung von Bildaufnahmevorrichtungen erhaltenen Daten
JP5796761B2 (ja) 2010-09-15 2015-10-21 Nltテクノロジー株式会社 画像表示装置及び表示パネル
US8494301B2 (en) * 2010-09-16 2013-07-23 Eastman Kodak Company Refocusing images using scene captured images
US8503801B2 (en) * 2010-09-21 2013-08-06 Adobe Systems Incorporated System and method for classifying the blur state of digital image pixels
WO2012075631A1 (en) 2010-12-08 2012-06-14 Industrial Technology Research Institute Methods for generating stereoscopic views from monoscopic endoscope images and systems using the same
US9208570B2 (en) * 2012-03-28 2015-12-08 Sony Corporation System and method for performing depth estimation by utilizing an adaptive kernel
US8406548B2 (en) 2011-02-28 2013-03-26 Sony Corporation Method and apparatus for performing a blur rendering process on an image
US9565449B2 (en) 2011-03-10 2017-02-07 Qualcomm Incorporated Coding multiview video plus depth content
JP5919563B2 (ja) 2011-04-12 2016-05-18 パナソニックIpマネジメント株式会社 動き推定装置、奥行き推定装置、及び動き推定方法
TWI543116B (zh) 2011-04-26 2016-07-21 國立成功大學 影像區塊合併方法
US20130071008A1 (en) * 2011-09-15 2013-03-21 National Taiwan University Image conversion system using edge information
US8655096B2 (en) 2011-09-30 2014-02-18 Apple Inc. Automatic image sharpening using entropy-based blur radius
WO2013054240A1 (en) * 2011-10-10 2013-04-18 Koninklijke Philips Electronics N.V. Depth map processing
CN103493093B (zh) * 2011-11-17 2017-07-18 松下知识产权经营株式会社 图像处理装置、摄像装置及图像处理方法
EP2781091B1 (de) 2011-11-18 2020-04-08 GE Video Compression, LLC Mehrfachansichtskodierung mit effizienter restinhaltshandhabung
US9262833B2 (en) * 2011-12-01 2016-02-16 Sony Corporation Methodology for performing depth estimation with defocused images under extreme lighting conditions
US9161010B2 (en) * 2011-12-01 2015-10-13 Sony Corporation System and method for generating robust depth maps utilizing a multi-resolution procedure
WO2013107931A1 (en) 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
US9230306B2 (en) 2012-02-07 2016-01-05 Semiconductor Components Industries, Llc System for reducing depth of field with digital image processing
JP2013172190A (ja) 2012-02-17 2013-09-02 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
WO2013162747A1 (en) * 2012-04-26 2013-10-31 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for providing interactive refocusing in images
US9098911B2 (en) 2012-11-01 2015-08-04 Google Inc. Depth map generation from a monoscopic image based on combined depth cues
US20140132822A1 (en) 2012-11-14 2014-05-15 Sony Corporation Multi-resolution depth-from-defocus-based autofocus
AU2012258467A1 (en) 2012-12-03 2014-06-19 Canon Kabushiki Kaisha Bokeh amplification
US9519972B2 (en) 2013-03-13 2016-12-13 Kip Peli P1 Lp Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
TWI538512B (zh) 2013-06-27 2016-06-11 聚晶半導體股份有限公司 調整對焦位置的方法及電子裝置
US9253415B2 (en) * 2013-11-27 2016-02-02 Adobe Systems Incorporated Simulating tracking shots from image sequences
CN104143203B (zh) * 2014-07-29 2017-02-15 清华大学深圳研究生院 一种图像编辑传播方法

Also Published As

Publication number Publication date
GB201513639D0 (en) 2015-09-16
US9521391B2 (en) 2016-12-13
US9307222B1 (en) 2016-04-05
CN105631851A (zh) 2016-06-01
GB2532541B (en) 2017-12-20
DE102015010096A1 (de) 2016-05-25
US20160182880A1 (en) 2016-06-23
CN105631851B (zh) 2020-10-27
GB2532541A (en) 2016-05-25
US9307221B1 (en) 2016-04-05
US9479754B2 (en) 2016-10-25
US20160163053A1 (en) 2016-06-09
DE102015010097A1 (de) 2016-05-25
CN105721853B (zh) 2019-04-05
US9292926B1 (en) 2016-03-22
CN105721853A (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
DE102015010214A1 (de) Erzeugung von Tiefenkarten
DE112020003794T5 (de) Tiefenbewusste Fotobearbeitung
DE102019005938A1 (de) Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts
DE69735488T2 (de) Verfahren und vorrichtung zum ausrichten von bildern
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
EP3103059A1 (de) 3d-bildanalysator zur blickrichtungsbestimmung
DE102010001520A1 (de) Durch einen Flugzeugsensor unterstütztes Iriserfassungssystem und -Verfahren
DE102018008217A1 (de) Intelligente Anleitung zum Aufnehmen von Digitalbildern, die mit einem Zielbildmodell in Übereinstimmung gebracht sind
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
DE102010001324A1 (de) Tiefenbewusstes Blur-Kernel-Schätzverfahren unter Verwendung von Iris-Deblurring
DE112013002200T5 (de) Automatische Anpassung von Bildern
DE102021118479A1 (de) Einbetten von komplexen 3d-objekten in eine erweiterte realitätsszene unter verwendung einer bildsegmentierung
DE102010001331A1 (de) Iris-Deblurring-Verfahren basierend auf globalen und lokalen Irisbildstatistiken
DE202014010969U1 (de) Kamerafähiges Mobilgerät
DE69714969T2 (de) Verbesserte tiefenschärfe für fotografie
DE102019104310A1 (de) System und Verfahren zur simultanen Betrachtung von Kanten und normalen bei Bildmerkmalen durch ein Sichtsystem
EP2791896B1 (de) Verfahren zur erzeugung von superaufgelösten bildern mit verbesserter bildauflösung und messvorrichtung
DE102020003314A1 (de) Bildmanipulieren mit geometrischen und fotometrischen Transformationen
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
DE102014113256A1 (de) Bildaufnahmevorrichtung und Verfahren zur Bildaufnahme mit Reflexunterdrückung
DE102013020611A1 (de) Ein Ansatz für eine Kamerasteuerung
DE102019105293A1 (de) Schätzung der Bewegung einer Bildposition
DE202013012450U1 (de) System für die Identifizierung von Tiefendaten, die mit einem Objekt verbunden sind
DE102017009118A1 (de) Bildabgleich für serienbilder
DE102022209789A1 (de) Rückmeldung unter verwendung von abdeckung für die objektabtastung

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, MOUNTAIN VIEW, CALIF., US

R082 Change of representative

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

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