DE102018125739A1 - Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen - Google Patents

Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen Download PDF

Info

Publication number
DE102018125739A1
DE102018125739A1 DE102018125739.2A DE102018125739A DE102018125739A1 DE 102018125739 A1 DE102018125739 A1 DE 102018125739A1 DE 102018125739 A DE102018125739 A DE 102018125739A DE 102018125739 A1 DE102018125739 A1 DE 102018125739A1
Authority
DE
Germany
Prior art keywords
image
sets
parameters
calibration
camera
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
DE102018125739.2A
Other languages
English (en)
Inventor
Ramkumar Narayanswamy
Manjula Gururaj
Avinash Kumar
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102018125739A1 publication Critical patent/DE102018125739A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)

Abstract

System, Vorrichtungen, Verfahren und computerlesbare Medien für die sofortige dynamische Mehrkamera-Plattform-Kalibrierung unter Verwendung einer Vielzahl unterschiedlicher Szenen. Bildrahmensätze, die zuvor von der Plattform aufgenommen wurden, werden als mögliche Kandidaten bewertet, aus denen neue Kalibrierungsparameter berechnet werden können. Die Kandidatenrahmen werden gemäß ihrer Bewertung in eine Rangfolge gebracht und iterativ zu dem Kalibrierungsrahmensatz gemäß einer objektiven Funktion hinzugefügt. Der ausgewählte Rahmensatz kann aus den Kandidaten basierend auf einem Referenzrahmen ausgewählt werden, der zum Beispiel ein zuletzt aufgenommener Rahmen sein kann. Eine Geräteplattform, die ein CM aufweist und mit der beispielhaften Architektur abgestimmt ist, kann die Mehrkamera-Funktionalität auf dem Gebiet verbessern, indem die Kalibrierungsparameter aktuell gehalten werden. Verschiedene Computer Vision-Algorithmen können sich dann zum Beispiel auf diese Parameter stützen.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Bei einer Digitalkamera handelt es sich um eine Komponente, die häufig in kommerziellen Plattformen für elektronische Mediengeräte integriert ist. Digitalkameras sind nun in tragbaren Formfaktoren (z. B. Bildaufnahme-Ohrstecker, Bildaufnahme-Headsets, Bildaufnahme-Brillen usw.) verfügbar und in Smartphones, Tablet-Computern und Notebooks usw. eingebettet. Eine Vielzahl von Kameras ist heutzutage oft in der gleichen Geräteplattform eingebettet. Bei solchen Mehrkamera-Plattformen können zwei oder mehr Kameras jeweils einen Bildrahmen zu einem Zeitpunkt (z. B. in einem Stereobildmodus) aufnehmen oder erfassen. Bei der synchronen Mehrkamera-Bildaufnahme können Computer Vision-Techniken eingesetzt werden, um die Stereobildsätze zu verarbeiten und neuartige Ausgabeeffekte zu erzeugen. Zum Beispiel kann eine Anzahl rechnerischer Abbildungsaufgaben wie Tiefenabbildung, tiefenabhängiges Verzerren, Bildanheften und 3D-Szenenobjektmessung basierend auf den Bildrahmendaten durchgeführt werden, die von einer Mehrkamera-Plattform gesammelt werden. Die Genauigkeit vieler dieser Aufgaben hängt jedoch stark von den Kalibrierungsparametern der Kameras ab. Die Kamerakalibrierung ist daher eine wichtige Schnittstelle zwischen aufgenommenen Bildern und einem Computer Vision-Algorithmus.
  • Die Kamerakalibrierung schätzt die intrinsischen geometrischen Eigenschaften einer einzelnen Kamera wie Brennweite, Pixelabstand, Mittelpunkt usw., wodurch Bildpixel in metrische Einheiten (z. B. mm) einer Szene umgewandelt werden können. Die Kamerakalibrierung schätzt auch extrinsische Parameter, welche die relative Pose zwischen allen Kamerapaaren in einem Mehrkamerasystem charakterisieren. Zusammen können diese Parameter verwendet werden, um eine 3D-Rekonstruktion der abgebildeten Szene genau zu berechnen, was eine wichtige Komponente für viele Anwendungen der Computerfotografie ist. Eine fehlerhaft kalibrierte Kamera kann daher zu ungenauen 3D-Rekonstruktionen führen und somit die Leistung dieser Anwendungen beeinträchtigen.
  • Bei der Herstellung von Mehrkamera-Plattformen wird normalerweise eine Kalibrierung durchgeführt, um eine genaue Schätzung der Plattformkonfiguration zu ermitteln. Während eine solche Kalibrierung sehr genau sein kann, kann sich die Plattformkonfiguration im Laufe der Zeit durch wiederholte Verwendung und durch Aussetzen mit verschiedenen externen Faktoren ändern, die es unwahrscheinlich machen, dass die werkseitige Kalibrierung den gesamten Lebenszyklus einer Kameraplattform beibehalten werden kann. Zum Beispiel können Änderungen der Umgebungstemperatur, der Ausrichtung der Plattform in Bezug auf die Schwerkraft und Verformungen, die durch physische Einwirkungen hervorgerufen werden, Änderungen in der Plattformkonfiguration zur Folge haben, die zu erheblichen Fehlern bei Abbildungsaufgaben für Berechnungen führen, wenn diese auf Basis von Kalibrierungsparametern ausgeführt werden, die zum Zeitpunkt der Herstellung durchgeführt festgelegt wurden.
  • Die Kameraparameterkalibrierungen, die zum Zeitpunkt der Herstellung durchgeführt wurden, sind langwierig und vor Ort schwer zu wiederholen, insbesondere wenn die Plattform ein Verbrauchergerät (z. B. ein Smartphone) ist. Praktischer ist daher ein dynamisches Kalibrierungsverfahren, das aufgenommene Bilder von vor Ort gesammelten natürlichen Szenen verwendet, um die Kamerakalibrierungsparameter feinabzustimmen oder zu aktualisieren. Für die dynamische Kalibrierung ist die Zielszenengeometrie a priori unbekannt und wird stattdessen als Teil des Kamerakalibrierungsprozesses berechnet. Die Genauigkeit der dynamischen Kalibrierung hängt von der Anzahl der Merkmalspunkte in einer erfassten Szene und ihrer 3D-Verteilung innerhalb der Szene ab. Das Aufnehmen einer Szene vor Ort mit einer geeigneten Anzahl von Merkmalen und die Verteilung von Merkmalspunkten ist nicht einfach. Dies stellt insbesondere bei Verbrauchergeräteplattformen ein Problem dar, bei denen die Umgebung, in der die Plattform verwendet wird, nicht vorhersagbar ist.
  • Figurenliste
  • Das hierin beschriebene Material ist in den beiliegenden Figuren beispielhaft und nicht einschränkend dargestellt. Aus Gründen der Einfachheit und Klarheit der Darstellung sind Elemente in den Figuren nicht unbedingt maßstabsgetreu dargestellt. Zum Beispiel können die Abmessungen einiger Elemente zur Verdeutlichung in Bezug auf andere Elemente übertrieben sein. Wenn dies als angemessen betrachtet wurde, wurden ferner die Bezugszeichen innerhalb der Figuren wiederholt, um entsprechende oder analoge Elemente anzuzeigen. In den Figuren zeigt/zeigen:
    • 1 ein Schema, das ein beispielhaftes geometrisches Einkameramodell und zugehörige Koordinatensysteme gemäß einigen Ausführungsformen darstellt;
    • 2 ein Flussdiagramm, das computerimplementierte Verfahren darstellt, die eine dynamische Mehrbild-Mehrkamera-Kalibrierung sowie die weitere Verwendung von Kalibrierungsparametern beinhalten, die durch eine solche Kalibrierung gemäß einigen Ausführungsformen bestimmt werden;
    • 3A und 3B Flussdiagramme, die computerimplementierte dynamische Mehrbild-Mehraufnahme-Kalibrierungsverfahren gemäß einigen Ausführungsformen darstellen;
    • 4 ein Flussdiagramm, das ein computerimplementiertes dynamisches Kalibrierungsverfahren darstellt, das gemäß einigen Ausführungsformen in ein dynamisches Mehrbild-Mehrkamera-Kalibrierungsverfahren integriert werden kann;
    • 5A eine schematische Darstellung, die einen Korrekturfehler darstellt, der eingesetzt werden kann, um einen Fehler zu beurteilen, der Kalibrierungsparameterwerten zugeordnet ist, die durch eine Kalibrierungsroutine gemäß einigen Ausführungsformen bestimmt werden;
    • 5B und 5C beispielhafte Merkmalsverteilungshistogramme, die Unterschiede in der Merkmalsverteilung zwischen zwei Kandidaten-Bildrahmensätzen gemäß einigen Ausführungsformen darstellen;
    • 6 ein Blockdiagramm einer Systemplattform, die mehrere Kameras und einen Prozessor aufweist, der betrieben werden kann, um dynamische Mehrbild-Mehraufnahme-Kalibrierungsverfahren gemäß einigen Ausführungsformen zu implementieren;
    • 7 ein Diagramm eines beispielhaften Systems, das mehrere Kameras und einen Prozessor aufweist, der betrieben werden kann, um dynamische Mehrbild-Mehraufnahme-Kalibrierungsverfahren gemäß einer oder mehreren Ausführungsformen zu implementieren; und
    • 8 ein Diagramm einer beispielhaften mobilen Handgerätplattform, die gemäß einigen Ausführungsformen angeordnet ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
  • Eine oder mehrere Ausführungsformen werden mit Bezug auf die angefügten Figuren beschrieben. Obschon spezifische Konfigurationen und Anordnungen detailliert dargestellt und erörtert sind, versteht es sich, dass dies nur zu Veranschaulichungszwecken erfolgt. Fachleute werden erkennen, dass andere Konfigurationen und Anordnungen möglich sind, ohne vom Geist und Umfang der Beschreibung abzuweichen. Für den Fachmann auf diesem Gebiet ist es offensichtlich, dass die hierin beschriebenen Techniken und/oder Anordnungen in mehreren verschiedenen anderen Systemen und Anwendungen über das hinausgehen können, was hierin ausführlich beschrieben ist.
  • In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden und Ausführungsbeispiele darstellen. Es versteht sich weiterhin, dass andere Ausführungsformen benutzt und strukturelle und/oder logische Änderungen vorgenommen werden können, ohne den Schutzbereich des beanspruchten Gegenstands zu verlassen. Daher ist die folgende ausführliche Beschreibung nicht im einschränkenden Sinne zu verstehen und der Schutzbereich des beanspruchten Gegenstands ist allein durch die angefügten Ansprüche und ihre Äquivalente definiert.
  • In der folgenden Beschreibung werden zahlreiche Details dargelegt, jedoch ist es für einen Fachmann offensichtlich, dass Ausführungsformen ohne diese spezifischen Details ausgeführt werden können. Gut bekannte Verfahren und Vorrichtungen sind in Blockdiagrammform gezeigt und nicht im Detail, um das Verschleiern wichtigerer Aspekte zu vermeiden. In der gesamten Spezifikation bedeutet eine Bezugnahme auf „eine Ausführungsform“, dass ein bestimmtes Merkmal, eine bestimmte Struktur, Funktion oder Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich in der gesamten Spezifikation das Vorkommen des Ausdrucks „in einer Ausführungsform“ an verschiedenen Stellen nicht unbedingt auf die gleiche Ausführungsform. Darüber hinaus können die bestimmten Merkmale, Strukturen, Funktionen oder Eigenschaften, die im Kontext einer Ausführungsform beschrieben sind, auf beliebige geeignete Weise in einer oder mehreren Ausführungsformen kombiniert werden. Zum Beispiel kann eine erste Ausführungsform mit einer zweiten Ausführungsform überall dorf kombiniert werden, wo sich die bestimmten Merkmale, Strukturen, Funktionen oder Eigenschaften, die mit den zwei Ausführungsformen verknüpft sind, nicht gegenseitig ausschließen.
  • Wie in der Beschreibung der Ausführungsbeispiele und den angefügten Patentansprüchen verwendet, sollen die Singularformen „ein“, „einer“, „eine“ und „der“, „die“, auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hier verwendet, auf jede und alle möglichen Kombinationen eines oder mehrerer der zugehörigen aufgelisteten Elemente bezieht und diese umfasst.
  • Wie in der gesamten Beschreibung und in den Ansprüchen verwendet, kann eine Liste der Elemente, die durch den Ausdruck „mindestens eines von“ oder „eines oder mehrere von“ verbunden ist, jede beliebige Kombination der aufgeführten Begriffe bedeuten. Zum Beispiel kann der Ausdruck „mindestens eines von A, B oder C“ A; B; C; A und B; A und C; B und C; oder A, B und C bedeuten.
  • Die Ausdrücke „gekoppelt“ und „verbunden“ können zusammen mit ihren Ableitungen hierin verwendet werden, um funktionale oder strukturelle Beziehungen zwischen Komponenten zu beschreiben. Es versteht sich, dass diese Begriffe nicht als Synonyme füreinander gedacht sind. Vielmehr kann in besonderen Ausführungsformen „verbunden“ verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem physischen, optischen oder elektrischen Kontakt miteinander sind. „Gekoppelt“ kann verwendet werden, um anzugeben, dass zwei oder mehr Elemente entweder in direktem oder indirektem (mit anderen dazwischenliegenden Elementen) physischen, optischen oder elektrischen Kontakt miteinander sind und/oder dass die zwei oder mehr Elemente zusammenwirken oder miteinander interagieren (z. B. als Ursache-Wirkung-Beziehung).
  • Einige Abschnitte der hierin bereitgestellten ausführlichen Beschreibungen wurden in Bezug auf Algorithmen und symbolische Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers dargestellt. Sofern nicht spezifisch anders angegeben, wie aus der folgenden Erläuterung ersichtlich, wird man zu schätzen wissen, dass sich in der gesamten Beschreibung Erläuterungen, die Ausdrücke wie „berechnen“, „rechnen“, „bestimmen“, „schätzen“, „speichern“, „sammeln“, „anzeigen“, „aufnehmen“, „konsolidieren“, „erzeugen“, „aktualisieren“ oder dergleichen, auf die Wirkung und die Prozesse eines Computersystems oder einer ähnlichen elektronischen Vorrichtung beziehen, die Daten, die als physische (elektronische) Mengen innerhalb des Computersystemschaltkreises einschließlich Registern und Speichern dargestellt sind, in andere Daten manipuliert und umwandelt, die in ähnlicher Weise als physische Mengen innerhalb der Computersystemspeicher oder -register oder anderer solcher Informationsspeicher, Übertragungs- oder Anzeigevorrichtungen dargestellt sind.
  • Die folgende Beschreibung legt Ausführungsformen dar, die sich zum Beispiel in Architekturen manifestieren können, wie System-on-a-Chip-Architekturen (SoC-Architekturen). Die Implementierung der hierin beschriebenen Techniken und/oder Anordnungen ist nicht auf bestimmte Architekturen und/oder Computersysteme beschränkt und kann für ähnliche Zwecke durch eine beliebige Architektur und/oder ein beliebiges Computersystem implementiert werden. Verschiedene Architekturen, die zum Beispiel mehrere integrierte Schaltungs-(IC)-Chips und/oder -Packungen und/oder verschiedene Computergeräte und/oder Unterhaltungselektronikgeräte (CE) wie Set-Top-Boxes (z. B. Spielkonsolen), Smartphones, Drohnen, autonome Fahrsysteme, 360-Grad-Panoramabild-Aufnahmevorrichtungen usw. verwenden, können die hierin beschriebenen Techniken und/oder Anordnungen implementieren. Während die folgende Beschreibung ferner zahlreiche spezifische Details darlegen kann, wie z. B. logische Implementierungen, Typen und Zusammenhänge von Systemkomponenten, logische Partitionierungs-/Integrationsoptionen usw., kann der beanspruchte Gegenstand auch ohne solche spezifischen Details ausgeführt werden. Darüber hinaus kann einiges Material wie z. B. Steuerstrukturen und vollständige Softwareanweisungssequenzen nicht im Detail dargestellt sein, um das hierin offenbarte Material nicht zu verschleiern.
  • Bestimmte Anteile des hier offenbarten Materials sind in Hardware implementiert, zum Beispiel als Logikschaltung in einem Grafikprozessor. Gewisse andere Anteile können in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert sein. Mindestens ein Teil des hier offenbarten Materials kann auch als Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, das von einem oder mehreren Prozessoren (Grafikprozessoren und/oder zentralen Prozessoren) gelesen und ausgeführt werden kann. Ein maschinenlesbares Medium schließt jedes beliebige Medium und/oder jeden beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer von einer Maschine (zum Beispiel einem Computergerät) lesbaren Form ein. Zum Beispiel kann ein maschinenlesbares Medium einen Nur-Lese-Speicher (ROM); Direktzugriffsspeicher (RAM); Magnetplattenspeichermedien; optische Speichermedien; Flash-Speichergeräte; elektrische, optische, akustische oder andere ähnliche nicht flüchtige greifbare Medien einschließen.
  • Im Folgenden werden eines oder mehrere Systeme, Vorrichtungen, Verfahren und computerlesbare Medien für die dynamische Mehrkamera-Kalibrierung basierend auf einer Vielzahl von Bildrahmen beschrieben. Wie weiter unten beschrieben, werden Merkmale aus mehreren Bildern unterschiedlicher Szenen, die von einer Plattform für mehrere Kameravorrichtungen über einen längeren Zeitraum (z. B. Minuten, Stunden oder sogar Tage) aufgenommen wurden, gesammelt und gemeinsam zum Kalibrieren von Kameraparametern eingesetzt. Durch gemeinsames Verwenden eines Satzes mehrerer aufgenommener Bilder können die Merkmalsanzahl und -verteilung, die mit jedem Bild assoziiert sind, in einer ausreichenden Anzahl von Messungen akkumuliert werden, um das Kalibrierungsproblem präzise zu modellieren. In einigen vorteilhaften Ausführungsformen wird ein aktueller Satz von Kalibrierungsparametern periodisch und/oder bedarfsabhängig basierend ausschließlich auf Bildern aktualisiert und/oder feinabgestimmt, die von dem Benutzer während ihrer alltäglichen Verwendung der Geräteplattform aufgenommen werden. Die weiter unten beschriebenen dynamischen Kalibrierungsausführungsformen stehen im Gegensatz zu einer einmaligen Werkskalibrierung, die speziell entworfene technische Ziele (z. B. Schachbrettmuster, die an mehreren Stellen in einer Szene platziert sind) zum Kalibrieren der Kameras erfordert.
  • Gemäß einigen Ausführungsformen werden eines oder mehrere Optimalitätskriterien oder -metriken verwendet, um den Pool von Kandidatenbildern auf eine Teilmenge von Mehraufnahmebildern zu reduzieren, die für die Kamerakalibrierung am besten geeignet sind. Dementsprechend kann die Berechnungszeit für die dynamische Kalibrierung verringert werden, während die Genauigkeit der Kalibrierung relativ zu einer Einteilungsauswahl von Bildern verbessert werden kann. Die Reihenfolge, in der die ausgewählten Bilder hinzugefügt werden, kann ferner gemäß einem oder mehreren Kriterien oder Metriken erfolgen, welche die Qualität des Kalibrierungsprozesses verbessern werden. In einigen weiteren Ausführungsformen kann die Kalibrierungsinformation zwischen unterschiedlichen mehrfach aufgenommenen Bildern, die zur dynamischen Kalibrierung verwendet werden, gemeinsam genutzt werden, weil jede der ausgewählten Teilmengen von Szenen mit einer unterschiedlichen optischen Einstellung aufgenommen worden sein könnte.
  • Wie weiter unten beschrieben, muss ein dynamisches Kalibrierungssystem gemäß einigen Ausführungsformen unterscheidende Merkmalspunkte aus Mehrkamerabildern extrahieren, Abstimmungsentsprechungen zwischen diesen Bildern finden, diese basierend auf den aktuellen Kalibrierungsparametern triangulieren und dann die aktuellen Kalibrierungsparameter iterativ feinabstimmen und triangulierte Punkte in einem Optimierungsrahmen, der Fehler (z. B. den mittleren Pixelneuprojektionsfehler) für die Eingabebilder minimiert, triangulieren.
  • Die Kamerakalibrierung erfordert das Auffinden von Kalibrierungsparametern, die den Vorwärtsabbildungsprozess von einem Szenenpunkt zu seinem entsprechenden Bildpunkt auf der Sensorebene durch eine Reihe geometrischer Transformationen codieren. 1 ist ein Schema, das ein beispielhaftes geometrisches Einkamera-Lochblenden-Projektionsmodell mit zugehörigen Koordinatensystemen gemäß einigen Ausführungsformen darstellt. Wie dargestellt, wird ein Objekt P in einer gegebenen Szene auf einer Sensorebene 101 abgebildet. In Anbetracht der Position von Objekt P und einer gemessenen Position p stehen beide über eine Reihe von Koordinatentransformationen in Beziehung, die von den Kamerakalibrierungsparametern abhängig sind und von dem Bilderzeugungsmodell bestimmt werden, das für das Abbildungssystem besonders ist. 1 veranschaulicht ein beispielhaftes geometrisches Modell einer Lochblendenprojektion eines Vorwärtsabbildungsprozesses mit vier Koordinatensystemen: Welt, Kamera, Sensor und Bild. Ein vorgegebener Szenenpunkt wird im Weltkoordinatensystem beschrieben. Der Ursprung des Weltkoordinatensystems ist normalerweise benutzerdefiniert. Der Ursprung des Kamerakoordinatensystems befindet sich im Zentrum der Projektion des Abbildungssystems, wobei seine z-Achse mit der optischen Achse und der x-y-Ebene parallel zum Bildsensor ausgerichtet ist. Das Sensorkoordinatensystem liegt auf der Bildsensorebene und ist mit dem Kamerakoordinatensystem ausgerichtet, mit Ausnahme einer festen Translation, die der Brennweite der Kamera entspricht. Das Bildkoordinatensystem (I, J) liegt an der Ecke der Bildsensorebene und wird verwendet, um die Position eines Bildpunkts in Pixeln zu beschreiben.
  • Ein Objekt im Weltkoordinatensystem kann basierend auf dem bekannten Abbildungsmodell auf das Bildkoordinatensystem projiziert werden. Diese Projektion kann als Transformationen zwischen den verschiedenen Koordinatensystemen codiert werden, die wiederum durch die Kamerakalibrierungsparameter parametrisiert werden. Traditionell wurden diese Parameter in extrinsische Parameter und intrinsische Parameter klassifiziert. Extrinsische Parameter modellieren die Pose des Kamerakoordinatensystems im Weltkoordinatensystem. In einigen Ausführungsbeispielen schließen extrinsische Parameter drei Rotations- und drei Translationsparameter ein. Die Rotationsparameter können auf unterschiedliche Art modelliert werden, z. B. Euler-Winkel, Winkelachse, Rodrigues usw. Intrinsische Parameter sind in jeder Kamera enthalten und beschreiben die Konvertierung von einer Einheitsfokuslängenmetrik zu Pixelkoordinaten. In einigen Ausführungsbeispielen schließen intrinsische Parameter die Brennweite in Pixeleinheiten (zwei Parameter) und den Mittelpunkt, der zwei Parameter aufweist, für insgesamt fünf intrinsische Parameter ein. Aufgrund der Mehrdeutigkeit der Skala können vier der Parameter optimiert werden, während der fünfte definiert ist. In einigen weiteren Ausführungsformen schließen intrinsische Parameter ferner fünf Bildverzerrungsparameter (drei radiale und zwei tangentiale Verzerrungsparameter, die Abweichungen von der idealen Abbildung modellieren) ein. Die Bildverzerrungsparameter modellieren die Transformation vom Sensorkoordinatensystem zum Bildkoordinatensystem. Bei einem Mehrkamerasystem mit einer Anzahl N an Kameras mit N > = 2 wird typischerweise eine Kamera als Referenzkamera festgelegt, und die extrinsischen Parameter für alle Kameras werden in Bezug auf die Referenzkamera definiert. Somit gibt es 6 (N-1) extrinsische Parameter, 4N intrinsische Parameter und 5N Verzerrungsparameter, die während einer Kalibrierungsroutine feinabgestimmt werden sollten.
  • Für das Lochblendenprojektionsmodell aus 1 können die Abbildungsgleichungen angesichts des Objektpunkts P und seines gemessenen Bildpunkts p wie folgt geschrieben werden: q [ R P + t ]
    Figure DE102018125739A1_0001
    mit p = [ q x ( k 1 r 2 + k 2 r 4 + k 3 r 6 + ) + 2 p 1 q x q y + p 2 ( r 2 + 2 q x 2 ) q y ( k 1 r 2 + k 2 r 4 + k 3 r 6 + ) + p 1 ( r 2 + 2 q y 2 ) + 2 p 2 q x q y ]
    Figure DE102018125739A1_0002
    wobei q = (qx,qy) der projizierte Bildpunkt von 2x1 idealer Perspektive, r2 = q2 x + q2 y ist. R ist eine 3x3-Rotationsmatrix, t ist ein 3x1-Translationsvektor zum Transformieren des Weltrahmens und K ist die intrinsische Parametermatrix für die Kamera: K = [ f x 0 u 0 f y v 0 0 1 ]
    Figure DE102018125739A1_0003
  • Für Gl. 3 ist die Brennweite f x = f s x , f y = f s y
    Figure DE102018125739A1_0004
    in Bezug auf die Pixelgröße (sx,sy), und (u, v) ist der Mittelpunkt auf der Bildebene in Pixel, die mit dem Ursprung des Sensorkoordinatensystems zusammenfällt. Schließlich sind k1, k2, k3, p1 und p2 die drei radialen und zwei tangentialen Verzerrungsparameter. Kamerakalibrierungsparameter können auf ähnliche Weise für andere Projektionsmodelle gekennzeichnet werden, wie Fischaugen- und Kugelprojektionsmodelle, aber nicht darauf beschränkt.
  • 2 ist ein Flussdiagramm, das Verfahren 201 darstellt, die eine dynamische Mehrkamera-Kalibrierung und die Verwendung von dynamisch kalibrierten Kameraparametern gemäß einigen Ausführungsformen beinhalten. Die Verfahren 201 können eingesetzt werden, um eine Mehrkamera-Kalibrierung auf einer Plattform durchzuführen, wie zum Beispiel einer gemäß dem Schema aus 1 modellierten. Die Verfahren 201 beginnen bei der Operation 205, bei der eines oder mehrere Kamera-Hardwaremodule (CM), die jeweils eine oder mehrere Mehrkameras aufweisen, Bildrahmendaten erfassen oder belichten. In Ausführungsbeispielen wird eine Vielzahl von Bildrahmensätzen bei Operation 205 aufgenommen. Jeder Bildrahmensatz weist zwei oder mehr Bildrahmen einer einzelnen Szene auf, die von zwei oder mehr Kameras gleichzeitig aufgenommen werden (d. h. mehrfach aufgenommen). Zum Beispiel kann ein Bildrahmensatz ein Paar Stereobilder sein, das von zwei beliebigen Kameras in einem Mehrkamerasystem aufgenommen wird. Als ein anderes Beispiel kann ein Bildrahmensatz drei oder mehr Bildrahmen einer einzelnen Szene aufweisen, die von beliebigen drei oder mehr Kameras in einem Mehrkamerasystem aufgenommen wurden. Aus den mehreren Bildrahmensätzen kann ein Bildrahmensatz als Referenz-Bildrahmensatz definiert werden (z. B. der aktuellste Bildrahmensatz), während alle anderen Bildrahmensätze als Kandidaten-Bildrahmensätze definiert sind. Die Mehraufnahme-Mehrdynamik-Kalibrierungsverfahren 201 können dann ausgeführt werden, um die besten Kalibrierungsparameter zu erhalten, die sich auf den bestimmten Bildrahmen beziehen, der als Referenz definiert ist.
  • Bei ihrer Sammlung kann jeder der Bildrahmensätze in einer Bibliothek gespeichert werden, die entweder lokal auf der Kameraplattform oder entfernt (z. B. auf einer cloudbasierten Bibliothek) angeordnet sein kann. Mit der Verwendung des Mehrkamerasystems über die Zeit nimmt die Anzahl der Bildrahmensätze davon zu, und es können viele Hunderte oder sogar Tausende von Bildrahmensätzen gespeichert werden. In einigen Ausführungsbeispielen stellt jeder Bildrahmensatz einen einzelnen Standbild-Rahmen dar, und die mehreren Bilder, die bei der Operation 205 gesammelt werden, werden über lange Zeiträume (z. B. in der Größenordnung von Minuten bis Wochen, mit effektiven Aufnahmeraten von weniger als 1 Rahmen/Sekunde) aufgenommen. Es sei darauf hingewiesen, dass die gleichen Mehrkamerasysteme auch bei Modi mit höherer Rahmenrate betrieben werden können, z. B. als Videomodus, bei dem eine oder mehrere der Kameras Bildrahmendaten mit einer bestimmten Videorahmenrate (z. B. 30 Rahmen/Sekunde oder mehr) streamen. Einer oder mehrere repräsentative Rahmen (z. B. I-Rahmen) aus einem solchen Video können innerhalb der mehreren Bildrahmensätze enthalten sein, die bei Operation 250 gesammelt wurden, vorausgesetzt, solche repräsentativen Rahmen weisen auch Bildrahmendaten für zwei oder mehr Stereobilder auf.
  • Bei der Operation 210 wird eine Teilmenge der mehreren Bildrahmen, die bei Operation 205 gesammelt werden, zur Verwendung in einer dynamischen Mehrbild-Kalibrierungsroutine (DynCal) ausgewählt.
  • Die Durchführung der Operation 210 kann durch einen oder mehrere dynamische Kalibrierungsauslöser bedingt sein. Zum Beispiel kann die Leistung der Operation 210 bei Empfang eines Kamerakalibrierungsauslösers 206 bedingt sein, z. B. in Form eines vom Plattformanwenders initiierten „camera_cal“-Befehls oder in Form eines automatischen, systemgenerierten Befehls, der auf einer anderen Plattformverwaltungsfunktion basiert. In anderen Ausführungsformen bedingt die Leistung der Operation 210 die Ausgabe aus einem Kamerakalibrierungszähler 207. Zum Beispiel kann der Kamerakalibrierungszähler 207 den Zeitverlauf zählen und gemäß einem vorbestimmten Zeitplan die Operation 210 periodisch initiieren. Alternativ kann der Kamerakalibrierungszähler 207 das Auftreten eines Vorkommnisses zählen, wie die Anzahl der bei der Operation 205 gesammelten Bildrahmensätze, und die Operation 210 beim Erreichen einer vorbestimmten Schwellenanzahl solcher Vorkommnisse initiieren. Als ein anderes Beispiel kann der Kamerakalibrierungszähler 207 bei Operation 205 eine Anzahl von Änderungen der Brennweite oder eine oder mehrere andere Kamerabewegungen zählen, die der Sammlung der Bildrahmensätze zugeordnet sind. In einigen anderen Ausführungsformen bedingt die Leistung der Operation 210 die Ausgabe aus einem Kalibrierungsereignissensor 208. Der Kamerakalibrierungsereignissensor 208 kann Ereignisse erkennen, die mit dem Kamerabetrieb korreliert sind. Zum Beispiel kann der Kamerakalibrierungsereignissensor 208 mit einem kameraplattforminternen Beschleunigungsmesser gekoppelt sein, und die Operation 210 kann durchgeführt werden, wenn ein Stoß der Plattform (z. B. ein Fallenlassen des Geräts) erkannt wird. Als ein anderes Beispiel kann der Kamerakalibrierungsereignissensor 208 mit einem kameraplattforminternen Temperatursensor gekoppelt sein, und die Operation 210 kann nach Erkennung einer signifikanten Änderung der Umgebungstemperatur initiiert werden.
  • Die in der Operation 210 ausgewählte Teilmenge von Bildrahmen ist Basis einer dynamischen Kalibrierungsroutine, die von den Plattform-Implementierungsverfahren 201 vor Ort ausgeführt wird. Somit werden die mehreren Bildrahmen, die bei der Operation 205 gesammelt werden, sowohl für Zwecke des Plattformbenutzers als auch für den weiteren Zweck des Durchführens einer dynamischen Kalibrierung der Plattformkamera vor Ort gesammelt. Aufgrund der Schwierigkeit, ein „ideales“ Bild aufzunehmen, das eine ausreichend hohe Textur (Frequenz) und/oder einen Merkmalspunktinhalt mit einer ausreichend gleichmäßigen 3D-Verteilung aufweist, ist es für die Verfahren 201 nicht erforderlich, dass ein Benutzer ein bestimmtes Bild speziell für die Kalibrierung aufnimmt. Stattdessen umfasst die Operation 210 computerimplementierte Verfahren zum Auswählen von Bildern aus einer Bibliothek von zufälligen Bildern, die von der Plattform gesammelt wurden. Der Auswahlprozess basiert auf Algorithmen, die zur Auswahl einer merkmalhaltigen Teilmenge von Bildrahmensätzen ausgestaltet sind, die weiter in eine Sequenz eingefügt werden können, welche die Gesamtzahl der Bilder reduziert, die durch eine dynamische Kalibrierungsroutine verarbeitet werden.
  • In einigen Ausführungsbeispielen beinhaltet die Operation 210 das Bewerten der mehreren Bildrahmensätze, die bei der Operation 205 gesammelt wurden. Eine solche Bewertung kann dann als Basis für den Vergleich verschiedener Kandidaten der Bildrahmensätze und/oder als eine Basis für die Rangfolge der Kandidaten-Bildrahmensätze genutzt werden, die in einer Bildbibliothek gemäß ihrer Eignung für die Verwendung bei der dynamischen Kamerakalibrierung gespeichert sind. In einigen weiteren Ausführungsformen werden ein Referenz-Bildrahmensatz und einer oder mehrere der Kandidaten-Bildrahmensätze bei der Operation 210 basierend auf ihrer Bewertung ausgewählt. Eine objektive Fehlerfunktion in Zusammenhang mit den Kamerakalibrierungsparametern, die aus einem oder mehreren ausgewählten Rahmen bestimmt wird, wird eingesetzt, um zu bestimmen, welche der besten (z. B. am höchsten bewerteten) Kandidatenrahmen in der Teilmenge von Bildrahmen zurückzuhalten sind, die in der dynamischen Mehrbildkalibrierung aufgelistet sind. Obwohl jede beliebige Anzahl von Kandidaten-Bildrahmen ausgewählt werden kann, kann eine beispielhafte Implementierung einige wenige Dutzend mehrfach aufgenommener Bildsätze oder weniger auswählen.
  • Die Verfahren 201 fahren bei Operation 215 fort, wo Kamerakalibrierungsparameter basierend auf der Teilmenge von Rahmen bestimmt werden, die bei Operation 210 ausgewählt wurden. Eine oder mehrere dynamische Kalibrierungsroutinen können ausgeführt werden, oder es kann auf Ergebnisse dieser Kalibrierungsroutinen bei Operation 215 zugegriffen werden, um solche Kalibrierungsparameter zu bestimmen. Obschon spezifische Beispiele beispielhafter dynamischer Kalibrierungsroutinen nachstehend beschrieben sind, sei anzumerken, dass solche Kalibrierungsroutinen in ihrer Implementierung stark variieren können, sobald die Teilmenge von Bildrahmen, die in solche Routinen einzugeben ist, bestimmt wurde. Allgemein hängt die Ausgabe der dynamischen Kalibrierungsroutine(n), die bei Operation 215 durchgeführt wird/werden, sowohl von der Angemessenheit der ausgewählten Bildsätze ab, die in die Kalibrierung eingegeben werden, als auch davon, wie bewandert die dynamische Kalibrierung, die in Operation 215 durchgeführt wird, darin ist, mehrere Bildrahmen zu behandeln, die über längere Zeiträume aufgenommen worden sein können. Da jede mit Operation 205 verbundene Aufnahmesitzung ein unabhängiger Prozess sein kann, kann davon ausgegangen werden, dass die gesammelten Bildrahmensätze ein Ergebnis eines eindeutigen Satzes intrinsischer und extrinsischer Parameter sind. Falls jedoch die dynamische Kalibrierungsroutine, die bei Operation 215 durchgeführt wird, lediglich dazu diente, um vorauszusetzen, dass alle Parameter von Bild zu Bild geändert werden, dann würde das Hinzufügen weiterer Bildsätze die Kalibrierungsparameter eines Referenzbildes wahrscheinlich nicht verbessern. Gemäß einigen Ausführungsformen wird jedoch eine Teilmenge der Kalibrierungsparameter, die am wahrscheinlichsten über einen Sammelzeitraum stabil bleibt, von unterschiedlichen Bildrahmensätzen gemeinsam genutzt. Diese Parameter können als „niederfrequente“ Parameter klassifiziert werden. In einigen vorteilhaften Ausführungsformen werden, weil diese niederfrequenten Parameter am wenigsten anfällig für drastische Änderungen innerhalb von Aufnahmezeiträumen sind, die von der Teilmenge der Bildrahmen umfasst werden, die bei Operation 210 ausgewählt wurden, sie als für alle Bildrahmen innerhalb der ausgewählten Teilmenge gemeinsam optimiert. Bei einigen Ausführungsformen, welche die Parameter, die für das geometrische Modell oben beschrieben sind, aufweisen, werden diejenigen, die mit der Pose zwischen jeder Mehrkamera verbunden sind, als niederfrequente Parameter betrachtet und daher von allen Bildrahmensätzen gemeinsam genutzt, die während der Mehrrahmen-Mehrkamera-Kalibrierungsroutine verwendet werden.
  • Andere Kalibrierungsparameter, die als „hochfrequente“ Parameter klassifiziert werden, ändern sich wahrscheinlicher für jeden aufgenommenen Bildrahmensatz und werden daher als für jeden Bildrahmensatz eindeutig verarbeitet. Zum Beispiel neigen Autofokusmodule dazu, das Objektiv in Abhängigkeit von der Ausrichtung des Moduls (z. B. aufgrund von Schwerkraft) zu bewegen. Dadurch wird die Brennweite geändert, wodurch wiederum alle intrinsischen Parameter des Autofokusobjektivs geändert werden. Alle solche intrinsischen Parameter dürfen daher Werte aufweisen, die für jeden ausgewählten Bildrahmensatz eindeutig sind, und nicht für die ausgewählten Bildrahmensätze gemeinsam genutzt werden. In anderen Ausführungsformen, in denen Kameras ein Objektiv mit festem Fokus verwenden und die zugehörigen intrinsischen Parameter wahrscheinlicher stabil bleiben, können diese intrinsischen Parameter als „niederfrequente“ Parameter klassifiziert und während der dynamischen Kalibrierung entsprechend behandelt werden. Durch Trennen der Kalibrierungsparameter auf Basis dessen, wie häufig sie sich ändern, kann die bei der Operation 215 durchgeführte dynamische Mehrbildkalibrierung daher möglicherweise besser zu einer Lösung von einer Eingabe konvergieren, die mehrere über längere Zeiträume gesammelte oder aufgenommene Bildrahmensätze aufweist.
  • Die Verfahren 201 fahren bei Operation 220 fort, wo eine oder mehrere Kamerakalibrierungsmatrizen aktualisiert werden, um einen oder mehrere der Kamerakalibrierungsparameter aufzuweisen, die bei Operation 215 bestimmt wurden. Bei einigen Ausführungsformen werden einer oder mehrere Werte in der intrinsischen Parametermatrix K, die oben eingeführt ist, von einem vorherigen (Referenz-) Parameterwert auf einen aktuellen (neuen) Parameterwert aktualisiert. In einigen weiteren Ausführungsformen werden einer oder mehrere Werte in einer extrinsischen Parametermatrix von einem vorherigen (Referenz-) Parameterwert auf einen aktuellen (neuen) Parameterwert aktualisiert. Wie oben angegeben (und wie nachstehend beschrieben), werden die Kalibrierungsparameter mit Werten aktualisiert, die bei Operation 215 mindestens teilweise basierend darauf bestimmt werden, ob der Parameter, der aktualisiert wird, als niederfrequenter Parameter klassifiziert ist oder als hochfrequenter Parameter klassifiziert ist.
  • Nach der Aktualisierung stehen die Kamerakalibrierungsparameter zur Verwendung in einer beliebigen Anzahl von Anwendungen zur Verfügung, die von der Plattform implementiert werden, welche die Operationsverfahren 201 ausführt. In den in 2 dargestellten Ausführungsbeispielen wird bei Operation 220 ein Computer Vision-Algorithmus basierend auf den aktualisierten Kalibrierungsmatrizen ausgeführt. In einigen Ausführungsformen umfasst die Operation 220 das Verarbeiten des Referenz-Bildrahmensatzes mit einem beliebigen geeigneten dreidimensionalen (3D) Messalgorithmus. Ein Messwert, der dem Referenz-Bildrahmensatz zugeordnet ist, der in Operation 220 eingegeben wird, kann dann zum Beispiel in einem Speicher gespeichert oder auf einem Anzeigebildschirm ausgegeben werden. In einigen anderen Ausführungsformen umfasst die Operation 220 die Verarbeitung des Referenz-Bildrahmensatzes, der bei Operation 205 gesammelt wurde (z. B. eines zuletzt aufgenommenen Bildes) mit einem beliebigen geeigneten rechnerischen Zoom-Algorithmus. Ein gezoomtes Bild, das dem eingegebenen Bildrahmensatz zugeordnet ist, kann dann zum Beispiel in einem Speicher gespeichert oder auf einem Anzeigebildschirm ausgegeben werden. In einigen Ausführungsformen umfasst die Operation 220 das Verarbeiten des Referenz-Bildrahmensatzes, der bei Operation 205 gesammelt wurde (z. B. eines zuletzt aufgenommenen Bildes) mit einem beliebigen Tiefenfilter, wie einem Bokeh-Filter. Das gefilterte Bild, das dem Referenz-Bildrahmensatz zugeordnet ist, kann dann zum Beispiel in einem Speicher gespeichert oder auf einem Anzeigebildschirm ausgegeben werden. Die Kalibrierungsparameter, die bei Operation 215 berechnet wurden, können auch in Verbindung mit dem Referenzbild in einem Speicher gespeichert werden. Zum Beispiel kann bei Operation 220 ein Metadatenfeld des Referenzbildes mit den bei Operation 215 berechneten Kalibrierungsparametern eingetragen werden. In einem anderen Beispiel können bei Operation 220 die bei Operation 215 berechneten Kalibrierungsparameter in einem Speicher auf eine Weise gespeichert werden, dass die Parameter mit einer Kennung des Referenzbildes eingegeben werden. Wie ferner durch den gestrichelten Pfeil, der zu Operation 205 zurückkehrt, gekennzeichnet ist, können die Kamerakalibrierungsparameter, die bei Operation 215 mit aktualisierten Parameterwerten feinabgestimmt werden und bei Operation 220 eingesetzt werden, während nachfolgender Iterationen der Operationen 205 bis 220 für andere Referenzbilder weiterer Aktualisierung ausgesetzt sein, wie durch den gestrichelten Pfeil, der zu Operation 205 zurückkehrt, gekennzeichnet.
  • 3A und 3B sind Flussdiagramme, die computerimplementierte Mehrbild-Mehraufnahme-Kalibrierungsverfahren 301 gemäß einigen Ausführungsformen darstellen. Die Verfahren 301 können durchgeführt werden, um automatisch eine Teilmenge von Bildrahmensätzen aus einem Pool von Kandidaten-Bildrahmensätzen auszuwählen. Um die Auswahl zu perfektionieren, führen die Verfahren 301 eine Anzahl von Berechnungen durch, die auch die weitere Bestimmung von Kamerakalibrierungsparametern aus der ausgewählten Teilmenge erleichtern. Daher können beide Operationen 210 und 215 der Verfahren 201 (2) gemäß den Verfahren 301 durchgeführt werden.
  • Die Verfahren 301 beginnen bei Operation 310, wo eine dynamische Kalibrierungsroutine für einen einzelnen Bildsatz an einem Referenz-Bildrahmensatz Iref ausgeführt wird. Der Referenz-Bildrahmensatz Iref kann ein beliebiger Mehraufnahme-Bildsatz sein, zum Beispiel aus einer Bildbibliothek, wie bei Operation 205 der Verfahren 201 (2) gesammelt. Die Verfahren 301 sind basierend auf diesem „Bild von Interesse“ (z. B. für einen Plattformbenutzer) mit allen beliebigen Tiefenfiltern und/oder Messungen auszuführen, die anschließend (z. B. gemäß Verfahren 201) auf dieses Referenzbild anwendbar durchgeführt werden. In einigen Ausführungsbeispielen ist der Referenz-Bildrahmensatz Iref der jüngste Satz der mehreren verfügbaren Bildrahmensätze (d. h. der Rahmensatz, der zuletzt von der Mehrkamera aufgenommen wurde). Der Referenz-Bildrahmensatz Iref kann alternativ ein älterer Bildsatz sein, der zu einem zufälligen Zeitpunkt gesammelt wurde und zum Beispiel von einem Benutzer für eine weitere Computerbildverarbeitung ausgewählt wurde. Die dynamische Kalibrierung des Einzelbildsatzes, die an dem Referenz-Bildrahmensatz Iref bei Operation 310 durchgeführt wird, bestimmt einen anfänglichen oder Referenzsatz von Kalibrierungsparameterwerten.
  • Bei der Operation 310 wird außerdem die gleiche dynamische Kalibrierungsroutine für den Einzelbildsatz ferner an jedem der mehreren Kandidaten-Bildrahmensätze Ii ausgeführt. Die Kandidaten-Bildrahmensätze Ii können eine beliebige Anzahl von Bildrahmensätzen aufweisen, zum Beispiel aus einer Bildbibliothek, die bei Operation 205 der Verfahren 201 (2) gesammelt wird. In einigen Ausführungsbeispielen weisen die Kandidaten-Bildrahmensätze Ii eine vorbestimmte Anzahl von Bildrahmensätzen auf, die zeitlich neben dem Referenz-Bildrahmensatz Iref liegen. Wenn zum Beispiel der Referenz-Bildrahmensatz Iref ein zuletzt gesammelter Bildrahmensatz ist, können die Kandidaten-Bildrahmensätze Ii N der nächsten zuletzt gesammelten Bildrahmensätze aufweisen, wobei N eine beliebige Zahl sein kann (z. B. 10-100). In einem anderen Beispiel, in dem der Referenz-Bildrahmensatz Iref ein Bildrahmensatz ist, der zuvor zu einem Zeitpunkt T gesammelt wurde, können die Kandidaten-Bildrahmensätze Ii N/2 Bildrahmensätze aufweisen, die unmittelbar vor dem Referenz-Bildrahmensatz Iref gesammelt wurden, und N/2 Bildrahmensätze, die unmittelbar nach dem Referenz-Bildrahmensatz Iref gesammelt wurden. Diese Kandidaten-Bildsätze sind basierend auf ihrer entsprechenden Bewertung und der Fähigkeit, den Kalibrierungsschätzungsfehler zu reduzieren, zum Referenzbild hinzuzufügen.
  • 4 ist ein Flussdiagramm, das ferner ein computerimplementiertes dynamisches Kalibrierungsverfahren 401 darstellt, das gemäß einigen Ausführungsformen in ein dynamisches Mehrbild-Mehraufnahme-Kalibrierungsverfahren aufgenommen werden kann. In einem Ausführungsbeispiel werden dynamische Kalibrierungsverfahren 401 während des Betriebs 310 durchgeführt: einmal für den Referenz-Bildrahmensatz Iref ; und einmal für jeden der Kandidaten-Bildrahmensätze Ii . Die Verfahren 401 beginnen bei Operation 405, wo Merkmale innerhalb des eingegebenen Bildrahmensatzes erkannt und abgestimmt werden. Unterscheidungsmerkmale (z. B. Ecken in allen Eingabebildern eines Satzes) können mit jedem geeigneten Algorithmus erfasst werden, da die Ausführungsformen hierin in dieser Hinsicht nicht eingeschränkt sind. Für jedes erkannte Merkmal wird ein Deskriptor berechnet. Jeder Deskriptor kann ein festes Zahlenarray sein, das den Pixelbereich um die Merkmalsposition codiert. In der Literatur gibt es eine Anzahl von Merkmalsdetektoren und -deskriptoren und einige Beispiele sind SIFT (Scale Invariant Feature Transform - skalainvariante Merkmalstransformation), SURF (Speeded-Up Robust Features - beschleunigte robuste Merkmale), FAST (Corner Detector - Eckendetektor) und A-KAZE (beschleunigter KAZE). Jeder dieser veranschaulichenden Detektoren weist einen oder mehrere entsprechende Deskriptoren auf (z. B. hat SIFT einen Vektor der Länge 128 ganzer Zahlen, die jedem erkannten Merkmal zugeordnet werden). In einigen Ausführungsbeispielen wird bei Operation 405 eine AKAZE-Merkmalserkennung eingesetzt, von der festgestellt wurde, dass sie einigermaßen genau und robust ist für Unschärfe, Verzerrung, Sichtpunkt usw. Eine oder mehrere Stufen der Merkmalserkennung können bei Operation 405 durchgeführt werden. Zum Beispiel kann eine Erkennung auf Rahmen-Ebene und/oder Block (Teilrahmen) -Ebene durchgeführt werden. Merkmale, die über eine Vielzahl von Durchgängen oder Stufen erkannt werden, können mit beliebigen redundanten Merkmalspunkten akkumuliert werden, die aus der Zählung ausgeschlossen werden.
  • Die erkannten Merkmale in jedem der Bildrahmen des einzelnen analysierten Satzes werden dann abgestimmt, um N View-Entsprechungen zu erhalten. Diese Entsprechungen werden oft als „Tracks“ (Spuren) bezeichnet und können in mehreren Stufen berechnet werden. Bei einigen der Stufen ist eine der N Kameras, die dem Satz von N Rahmen zugeordnet ist (z. B. linke und rechte Bilder eines Eingabe-Stereobildes), im Satz als eine Referenzkamera Nref definiert, und dann werden die besten 2 View-Übereinstimmungen zwischen Nref und jeder der anderen Kameras berechnet. Für diese Stufen können N-1 2-View-Übereinstimmungen bestimmt werden, indem einer oder mehrere Tests an den erfassten Merkmalen durchgeführt werden. Zum Beispiel kann ein 2-NN (nächster Nachbar) durchgeführt werden, wenn Merkmalsdeskriptor-Übereinstimmungen verglichen, in eine Rangfolge gebracht und mit Schwellenwerten versehen werden, um die zwei nächsten Nachbarn zu erhalten. Zusätzlich oder alternativ kann ein Verhältnistest durchgeführt werden, bei dem ein zweitnächster Nachbar einer Übereinstimmung mit dem ersten nächsten Nachbarn verglichen wird. Zusätzlich oder alternativ kann ein Symmetrietest durchgeführt werden, bei dem Übereinstimmungen bei vertauschter Referenzkamera mehrfach gefunden werden müssen. Zusätzlich oder alternativ kann ein RANSAC-Algorithmus implementiert werden, bei dem potentielle Übereinstimmungen zufällig abgetastet werden, um eine am besten passende Matrix zu bestimmen (z. B. eine Fundamentalmatrix oder eine Essentialmatrix auf Basis werksermittelter Bild-EXIF-Daten oder durch dynamische Kalibrierung berechnete intrinsische Parameter der Referenzkamera und der anderen Kamera), so dass eine Mehrheit der Übereinstimmungen einen Anpassungsfehler unterhalb eines vorbestimmten Schwellenweits (z. B. eines oder mehrerer Pixel) aufweist. In einigen weiteren Ausführungsformen stimmt eine weitere Stufe die N-1 paarweisen 2-View-Übereinstimmungen fein ab, um konsistente N View-Übereinstimmungen zu finden, bei der alle Übereinstimmungen zusammen berücksichtigt werden. Zum Beispiel kann ein N View-Symmetrietest durchgeführt werden, um eine oder mehrere der Merkmalsübereinstimmungen zu verwerfen, die in einem oder mehreren der N-1 paarweisen 2-View-Übereinstimmungen identifiziert wurden.
  • Die Verfahren 401 fahren bei Operation 410 fort, wo eine 3D-Triangulation basierend auf den Merkmalsübereinstimmungen durchgeführt wird. In Anbetracht der aus der Merkmalsabstimmung berechneten Tracks kann ein beliebiger geeigneter Kleinstquadratlöser verwendet werden, um zu einer anfänglichen Schätzung eines 3D-Szenenpunkts zu gelangen, der jeder Track entspricht. Für diese Schätzung kann die Umwandlung von Pixeleinheiten in Metrikeinheiten auf anfänglichen Referenzkalibrierungsparametern basieren, die zuvor entweder von einer Werkskalibrierung oder einer vorherigen dynamischen Kalibrierung bestimmt wurden.
  • Die Verfahren 401 fahren bei Operation 415 mit einem nicht-linearen Feinabstimmverfahren, das als Bündelanpassung bezeichnet wird, fort. Bei Bereitstellung eines Satzes gemessener Bildmerkmalspositionen und -entsprechungen dient die Bündelanpassung dazu, 3D-Punktpositionen und Kameraparameter zu finden, die den Neuprojektionsfehler minimieren. Dieses Optimierungsproblem wird normalerweise als nicht-lineares Problem der kleinsten Quadrate formuliert, wobei der Fehler die quadratische L2-Norm der Differenz zwischen der erkannten Merkmalsposition und der Projektion des entsprechenden 3D-Punktes auf der Bildebene der Kamera ist. Die Bündelanpassung dient zur iterativen Verbesserung der aktuellen Schätzung der Kalibrierungsparameter und der 3D-Szenenpunkte. Bei jeder Iteration wird die Triangulationsoperation 410 mit der aktuellen Schätzung der Kalibrierungsparameter durchgeführt in dem Bemühen, einen Satz von Kalibrierungsparameterwerten zu konvergieren. Bei Operation 415 kann jeder geeignete Bündelanpasser eingesetzt werden. Als ein Beispiel kann ein nichtlinearer Kleinstquadratlöser wie CERES eingesetzt werden. Gemäß einigen Ausführungsbeispielen stimmt die Bündelanpassung eine Teilmenge der Kalibrierungsparameter, wie in den Parameterkonfigurationseinstellungen definiert, die in die Operation 415 eingegeben werden, fein ab. Gemäß einigen Ausführungsformen, bei denen ein N-Kamerasystem 9N intrinsische Parameter (vier Parameter der K-Matrix und fünf Parameter der Bildverzerrung) und 6(N-1) extrinsische Parameter (drei Parameter jeweils für relative Drehung und Translation zwischen einem Kamerapaar) aufweist, ist der Bündelanpasser zum Optimieren aller intrinsischen Parameter konfiguriert. Die Optimierung intrinsischer Parameter kann für Autofokuskameras vorteilhaft sein, die einen Schwingspulenmotor aufweisen, weil die Objektive in solchen Kameras nicht physisch starr sind, dazu tendieren, sich bei Gebrauch zu bewegen und sich wahrscheinlicher entkalibrieren. In einigen solchen Ausführungsformen wird der Bündelanpasser weiter konfiguriert, um die relative Drehung zwischen der Referenzkamera und den anderen Kameras zu optimieren. In einigen Ausführungsbeispielen optimiert die Bündelanpassung jedoch nicht die Translation zwischen den einzelnen Kameras.
  • Wie in 4 weiter dargestellt ist, kann die iterative Feinabstimmung in einigen Ausführungsbeispielen ferner eine geführte Merkmalsabstimmungsoperation 420 beinhalten. Geführte Merkmalsabstimmung kann die Anzahl der Merkmalsübereinstimmungen zwischen einem Bildpaar erhöhen. Wenn eine aktuelle Schätzung der relativen Pose zwischen zwei Kameras vorgegeben ist, kann eine Übereinstimmung für jedes Merkmal in einem ersten Bild entlang der entsprechenden Epipolarlinie auf dem zweiten Bild gesucht werden, mit dem Vorteil, dass Merkmale, die zuvor zurückgewiesen wurden (z. B. aufgrund eines Verhältnistests), ausgewählt werden können, weil die Epipolarlinie sehr wahrscheinlich nur durch die beste Übereinstimmung geht. Szenen, die aus wiederholten Merkmalsmustern bestehen (z. B. Ecken eines Fensterarrays), werden wahrscheinlich während der geführten Merkmalsabstimmungsoperation 420 als Teil gültiger Merkmalsübereinstimmungen ausgewählt.
  • Wie in 4 durch den gestrichelten Pfeil dargestellt, können die Operationen 410, 415 und 420 wiederholt werden, bis keine neuen Merkmalsübereinstimmungen generiert werden, und der mittlere quadratische Pixel-Neuprojektionsfehler über alle 2D-Bildpunkte und 3D-Szenenpunkt-Entsprechungen minimiert wird. Ein niedrigerer Neuprojektionsfehler zeigt an, dass die Kalibrierungsparameter genau sind, aber manchmal diese Parameter zu genau zum Kalibrierungsmodell passen. Die Genauigkeit der geschätzten Kalibrierungsparameter wird daher bei Operation 430 validiert. Die Validierung kann gemäß einer oder mehreren Techniken durchgeführt werden. In einigen Ausführungsformen basiert die Validierung zumindest teilweise auf einem Korrekturfehler, wobei die geschätzten Kalibrierungsparameter verwendet werden, um ein Paar von Stereobildern zu korrigieren, die von zwei beliebigen Kameras in dem Mehrkamerasystem aufgenommen werden.
  • 5A ist ein Schema, das einen Korrekturfehler darstellt, der eingesetzt werden kann, um einen Fehler zu beurteilen, der mit Kalibrierungsparameterwerten verknüpft ist, die durch eine Kalibrierungsroutine gemäß einigen Ausführungsformen bestimmt werden. Idealerweise weisen die korrigierten Bilder 501 Epipolarlinien auf, die parallel zur Basislinie liegen und die Zentren der zwei Kameras verbinden. Dementsprechend müssen die entsprechenden abgestimmten Merkmale 505 auf entsprechenden Epipolarlinien liegen. Jede Abweichung der Merkmalsübereinstimmungen normal zur Epipolarlinie wird als Korrekturfehler definiert und kann in Pixeln gemessen werden. In einigen Ausführungsbeispielen basiert die Validierung der Kalibrierungsparameter zumindest teilweise auf dem Erfüllen eines Schwellenwerts des mittleren Korrekturfehlers (z. B. 1 bis 3 Pixel). In einigen weiteren Ausführungsformen berücksichtigt die Validierung ferner einen Disparitätsinkonsistenzfehler, der eher ein Maß für den Fehler entlang der Epipolarlinie als normal zur Epipolarlinie ist. Bei einigen weiteren Ausführungsformen berücksichtigt die Validierung den Vergleich von 3D-Messfehlern basierend auf bekannten 3D-Messwerten der Grundwahrheit und denen, die aus korrigierten Tiefenbildern berechnet wurden, die wiederum aus dynamischen Mehraufnahme-Mehrkamera-Kalibrierungsparametern nach den Verfahren 301 erhalten werden.
  • Unter erneuter Bezugnahme auf 3A werden nach Abschluss der dynamischen Kalibrierungsoperation 310 (z. B. durch Durchführen der Verfahren 401 an dem Referenz-Bildrahmensatz Iref und an jedem der Kandidaten-Bildrahmensätze Ii ) die Verfahren 301 bei Operation 315 fortgesetzt, wo die Anzahl der Merkmalspunkte (d. h. abgestimmte Merkmale oder Schlüsselpunkte), die in jeder der dynamischen Einzelbildsatzkalibrierungen benutzt werden, in einem elektronischen Speicher gespeichert werden. Eine Messung der Genauigkeit oder Konfidenz in den Kalibrierungen wird auch in dem Speicher gespeichert. Zum Beispiel werden die mittleren Korrekturfehler für den Referenz-Bildrahmensatz Iref und jeden der Kandidaten-Bildrahmensätze Ii bei Operation 320 weiter in einem elektronischen Speicher gespeichert. In einigen anderen Ausführungsformen wird der mittlere Korrekturfehler durch einen maximalen Korrekturfehler ersetzt oder wird durch einen mittleren Korrekturfehler ersetzt. Alternativ kann eine andere Abhängigkeit von paarweisen Korrekturfehlern von Komponentenbildern jedes der Referenz- und Kandidaten-Bildrahmensätze eingesetzt werden, um die Genauigkeit der dynamischen Kalibrierung des einzelnen Rahmensatzes zu quantifizieren. Diese Metriken, die jetzt im Speicher gespeichert sind, können dann im Rahmenauswahlprozess eingesetzt werden, wie nachstehend beschrieben ist.
  • Bei Operation 325 wird die räumliche Verteilung der Merkmalspunkte in jedem der Kandidaten-Bildrahmen gegen kumulative Merkmalspunkte des Satzes von Kalibrierungsbildrahmensätzen bewertet, die bis dahin ausgewählt wurden. Im Ausführungsbeispiel wird ein gemeinsames 3D-Merkmalspunkt-Histogramm des aktuellen Satzes ausgewählter Bildrahmen S, die für die Mehrbildkalibrierung verwendet werden müssen, und einer der Kandidaten-Bildrahmen Ii berechnet. Wie dargestellt, beginnt die Operation 320 mit dem aktuellen Satz von Bildrahmen S, der nur den Referenz-Bildrahmensatz Iref und nur für Iref berechnete Kalibrierungsparameter aufweist. Für nachfolgend getestete Kandidatenrahmen wird die Operation 320 an dem Referenz-Bildrahmensatz Iref mit den Kalibrierungsparametern durchgeführt, die an dem aktuellen Satz von Bildrahmen S berechnet wurden, der ferner alle erfolgreichen Kandidatenrahmen aufweist, die dem Referenz-Bildrahmensatz Iref (z. B. in der Iterationsschleife, die aus 3B zurückkehrt) hinzugefügt wurden. In einigen Ausführungsbeispielen werden zur Berechnung der Histogramme Bilder in ein gleichförmiges 3D-Szenenraster an Positionen eingeteilt, die durch 2D-Koordinaten (x, y) der Merkmalspunkte auf der Bildebene definiert sind, und ihre Tiefe z und die Merkmalanzahl für jedes Raster wird bestimmt. In einigen anderen Ausführungsformen basiert das Einteilen von Merkmalspunkten auf den 3D-Koordinaten (x, y, z) der triangulierten Bildpunkte. Für solche alternativen Ausführungsformen brauchen die Rasterblöcke im 3D-Raum nicht quaderförmig sein, sondern haben stattdessen eine Form, die durch das Kameraprojektionsmodell definiert wird, das für die Bilderzeugung vorausgesetzt wird. Für eine perspektivische Projektion kann die Rasterform zum Beispiel ein 3D-Trapez oder ein 3D-Kegelstumpf sein, dessen Maßstab linear von der z-Tiefe des Kegelstumpfs im 3D-Raum abhängt.
  • 5A und 5B sind beispielhafte Merkmalsverteilungshistogramme gemäß einem gleichförmigen 3D-Szenenraster. 5A, 5B veranschaulichen Unterschiede in der räumlichen Verteilung von Merkmalen zwischen zwei Bildrahmensätzen. Die x-Achse in 5A und 5B repräsentiert einen 3D-Szenenrasterindex. Für ein 5 x 5-Raster (x, y) befinden sich die ersten 25 Raster in einem nahen Tiefenbereich (z. B. 0 bis 4 m), die zweiten 25 Raster befinden sich in einem mittleren Tiefenbereich (z. B. 4 bis 8 m) und die dritten 25 Raster befinden sich in einem fernen Tiefenbereich (z. B. 8 m oder mehr). Während der Bildrahmensatz, der dem in 5A dargestellten Histogramm zugeordnet ist, Merkmalspunkte (Übereinstimmungen) über einen weiten Bereich von 3D-Tiefen aufweist, weist jede Tiefe relativ wenige Merkmale auf und der Bildrahmensatz weist eine relativ geringe Gesamtmerkmalsanzahl auf. Im Gegensatz dazu weist der Bildrahmensatz, der dem in 5B dargestellten Histogramm zugeordnet ist, dichte Merkmale auf, aber die Merkmalspunkte sind innerhalb des nahen Tiefenbereichs grobkörnig. Bei Operation 320 können die gemeinsamen 3D-Histogramme h(S) und h(Ii) berechnet werden, indem zum Beispiel die Merkmalsanzahl für jedes Nicht-Null-Fach, das für einen Kandidaten des Bildrahmensatzes Ii bestimmt wird, mit der Merkmalsanzahl für jedes entsprechende Raster addiert wird, das für den aktuellen Kalibrierungsbildrahmensatz S bestimmt wird (z. B., das mindestens den Referenz-Bildrahmensatz Iref aufweist). Die kumulativen Merkmalsanzahlen für jedes räumliche Raster können dann in einem elektronischen Speicher gespeichert werden.
  • Bei Operation 330 wird eine Bewertungsmetrik M für jeden Kandidaten-Bildrahmensatz Ii berechnet. In einigen Ausführungsformen basiert die Bewertungsmetrik M auf mindestens einem von: der Anzahl der Merkmalspunkte in jedem Kandidaten-Bildrahmensatz, der von der dynamischen Kalibrierung des Einzelbilddatensatzes bestimmt wurde, die bei Operation 310 durchgeführt wurde (und bei Operation 315 gespeichert wurde); einem Konfidenzmaß in jeden Kandidaten-Bildrahmensatz, das aus der Einzelrahmen-Kalibrierungsroutine (z. B. dem mittleren Korrekturfehler Ei (Ii ), der für die Kalibrierungsparameter bestimmt wurde, der basierend auf dem Kandidatenrahmensatz Ii optimiert und bei Operation 320 gespeichert wurde); oder einer Verteilung der Merkmalspunkte in jedem Kandidaten-Bildrahmensatz (z. B. bei Operation 325 gespeichertes gemeinsames Histogramm). Bei einigen dieser Ausführungsformen ist die bei Operation 330 berechnete Bewertungsmetrik M von mindestens allen drei dieser Faktoren abhängig. Als ein Beispiel gilt: M = α ( # f e a t u r e s   p o i n t s ( I i ) ) + β ( 1 E ( I i ) ) + γ s t d d e v ( ( h ( S ) + h ( I i ) ) > 0 )
    Figure DE102018125739A1_0005
    wobei h(Ii) erneut das Histogramm der Merkmalspunktverteilung als ein Vektor für den Kandidatenbildsatz Ii ist, und die stddev ()-Funktion die Standardabweichung des Index der Nicht-Null-Fächer im gemeinsamen Histogramm des Kandidatenbildsatzes Ii und die aktuell ausgewählte Teilmenge von Bildsätzen S berechnet. Andere Messungen der Merkmalspunktgleichförmigkeit können zusätzlich oder alternativ zu der stddev()-Funktion ebenfalls eingesetzt werden. Zum Beispiel könnte man Schräge in der Form des Gesamthistogramms und/oder einen Füllfaktor aufgrund von Histogrammbalken hinzufügen. Idealerweise sollte die Bewertung eine geringere Schrägengleichheit aller Histogrammbalken begünstigen. Wie aus Gl. 4 offensichtlich ist, steigt die Bewertungsmetrik M mit größerer Gleichförmigkeit der Verteilung, kleinerem Korrekturfehler und höheren Merkmalsanzahlen. Die Parameter (α, β, γ) sind Feineinstellparameter, die diese Komponenten der Optimalitätsmetrik M gewichten. Die Feineinstellparameter können zum Beispiel durch Regressionsanalyse an einem Testsatz von Bildern erhalten werden, wobei die beste Sequenz von hinzuzufügenden Bildern durch einen gierigen Ansatz berechnet wurde.
  • Die Erläuterung der Verfahren 301 unter weiterer Bezugnahme auf 3B fortsetzend, werden die Kandidatenrahmensätze dann gemäß ihrer entsprechenden Bewertungsmetrik M eingestuft, und der nächstbestqualifizierte Kandidaten-Bildrahmensatz Iopt aus dem Pool der Kandidatenbilder Ii , der dem aktuellen Satz aus ausgewählten Bildrahmensätzen S hinzugefügt wird, ist: I o p t = max I i ( I 1 , ,I n ) & S [ M ]
    Figure DE102018125739A1_0006
  • Die Verfahren 301 fahren bei Operation 340 fort, wo der aktuelle Satz ausgewählter Bildrahmensätze S dann aktualisiert wird, um diesen nächstbestqualifizierten Kandidaten-Bildrahmensatz Iopt weiter einzuschließen. Daher soll das Referenzbild iterativ mit diesem nächstbestqualifizierten Kandidaten-Bildrahmensatz ergänzt werden. Bei Operation 345 wird die dynamische Kalibrierung, die an einem einzelnen Bildrahmensatz bei Operation 310 durchgeführt wurde, nun mit dem aktuellen Satz ausgewählter Bildrahmensätze S durchgeführt, der eine Sequenz von Rahmen umfasst, die mit den Referenz-Bildrahmensätzen Iref beginnt und einen oder mehrere der nächstbestqualifizierten Kandidaten-Bildrahmensätze Iopt (abhängig davon, wie viele Durchläufe durch die Verfahren 301 bisher Stattgefunden haben) aufweist. Die bei der Operation 345 durchgeführte dynamische Kalibrierung ist daher eine dynamische Mehrbild-Kalibrierung im Gegensatz zu den bei Operation 310 durchgeführten dynamischen Einzelbild-Kalibrierungen. Operation 345 ist daher ein veranschaulichendes Beispiel für die Operation 215, die im Kontext der Verfahren 201 (2) eingeführt wurde.
  • In einigen Ausführungsbeispielen wird die dynamische Mehrbild-Kalibrierungsoperation 345 gemäß den Verfahren 401 durchgeführt, jedoch mit den oben beschriebenen Einschränkungen im Kontext der dynamischen Mehrbild-Kalibrierungsoperation 215. Da der aktuelle Satz ausgewählter Bildrahmensätze S über längere Zeiträume aufgenommen worden sein kann, kann davon ausgegangen werden, dass der aktuelle Satz ausgewählter Bildrahmensätze S ein Ergebnis eines eindeutigen Satzes intrinsischer und extrinsischer Parameter ist. Gemäß einigen Ausführungsformen wird jedoch eine Teilmenge der Kalibrierungsparameter, die am wahrscheinlichsten stabil bleiben, über den aktuellen Satz ausgewählter Bildrahmensätze S verteilt. Es wird davon ausgegangen, dass diese niederfrequenten Parameter während der Bündelanpassung gleich sind, weil sie am wenigsten anfällig für drastische Veränderungen innerhalb von Zeiträumen sind, die von dem aktuellen Satz ausgewählter Bildrahmensätze S überspannt werden. Niederfrequente Parameter können zum Beispiel diejenigen einschließen, die mit der Pose zwischen jeder Mehrkamera in Zusammenhang stehen. Demgegenüber werden die hochfrequenten Kalibrierungsparameter, wie diejenigen, die der intrinsischen Matrix K zugeordnet sind, während der dynamischen Kalibrierung als eindeutig behandelt.
  • Unter Berücksichtigung von N Mehrbild-Rahmensätzen mit jeweils C-Bildern/Kameras. Für jeden der N Bildrahmensätze können die Anfangswerte (z. B. von einer Werkskalibrierung), die vier intrinsische Parameter, fünf Verzerrungsparameter und sechs extrinsische Parameter aufweisen, in Verbindung mit jeder der C-Kameras im Mehrkamerasystem gespeichert werden (z. B. in einer Eingabedatei). In einem Beispiel, in dem C = 2 für Stereokameras und N = 10 für Bildsätze gilt, weist diese Eingabedatei 15 x 2 x 10 = 300 Parametereinträge auf. Zu jedem Parametereintrag wird ein Label von 0 oder 1 hinzugefügt, abhängig davon, ob es sich um niederfrequente (z. B. 0) oder hochfrequente (z. B. 1) Parameter handelt. Zur Bündelanpassung werden 3D-Punkte für jeden der N Bildrahmensätze über den Satz gespeicherter Kalibrierungsparameter auf entsprechende 2D-Merkmalspositionen projiziert. Falls für die Mehrbildaufnahme das Label eines Kalibrierungsparameters 0 ist (d. h. niederfrequent ist), dann wird der Wert dieses Parameters für alle Kandidatenrahmensätze auf den Referenzkamerawert eingestellt. Selbst wenn also der 1., 2., 3., ..., N-te Bildrahmensatz projiziert wird, entspricht der Anfangsparameterwert dem Referenzbild (in diesem Beispiel dem 0-ten Bildrahmensatz). Dies stellt sicher, dass es nur einen möglichen Wert für einen niederfrequenten Parameter aus den N möglichen Anfangswerten gibt. Wenn das Label eines Kalibrierungsparameters dagegen 1 ist (d. h. ein hochfrequenter Parameter ist), dann wird der Parameterwert, der dieser bestimmten Kamera in diesem bestimmten Bildrahmensatz entspricht, in der Bündelanpassung verwendet. Daher verwendet die Projektionsgleichung für einen beliebigen der N Bildrahmensätze nur die Parameter des Referenz-Bildrahmensatzes (0-te), und somit wird der Pixel-Neuprojektionsfehler über die unterschiedlichen Szenenaufnahmen ausgebreitet ein tatsächlicher Nutzen und kann durch die Anhäufung von Merkmalspunkten aus der Vielzahl von Bildrahmensätzen gezogen werden.
  • Die Kamerakalibrierungsparameter, die durch die dynamische Mehrbild-Kalibrierung für die Rahmensatzauswahl geschätzt werden, die den nächstbestqualifizierten Kandidaten-Bildrahmensatz Iopt aufweist, werden dann bei Operation 350 gemäß einer Zielfehlerfunktion beurteilt, die mit diesen geschätzten Kamerakalibrierungsparametern verknüpft ist. In einigen Ausführungsbeispielen wird der mittlere Korrekturfehler in dem Referenz-Bildrahmensatz für die Kalibrierungsparameter bestimmt, die durch die dynamische Mehrbild-Kalibrierung (Eref(S)) geschätzt werden, die als Teil der dynamischen Kalibrierungsoperation 345 (z. B. gemäß der Validierungsoperation 430 in 4) berechnet werden kann. Dieser Fehler kann mit einem mittleren Basislinien-Korrekturfehler in dem Referenzbildrahmensatz Eref (Iref ) verglichen werden, der einem oder mehreren aktuellen Kalibrierungsparametern zugeordnet ist (z. B. der bei Operation 320 (3A) gespeichert wurde). Wenn der mittlere Korrekturfehler bei Iref reduziert wurde (d. h. Eref (S) ist < Eref (Iref)), dann wird Eref (Iref ) bei Operation 370 auf Eref (S) aktualisiert und der nächstbestqualifizierte Kandidaten-Bildrahmensatz Iopt wird bei Operation 375 aus dem Kandidatenpool entfernt, weil er nun ausgewählt und in die Teilmenge der Kandidatenbilder aufgenommen wurde, die in der Kalibrierungsbildsequenz eingesetzt wird.
  • Die Verfahren 301 fahren dann mit einer nachfolgenden Iteration fort, die bei Operation 325 zu 3A zurückkehrt, wo ein neues gemeinsames Histogramm für die verbleibenden Kandidaten-Bildrahmensätze und den aktuellen Satz des aktuellen Satzes ausgewählter Bildrahmensätze S berechnet wird (der nun den nächstbestqualifizierten Kandidaten-Bildrahmensatz Iopt von der letzten Iteration aufweist). Die verbleibenden Kandidatenbildsätze werden dann im Hinblick auf den aktuellen Satz ausgewählter Bildrahmensätze S erneut bewertet (Operation 330), und die Operationen 335 bis 350 (3B) werden wiederholt, wobei Kandidaten der Bildrahmensätze basierend auf der Bewertungsmetrik M nacheinander iterativ hinzugefügt werden, die variiert, wenn der nächstbestqualifizierte Kandidaten-Bildrahmensatz aus dem Kandidatenpool ausgewählt wird. Die iterative Sequenzierung der nächstbestqualifizierten Kandidaten-Bildrahmensätze Iopt in die ausgewählten Bildrahmensätze S stellt sicher, dass eine minimale Anzahl der meistqualifizierten Kandidaten-Bildrahmensätze den Referenz-Bildrahmensatz ergänzt.
  • Die iterative Sequenzierung der ausgewählten Bildrahmensätze S wird fortgesetzt, während Kamerakalibrierungsparameter, die aus den ausgewählten Bildrahmensätzen S bestimmt wurden, zu einem mittleren Korrekturfehler in dem Referenz-Bildrahmensatz führen, der kleiner als der mittlere Basislinien-Korrekturfehler ist. Unter der Bedingung, dass der mittlere Korrekturfehler bei Iref nicht reduziert wurde (d. h., Eref(S) ist nicht < Eref(Iref)), wird der endgültige nächstbestqualifizierte Kandidaten-Bildrahmensatz Iopt von dem Satz ausgewählter Bildrahmensätze S entfernt und die Verfahren 301 enden bei Operation 360. Die Kamerakalibrierungsparameter, die aus der letzten erfolgreichen Iteration durch Operation 345 bestimmt wurden, werden dann als die dynamische Mehraufnahme-Mehrbild-Kalibrierungsparameterwert-Ausgabe der Verfahren 301 gespeichert. Diese Parameterwerte können dann, zum Beispiel wie weiter oben im Kontext der Verfahren 201 (2) beschrieben, aufgelistet werden, um den Referenzbildrahmen mit den optimierten Kalibrierungsparameterwerten zu verarbeiten.
  • 6 ist ein Blockdiagramm einer Systemplattform 600, die mehrere Kameras und einen Prozessor aufweist, der betrieben werden kann, um Mehrbild-Mehraufnahme-Kalibrierungsverfahren gemäß einigen Ausführungsformen zu implementieren. 6 veranschaulicht ferner, wie eine Systemplattform oder -vorrichtung konfiguriert sein können, um eine dynamische Mehrbild-Mehrkamera-Kalibrierung auszuführen, zum Beispiel zum Feinabstimmen von Kamerakalibrierungsparametern, die durch die Plattform zum Verarbeiten der durch die Plattform gesammelten Bilder aufgeführt sind.
  • Die Plattform 600 weist die CM 607, 608 und 609 auf. Bei der beispielhaften Ausführungsform weist das CM 607 ferner einen Kamerasensor 657 auf, das CM 608 weist ferner einen Kamerasensor 658 auf und das CM 509 weist ferner einen Kamerasensor 659 auf. Die Sensoren 657 bis 659 können zum Beispiel jeweils ein digitales Bildgerät im QXGA-, WQXGA- oder QSXGA-Format sein. Einer oder mehrere der Kamerasensoren 657 bis 659 können eine Farbauflösung von 10 Bit oder mehr pro Pixel bereitstellen, und können betrieben werden, um Standbilder und durchgehende Videorahmen progressiv aufzunehmen. Die Sensoren 657 bis 659 können eine beliebige Pixelfrequenz aufweisen. Die Kamerasensoren 657 bis 659 können einen RGB-Bayer-Farbfilter, einen Analogverstärker, einen A/D-Wandler und andere Komponenten zum Umwandeln von einfallendem Licht in ein digitales Signal aufweisen, das Rohbildrahmendaten entspricht. Die Sensoren 657 bis 659 können so gesteuert werden, dass sie einen Rollverschluss- oder elektronischen Schlitzverschlussprozess betätigen, bei dem Pixel progressiv zeilenweise für einen Rahmen ausgelesen werden. In Ausführungsbeispielen geben die Sensoren 657 bis 659 Bildrahmendaten an den ISP 675 aus. Der ISP 675 dient zum Empfangen und Analysieren von Rahmen aus Rohvideodaten, zum Beispiel während den horizontalen und/oder vertikalen Austastlücken, die den CM 607 bis 609 zugeordnet sind. Während der Verarbeitung von Rohbilddaten kann der ISP 675 zum Beispiel eines oder mehrere von Rauschreduzierung, Pixellinearisierung und Schattenkompensation durchführen.
  • Verarbeitete Bildrahmendaten können in FIFO-Weise gepuffert werden, zum Beispiel mit einem Ringpuffer. Der DSP 685 soll temporär korrelierte (gleichzeitig aufgenommene) Sätze von in dem Puffer der CM 607 bis 609 empfangenen Bildrahmen abrufen, bevor neue von den CM 607 bis 609 ausgegebene Bildrahmen diese überschreiben. Der DSP 685 kann ferner Sätze der Bildrahmen basierend auf einem oder mehreren Computer Vision-Algorithmen verarbeiten. Aktualisierte Kamerakalibrierungsparameter für den Referenzrahmensatz, der verarbeitet wird, können in den DSP 685 zur Verwendung bei der auf Computer Vision basierenden Verarbeitung des Bildrahmensatzes eingegeben werden. Verarbeitete Bildrahmensätze können ferner an die Speicher-/Anzeige-/ Übertragungs-Pipeline 695 gesendet werden. Bei einem Speicherpipeline-Ausführungsbeispiel werden aufgenommene Bildrahmensätze und/oder auf Computer Vision basierende verarbeitete Bildrahmen an einen Direktspeicher/Arbeitsspeicher 620 (z. B. NVR, DRAM usw.) ausgegeben, der separat oder Teil eines Hauptspeichers 615 sein kann, auf den die CPU/APU 650 zugreifen kann. Alternativ oder zusätzlich dazu kann die Speicher-/Anzeige-/Übertragungs-Pipeline 695 aufgenommene Bildrahmensätze und/oder auf Computer Vision basierende verarbeitete Bildrahmen von der Geräteplattform 600 übertragen. Alternativ oder zusätzlich dazu soll die Speicher-/Anzeige-/Übertragungs-Pipeline 695 aufgenommene Bildrahmensätze und/oder durch Computer Vision verarbeitete Bildrahmen an einen Anzeigebildschirm (nicht dargestellt) der Geräteplattform 600 übertragen.
  • Die CM 607 bis 609 können durch Teilsystemtreiber 615 innerhalb eines Kernel-Raums eines Betriebssystems (OS) gesteuert werden, das von einer zentralen Verarbeitungseinheit (CPU) oder einer Anwendungsverarbeitungseinheit (APU) 650 instanziiert wird. Der Zugriff auf die aufgenommenen Rahmensätze kann (z. B. als Ausgabe vom ISP 675 und/oder wie im Hauptspeicher 615 gespeichert) an die dynamische Kalibrierungslogik 610 bereitgestellt werden, die innerhalb einer Anwendungsschicht ausgeführt werden kann, die in einem Benutzerraum des OS oder auf Kernel-Ebene des OS ausgeführt wird. Die dynamische Kalibrierungslogik 610 kann zusammen mit der Bildbewertungs- und -auswahllogik 611 implementiert werden, um die oben beschriebenen dynamischen Mehrbild-Mehrkamera-Kalibrierungsverfahren auszuführen. Die zugehörigen Kamerakalibrierungsparameter 651 können in einem Speicher 615 einer entsprechenden Referenz-Bildrahmensatz-Kennung zugeordnet gespeichert werden. Die mit der dynamischen Kalibrierung verknüpften Zwischenmetriken (z. B. Merkmalspunktzählung, Verteilung, Fehlermetrik usw.) können auch in Verbindung mit einer entsprechenden Bildrahmensatz-Kennung gespeichert werden. Die Bildbewertungs- und - auswahllogik 611 kann auch innerhalb einer Anwendungsschicht ausgeführt werden, die in einem Benutzerraum des OS oder auf der Kernel-Ebene des OS ausgeführt wird. Eine dynamische Kalibrierungslogik 610 und/oder eine Bildbewertungs- und -auswahllogik 611 können auch durch eine Logikschaltung mit fester Funktion implementiert sein. Eine solche Logikschaltung mit fester Funktion kann zum Beispiel einen Abschnitt der CPU/APU 650 umfassen. Ausführungsformen, die eine Logik mit fester Funktion einsetzen, sind gut geeignet, um eine Mehrbild-Mehrkamera-Kalibrierung mit der Geschwindigkeit einer auf Computer Vision basierenden Bildverarbeitung durchzuführen, die durch den DSP 685 durchgeführt wird, während ein Minimum an Energie verbraucht wird. Bei alternativen Ausführungsformen jedoch, oder jedem bekannten programmierbaren Prozessor, einschließlich DSP 685, können ein Kern der CPU/APU 650, eine Ausführungseinheit eines (nicht dargestellten) Grafikprozessors oder ein anderer ähnlicher Vektorprozessor zum Implementieren der dynamischen Kalibrierungslogik 610 und der Bildbewertungs- und - auswahllogik 611 benutzt werden, um eines der oben beschriebenen Verfahren 201, 301 oder 401 durchzuführen.
  • 7 ist ein Diagramm eines beispielhaften extrem sparsamen Leistungssystems 700, das eine dynamische Mehrbild-Mehrkamera-Kalibrierungsarchitektur gemäß einigen Ausführungsformen einsetzt. Das System 700 kann ein mobiles Gerät sein, obwohl das System 700 nicht auf diesen Kontext beschränkt ist. Zum Beispiel kann das System 700 in einem tragbaren Computergerät, einem Ultra-Laptop-Computer, einem Tablet, einem Touchpad, einem Handheld-Computer, einem Palmtop-Computer, einem Mobiltelefon, einem Smart-Gerät (z. B. Smartphone, Smart-Tablet oder Mobil-TV), mobilem Internet-Gerät (MID), Messaging-Gerät, Datenkommunikationsgerät und so weiter eingebaut sein. Das System 700 kann auch ein Infrastrukturgerät sein. Zum Beispiel kann das System 700 in ein großformatiges Fernsehgerät, eine Set-Top-Box, einen Desktop-Computer oder ein anderes Heim- oder kommerzielles Netzwerkgerät eingebaut sein.
  • Das System 700 weist eine Geräteplattform 702 auf, die alle oder eine Teilmenge der dynamischen Mehrbild-Mehrkamera-Kalibrierungsverfahren implementieren kann, die oben im Kontext von 1 bis 5C beschrieben wurden. In verschiedenen Ausführungsbeispielen führt der zentrale Prozessor 710 dynamische Mehrbild-Mehrkamera-Kalibrierungsalgorithmen aus. Zum Beispiel weist der Zentralprozessor 710 eine Logikschaltung auf, die ein dynamisches Mehrbild-Mehrkamera-Kalibrierungssystem 717 implementiert, um einen oder mehrere Kamerakalibrierungsparameterwerte basierend auf Bildrahmendaten zu kalibrieren, die von den CM 607 bis 609 ausgegeben werden, wie zum Beispiel anderswo hierin beschrieben ist. In einigen Ausführungsformen können eines oder mehrere computerlesbare Medien Anweisungen speichern, die, wenn sie von der CPU 710 und/oder dem Bild-/Grafikprozessor 715 ausgeführt werden, den Prozessor (die Prozessoren) dazu veranlassen, einen oder mehrere dynamische Mehrbild-Mehrkamera-Kalibrierungsalgorithmen auszuführen, wie einen der oben ausführlich beschriebenen. Einer oder mehrere Bilddatenrahmen, die durch die CM 607 bis 609 belichtet werden, können dann in einem Speicher 712 als durch einen Computer Vision-Algorithmus verarbeitet, der durch die CPU 710 und/oder den Bild-/Grafikprozessor 715 basierend auf einem oder mehreren dynamisch kalibrierten Kameraparametern ausgeführt wird, gespeichert werden.
  • In Ausführungsformen ist die Geräteplattform 702 mit einem menschlichen Schnittstellengerät (Human Interface Device - HID) 720 gekoppelt. Die Plattform 702 kann Rohbilddaten mit den CM 607-609 sammeln, die verarbeitet und an das HID 720 ausgegeben werden. Eine Navigationssteuerung 750, die ein oder mehrere Navigationsmerkmale aufweist, kann verwendet werden, um zum Beispiel mit der Geräteplattform 702 und/oder dem HID 720 zu interagieren. In Ausführungsformen kann das HID 720 jeden beliebigen Monitor oder jede beliebige Anzeige von Fernsehtyp aufweisen, der/die über Funk 718 und/oder ein Netzwerk 760 mit der Plattform 702 gekoppelt ist. Das HID 720 kann zum Beispiel einen Computeranzeigebildschirm, eine Berührungsbildschirmanzeige, einen Videomonitor, eine fernsehähnliche Vorrichtung und/oder einen Fernseher aufweisen.
  • Unter der Steuerung einer oder mehrerer Softwareanwendungen 716 kann die Geräteplattform 702 die Benutzerschnittstelle 722 auf dem HID 720 anzeigen. Bewegungen der Navigationsmerkmale der Steuerung 750 können auf einer Anzeige (z. B. dem HID 720) durch Bewegungen eines Zeigers, Cursors, Fokusrings oder anderer auf der Anzeige angezeigter visueller Indikatoren wiedergegeben werden. Zum Beispiel können unter der Steuerung von Softwareanwendungen 716 die auf der Navigationssteuerung 750 angeordneten Navigationsmerkmale auf virtuelle Navigationsmerkmale abgebildet werden, die auf der Benutzerschnittstelle 722 angezeigt werden.
  • In Ausführungsformen kann die Geräteplattform 702 jede Kombination von CM 607 bis 609, Chipsatz 705, Prozessoren 710, 715, Direktspeicher/Arbeitsspeicher 712, Anwendungen 716 und/oder Funkgerät 718 aufweisen. Der Chipsatz 705 kann eine Kommunikation zwischen Prozessoren 710, 715, Speicher 712, Videoprozessor 715, Anwendungen 716 oder Funkgerät 718 bereitstellen. Einer oder mehrere von Prozessoren 710, 715 können als ein oder mehr Complex Instruction Set Computer (CISC) oder Reduced Instruction Set Computer (RISC)-Prozessoren, x86-instruktionssatzkompatible Prozessoren, Multi-Core oder als irgendein anderer Mikroprozessor oder zentrale Verarbeitungseinheit (CPU) implementiert sein. Der Speicher 712 kann als eine flüchtige Arbeitsspeichervorrichtung implementiert sein, wie zum Beispiel ein Direktzugriffsspeicher (RAM), ein dynamischer Direktzugriffsspeicher (DRAM) oder ein statischer RAM (SRAM), ist aber nicht darauf beschränkt. Der Speicher 712 kann auch als eine nicht flüchtige Speichervorrichtung implementiert sein, wie zum Beispiel Flash-Speicher, batteriegepufferter SDRAM (synchroner DRAM), Magnetspeicher, Phasenänderungsspeicher und dergleichen, ist aber nicht darauf beschränkt. Das Funkgerät 718 kann ein oder mehrere Funkgeräte aufweisen, die unter Verwendung verschiedener geeigneter drahtloser Kommunikationstechniken Signale senden und empfangen können. Solche Techniken können Kommunikationen über ein oder mehrere drahtlose Netzwerke einschließen. Beispielhafte drahtlose Netzwerke umfassen (sind jedoch nicht beschränkt auf) drahtlose lokale Netzwerke (WLANs), drahtlose persönliche Bereichsnetzwerke (WPANs), drahtlose Stadtnetzwerke (Metropolitan Area Network, WMAN), zellulare Netzwerke und Satellitennetzwerke. Bei der Kommunikation über solche Netzwerke kann das Funkgerät 618 in Übereinstimmung mit einem oder mehreren anwendbaren Standards in jeder beliebigen Version arbeiten.
  • In einigen Ausführungsformen ist das System 700 als ein drahtloses System, ein verdrahtetes System oder eine Kombination aus beiden implementiert. Wenn als drahtloses System implementiert, kann das System 700 Komponenten und Schnittstellen aufweisen, die zum Kommunizieren über ein drahtloses gemeinsames Medium geeignet sind, wie zum Beispiel eine oder mehrere Antennen, Sender, Empfänger, Transceiver, Verstärker, Filter, Steuerlogik und so weiter. Ein Beispiel für ein drahtloses gemeinsames Medium kann Teile eines drahtlosen Spektrums einschließen, wie z. B. das HF-Spektrum und so weiter. Wenn als verdrahtetes System implementiert, kann das System 700 Komponenten und Schnittstellen aufweisen, die für die Kommunikation über verdrahtete Kommunikationsmedien wie Eingabe/Ausgabe-(I/O-)Adapter, physische Anschlüsse zum Anschließen des I/O-Adapters mit einem entsprechenden drahtgebundenen Kommunikationsmedium, eine Netzwerkschnittstellenkarte (NIC), Plattenlaufwerksteuerung, Video-Controller, Audio-Controller und dergleichen geeignet sind. Beispiele für verdrahtete Kommunikationsmedien können einen Draht, ein Kabel, Metallleiter, eine gedruckte Leiterplatte (PCB), eine Rückwandplatine, ein Schaltergewebe, ein Halbleitermaterial, einen verdrillten Doppelleiter, ein Koaxialkabel, eine Faseroptik und so weiter einschließen.
  • Die dynamische Mehrbild-Mehrkamera-Kalibrierungsarchitektur und zugehörige Kalibrierungsalgorithmen und -verfahren, wie sie hierin beschrieben sind, können in verschiedenen Hardwarearchitekturen, Zellausgestaltungen oder „IP-Kernen“ implementiert sein.
  • Wie oben beschrieben, können die Systeme 600 oder 700 in variierenden physischen Style- oder Formfaktoren ausgeführt sein. 8 zeigt ferner Ausführungsformen eines mobilen Handset-Geräts 800, in dem das System 700 verkörpert sein kann. In Ausführungsformen kann die Vorrichtung 800 zum Beispiel als ein mobiles Computergerät mit drahtlosen Fähigkeiten implementiert sein. Ein mobiles Computergerät kann sich auf jedes Gerät beziehen, das ein Verarbeitungssystem und eine mobile Energiequelle oder -versorgung, wie zum Beispiel eine oder mehrere Batterien, aufweist. Beispiele eines mobilen Computergeräts können einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Handheld-Computer, einen Palmtop-Computer, einen Personal Digital Assistant (PDA), ein Mobiltelefon, eine Kombination aus Mobiltelefon/PDA, einen Fernseher, ein Smart-Gerät (z. B. Smartphone, Tablet oder Smart-TV), ein mobiles Internet-Gerät (MID), ein Messaging-Gerät, ein Datenkommunikationsgerät und so weiter aufweisen. Beispiele für ein mobiles Computergerät können auch Computer und/oder Medienerfassungs-/- übertragungsgeräte einschließen, die zum Tragen von einer Person konfiguriert sein können, wie einen Handgelenkcomputer, einen Fingercomputer, einen Ringcomputer, einen Brillencomputer, einen Gürtelclipcomputer, einen Armbandcomputer, Schuhcomputer, Bekleidungscomputer und andere tragbare Computer. In verschiedenen Ausführungsformen kann zum Beispiel ein mobiles Computergerät als ein Smartphone implementiert sein, das Computeranwendungen sowie Sprachkommunikationen und/oder Datenkommunikationen ausführen kann. Obwohl einige Ausführungsformen mit einem mobilen Computergerät beschrieben werden können, das beispielhaft als Smartphone implementiert ist, versteht es sich, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Computergeräte implementiert werden können. Die Ausführungsformen sind in diesem Kontext nicht eingeschränkt.
  • Wie in 8 gezeigt, kann das mobile Handset-Gerät 800 ein Gehäuse mit einer Vorderseite 801 und einer Rückseite 802 aufweisen. Das Gerät 800 weist eine Anzeige 804, eine Eingabe-/Ausgabe- (I/O-) Vorrichtung 806 und eine integrierte Antenne 808 auf. Das Gerät 800 kann auch Navigationsmerkmale 812 aufweisen. Die Anzeige 804 kann jede geeignete Anzeigeeinheit zum Anzeigen von Informationen aufweisen, die für ein mobiles Computergerät geeignet sind. Die I/O-Vorrichtung 806 kann jede geeignete I/O-Vorrichtung zur Eingabe von Informationen in ein mobiles Computergerät aufweisen. Beispiele für die I/O-Vorrichtung 806 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Touchpad, Eingabetasten, Knöpfe, Schalter, Mikrofone, Lautsprecher, Spracherkennungsgeräte und Software und so weiter einschließen. Informationen können auch über ein Mikrofon (nicht gezeigt) in das Gerät 800 eingegeben werden oder können durch ein Spracherkennungsgerät digitalisiert werden. Ausführungsformen sind in diesem Kontext nicht eingeschränkt. In mindestens der Rückseite 802 sind mehrere Kameras 805 (z. B. mit jeweils einem Objektiv, einer Blende und einem Abbildungssensor) und ein Blitz 810 integriert, die alle Komponenten eines oder mehrerer CM sein können, durch die Bildrahmendaten belichtet und an das dynamische Mehrbild-Mehrkamera-Kalibrierungssystem ausgegeben werden, wie hierin an anderer Stelle beschrieben.
  • Hier beschriebene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination von beiden implementiert werden. Beispiele für Hardwareelemente oder -module schließen die Folgenden ein: Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbare Gatearrays (FPGA), Logikgates, Register, Halbleiterbauelemente, Chips, Mikrochips, Chipsätze und so weiter. Beispiele für Softwareelemente oder -module schließen die Folgenden ein: Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Routinen, Unterroutinen, Funktionen, Verfahren, Abläufe, Softwareschnittstellen, Anwendungsprogrammierschnittstellen (API), Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Datenwörter, Werte, Symbole oder beliebige Kombinationen daraus. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert ist, kann gemäß jeder Anzahl von Faktoren variieren, die für die Wahl der Ausgestaltung in Betracht gezogen werden, wie: gewünschte Berechnungsrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Ausgestaltungs- oder Leistungsbeschränkungen, aber nicht darauf beschränkt.
  • Einer oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Anweisungen implementiert werden, die auf einem maschinenlesbaren Speichermedium gespeichert sind. Solche Anweisungen können sich vollständig oder zumindest teilweise in einem Hauptspeicher und/oder in einem Prozessor während ihrer Ausführung durch die Maschine befinden, wobei der Hauptspeicher und die Prozessorbereiche, welche die Anweisungen speichern, dann auch ein maschinenlesbares Speichermedium bilden. Programmierbare Logikschaltungen können Register, Zustandsmaschinen usw. aufweisen, die von dem Prozessor konfiguriert sind, der die computerlesbaren Medien implementiert. Unter einer solchen Logikschaltung, wie programmiert, kann dann verstanden werden, dass sie physisch in ein System umgewandelt wird, das in den Schutzbereich der hierin beschriebenen Ausführungsformen fällt. Anweisungen, die verschiedene Logik innerhalb des Prozessors repräsentieren, können, wenn sie von einer Maschine gelesen werden, auch dazu führen, dass die Maschine Logik herstellt, die den hierin beschriebenen Architekturen entspricht, und/oder die hierin beschriebenen Techniken ausführt. Solche als Zellausgestaltungen oder IP-Kerne bekannten Darstellungen können auf einem konkreten, maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, um sie in die Fertigungsmaschinen zu laden, welche die Logik oder den Prozessor tatsächlich herstellen.
  • Während gewisse hierin dargelegte Merkmale mit Bezug auf Ausführungsformen beschrieben wurden, soll diese Beschreibung nicht in einem einschränkenden Sinn ausgelegt werden. Daher werden verschiedene Modifikationen der hierin beschriebenen Implementierungen sowie andere Implementierungen, die für den Fachmann auf dem Gebiet, auf das sich die vorliegende Offenbarung bezieht, offensichtlich sind, als innerhalb des Geistes und Schutzumfangs der vorliegenden Offenbarung liegend angesehen.
  • Die folgenden Absätze beschreiben kurz einige Ausführungsbeispiele:
  • In ersten Ausführungsformen umfasst ein Kamerakalibrierungsverfahren das Sammeln mehrerer Bildrahmensätze, wobei jeder Bildrahmensatz zwei oder mehr Bildrahmen einer einzelnen Szene umfasst, die mit zwei oder mehr Kameras aufgenommen werden. Das Verfahren umfasst das Bewerten der mehreren Bildrahmensätze. Das Verfahren umfasst das Auswählen von zwei oder mehr der Bildrahmensätze basierend auf der Bewertung und einer objektiven Fehlerfunktion, die den Kamerakalibrierungsparametern zugeordnet ist, die aus der Bildrahmensatz-Auswahl bestimmt wird. Das Verfahren umfasst das Aktualisieren eines oder mehrerer Kamerakalibrierungsparameter basierend mindestens teilweise auf den ausgewählten Bildrahmensätzen.
  • In zweiten Ausführungsformen umfasst das Aktualisieren eines oder mehrerer Kamerakalibrierungsparameter für jede der ersten Ausführungsformen ferner das Klassifizieren einer ersten Teilmenge der Kamerakalibrierungsparameter als niederfrequente Parameter, das Klassifizieren einer zweiten Teilmenge der Kamerakalibrierungsparameter als hochfrequente Parameter, und das Ausführen, an den ausgewählten Bildrahmensätzen, einer Kalibrierungsroutine mit niederfrequenten Parameterwerten, die für alle ausgewählten Rahmensätze gelten, und mit hochfrequenten Parameterwerten, die für alle der ausgewählten Rahmensätze eindeutig sind.
  • In dritten Ausführungsformen umfasst das Auswählen der Bildrahmensätze für jede der ersten bis zweiten Ausführungsformen ferner das Bestimmen eines Basislinien-Korrekturfehlers in einem Referenz-Bildrahmensatz, der einem oder mehreren aktuellen Kalibrierungsparametern zugeordnet ist. Das Auswählen der Bildrahmensätze umfasst ferner das iterative Hinzufügen der Bildrahmensätze zu dem Referenzbildsatz von Kandidaten, die sequentiell auf der Bewertung basieren, bis die Kamerakalibrierungsparameter, die aus den Referenz- und Kandidatenbildsätzen bestimmt wurden, zu einem Korrekturfehler in dem Referenz-Bildrahmensatz führen, der nicht kleiner als der Basislinien-Korrekturfehler ist.
  • In vierten Ausführungsformen umfasst der Referenz-Bildrahmensatz für jede der dritten Ausführungsformen einen Satz der mehreren, der zuletzt von den Kameras aufgenommen wurde.
  • In fünften Ausführungsformen umfasst das Bewerten der Bildrahmensätze ferner unabhängiges Ausführen einer Einzelrahmen-Kalibrierungsroutine an jedem der Rahmensätze, und Bestimmen, aus der Einzelrahmen-Kalibrierungsroutine, mindestens eines von: einer Anzahl von Merkmalspunkten in jedem der Bildrahmensätze; einer 3D-Verteilung der Merkmalspunkte in jedem der Bildrahmensätze für die aufgenommene Szene; oder einem Konfidenzmaß in jedem der Bildrahmensätze.
  • In sechsten Ausführungsformen basiert die Bewertung für jede der fünften Ausführungsformen auf der Anzahl von Merkmalspunkten und der Verteilung der Merkmalspunkte und dem Konfidenzmaß.
  • In siebten Ausführungsformen basiert die Bewertung mindestens auf der Verteilung der Merkmalspunkte und die Verteilung der Merkmalspunkte für jeden der Bildrahmensätze basiert auf einem gemeinsamen Histogramm eines Kandidaten der Bildrahmensätze und dem Referenz-Bildrahmensatz.
  • In achten Ausführungsformen umfasst das Verfahren nach einer der siebten Ausführungsformen ferner das Bestimmen des Histogramms durch Einteilen der Merkmalspunkte gemäß ihrer Position innerhalb eines 3D-Szenenraums, der in Würfel oder Kegelstümpfe unterteilt ist.
  • In neunten Ausführungsformen basiert die Bewertung für eine der achten Ausführungsformen auf dem Konfidenzmaß in dem Bildsatz, und das Verfahren umfasst ferner das Bestimmen des Konfidenzmaßes für Kandidaten der Bildrahmensätze durch Berechnen eines mittleren Korrekturfehlers für die Kandidaten der Bildrahmensätze.
  • In zehnten Ausführungsformen umfasst das Aktualisieren der Kamerakalibrierungsparameter für eine der ersten bis neunten Ausführungsformen ferner das Aktualisieren von intrinsischen und extrinsischen Parametermatrizen für mindestens eine der Kameras, und das Verfahren umfasst ferner das Ausführen eines Computer Vision-Algorithmus basierend auf den aktualisierten Parametermatrizen; und das Ausgeben eines oder mehrerer Attribute, die basierend auf dem Computer Vision-Algorithmus berechnet werden, an eine Anzeige.
  • In elften Ausführungsformen sind für jede der ersten bis neunten Ausführungsformen die Bildrahmensätze einer Aufnahmerate zugeordnet, und die Aktualisierung eines oder mehrerer Kamerakalibrierungsparameter erfolgt bei einer Rate, die mindestens der Aufnahmerate entspricht.
  • In zwölften Ausführungsformen umfasst ein Kamerakalibrierungssystem eines oder mehrere Kamera-Hardwaremodule (CM), aufweisend zwei oder mehr Kameras zum Sammeln mehrerer Bildrahmensätze, wobei jeder Bildrahmensatz zwei oder mehr Bildrahmen einer einzelnen Szene umfasst, die mit den Kameras aufgenommen wurde. Das System umfasst einen oder mehrere Prozessoren, die mit dem CM gekoppelt sind. Die Prozessoren bewerten jeden der mehreren Bildrahmensätze, wählen zwei oder mehr der Bildrahmensätze basierend auf den Bewertungen und einer objektiven Fehlerfunktion aus, die den Kamerakalibrierungsparametern zugeordnet ist, die aus der Bildrahmensatzauswahl bestimmt werden, und aktualisieren eine oder mehrere Kamerakalibrierungsparameter, die mindestens teilweise auf den ausgewählten Bildrahmensätzen basieren.
  • In dreizehnten Ausführungsformen dient der Prozessor für eine der zwölften Ausführungsformen zum: Klassifizieren einer ersten Teilmenge der Kamerakalibrierungsparameter als niederfrequente Parameter, Klassifizieren einer zweiten Teilmenge der Kamerakalibrierungsparameter als hochfrequente Parameter, und Ausführen, an den ausgewählten Bildrahmensätzen, einer Kalibrierungsroutine mit niederfrequenten Parameterwerten, die für alle der ausgewählten Rahmensätze gelten, und mit hochfrequenten Parameterwerten, die für alle der ausgewählten Rahmensätze eindeutig sind.
  • In vierzehnten Ausführungsformen dient der Prozessor für eine der elften bis dreizehnten Ausführungsformen zum: Bestimmen eines Basislinien-Korrekturfehlers in einem Referenz-Bildrahmensatz, der einem oder mehreren aktuellen Kalibrierungsparametern zugeordnet ist; und iterativen Hinzufügen der Bildrahmensätze zu den Referenzbildsatz-Kandidaten, die sequentiell auf der Bewertung basieren, bis die Kamerakalibrierungsparameter, die aus den Referenz- und Kandidatenbildsätzen bestimmt wurden, zu einem Korrekturfehler in dem Referenz-Bildrahmensatz führen, der nicht kleiner als der Basislinien-Korrekturfehler ist.
  • In fünfzehnten Ausführungsformen umfasst der Referenz-Bildrahmensatz für eine der vierzehnten Ausführungsformen einen Satz von den mehreren, der zuletzt von den Kameras aufgenommen wurde.
  • In sechzehnten Ausführungsformen dient der Prozessor für eine der zwölften bis fünfzehnten Ausführungsformen zum: unabhängigen Ausführen einer Einzelrahmen-Kalibrierungsroutine an jedem der Rahmensätze; und Bestimmen, aus der Einzelrahmen-Kalibrierungsroutine, mindestens eines von: einer Anzahl von Merkmalspunkten in jedem der Bildrahmensätze; einer 3D-Verteilung der Merkmalspunkte in jedem der Bildrahmensätze für die aufgenommene Szene; oder einem Konfidenzmaß in jedem der Bildrahmensätze.
  • In siebzehnten Ausführungsformen dient der Prozessor für eine der sechzehnten Ausführungsformen zum: Bewerten der Bildrahmensätze basierend auf der Anzahl der Merkmalspunkte und der Verteilung der Merkmalspunkte und dem Konfidenzmaß.
  • In achtzehnten Ausführungsformen dient der Prozessor für eine der siebzehnten Ausführungsformen zum: Bestimmen der Verteilung der Merkmalspunkte für jeden der Bildrahmensätze basierend auf einem gemeinsamen Histogramm eines Kandidaten der Bildrahmensätze und dem Referenz-Bildrahmensatz.
  • In neunzehnten Ausführungsformen dient der Prozessor für eine der achtzehnten Ausführungsformen zum: Bestimmen des Histogramms durch Einteilen der Merkmalspunkte gemäß ihrer Position innerhalb eines 3D-Szenenraums, der in Würfel oder Kegelstümpfe unterteilt ist.
  • In zwanzigsten Ausführungsformen weisen ein oder mehrere nicht flüchtige computerlesbare Speichermedien darauf gespeicherte Anweisungen auf, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor dazu veranlassen eine der ersten bis neunten Ausführungsformen durchzuführen.
  • Es versteht sich, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsbeispiele beschränkt sind, sondern mit Modifikationen und Abänderungen ausgeführt werden können, ohne vom Umfang der beigefügten Ansprüche abzuweichen. Zum Beispiel können die obigen Ausführungsformen eine spezifische Kombination von Merkmalen aufweisen. Die obigen Ausführungsformen sind diesbezüglich jedoch nicht beschränkt, und in Ausführungsformen können die obigen Ausführungsformen das Vornehmen nur einer Teilmenge solcher Merkmale, das Vornehmen einer anderen Reihenfolge solcher Merkmale, das Vornehmen einer anderen Kombination solcher Merkmale und/oder das Vornehmen zusätzlicher Merkmale zu den explizit aufgelisteten Merkmalen einschließen. Der Schutzumfang sollte daher unter Bezugnahme auf die beiliegenden Ansprüche zusammen mit dem vollen Schutzumfang der Äquivalente bestimmt werden, zu denen diese Ansprüche berechtigt sind.

Claims (21)

  1. Beansprucht wird:
  2. Kamerakalibrierungsverfahren, umfassend: Sammeln mehrerer Bildrahmensätze, wobei jeder Bildrahmensatz zwei oder mehr Bildrahmen einer einzelnen Szene umfasst, die mit zwei oder mehr Kameras aufgenommen werden; Bewerten der mehreren Bildrahmensätze; Auswählen von zwei oder mehr der Bildrahmensätze basierend auf der Bewertung und einer objektiven Fehlerfunktion, die den Kamerakalibrierungsparametern zugeordnet ist, die aus der Bildrahmensatz-Auswahl bestimmt wird; und Aktualisieren eines oder mehrerer Kamerakalibrierungsparameter basierend mindestens teilweise auf den ausgewählten Bildrahmensätzen.
  3. Verfahren nach Anspruch 1, wobei das Aktualisieren eines oder mehrerer Kamerakalibrierungsparameter ferner umfasst: Klassifizieren einer ersten Teilmenge der Kamerakalibrierungsparameter als niederfrequente Parameter; Klassifizieren einer zweiten Teilmenge der Kamerakalibrierungsparameter als hochfrequente Parameter; und Ausführen, an den ausgewählten Bildrahmensätzen, einer Kalibrierungsroutine mit niederfrequenten Parameterwerten, die für alle ausgewählten Rahmensätze gelten, und mit hochfrequenten Parameterwerten, die für alle der ausgewählten Rahmensätze eindeutig sind.
  4. Verfahren nach Anspruch 1, wobei das Auswählen der Bildrahmensätze ferner umfasst: Bestimmen eines Basislinien-Korrekturfehlers in einem Referenz-Bildrahmensatz, der einem oder mehreren aktuellen Kalibrierungsparametern zugeordnet ist; und iteratives Hinzufügen der Bildrahmensätze zu dem Kandidaten-Referenzbildsatz, die sequentiell auf der Bewertung basieren, bis die Kamerakalibrierungsparameter, die aus den Referenz- und Kandidatenbildsätzen bestimmt wurden, zu einem Korrekturfehler in dem Referenz-Bildrahmensatz führen, der nicht kleiner als der Basislinien-Korrekturfehler ist.
  5. Verfahren nach Anspruch 3, wobei der Referenz-Bildrahmensatz einen Satz der mehreren umfasst, der zuletzt von den Kameras aufgenommen wurde.
  6. Verfahren nach Anspruch 3, wobei die Bewertung der Bildrahmensätze ferner umfasst: unabhängiges Ausführen einer Einzelrahmen-Kalibrierungsroutine an jedem der Rahmensätze; und Bestimmen, aus der Einzelrahmen-Kalibrierungsroutine, mindestens eines von: einer Anzahl von Merkmalspunkten in jedem der Bildrahmensätze; einer 3D-Verteilung der Merkmalspunkte in jedem der Bildrahmensätze für die aufgenommene Szene; oder einem Konfidenzmaß in jedem der Bildrahmensätze.
  7. Verfahren nach Anspruch 5, wobei die Bewertung auf der Anzahl von Merkmalspunkten und der Verteilung der Merkmalspunkte und dem Konfidenzmaß basiert.
  8. Verfahren nach Anspruch 5, wobei die Bewertung mindestens auf der Verteilung der Merkmalspunkte basiert und die Verteilung der Merkmalspunkte für jeden der Bildrahmensätze auf einem gemeinsamen Histogramm eines Kandidaten der Bildrahmensätze und dem Referenz-Bildrahmensatz basiert.
  9. Verfahren nach Anspruch 7, wobei das Verfahren ferner das Bestimmen des Histogramms durch Einteilen der Merkmalspunkte gemäß ihrer Position innerhalb eines 3D-Szenenraums umfasst, der in Würfel oder Kegelstümpfe unterteilt ist.
  10. Verfahren nach Anspruch 8, wobei die Bewertung auf dem Konfidenzmaß in dem Bildsatz basiert; und das Verfahren ferner das Bestimmen des Konfidenzmaßes für Kandidaten der Bildrahmensätze durch Berechnen eines mittleren Korrekturfehlers für die Kandidaten der Bildrahmensätze umfasst.
  11. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Aktualisieren der Kamerakalibrierungsparameter ferner das Aktualisieren von intrinsischen und extrinsischen Parametermatrizen für mindestens eine der Kameras umfasst, und das Verfahren ferner umfasst: Ausführen eines Computer Vision-Algorithmus basierend auf den aktualisierten Parametermatrizen; und Ausgeben eines oder mehrerer Attribute, die basierend auf dem Computer Vision-Algorithmus berechnet werden, an eine Anzeige.
  12. Verfahren nach einem der Ansprüche 1 bis 9, wobei: die Bildrahmensätze einer Aufnahmerate zugeordnet sind; und die Aktualisierung eines oder mehrerer Kamerakalibrierungsparameter bei einer Rate erfolgt, die mindestens der Aufnahmerate entspricht.
  13. Kamerakalibrierungssystem, umfassend: eines oder mehrere Kamera-Hardwaremodule (CM), aufweisend zwei oder mehr Kameras zum Sammeln mehrerer Bildrahmensätze, wobei jeder Bildrahmensatz zwei oder mehr Bildrahmen einer einzelnen Szene umfasst, die mit den Kameras aufgenommen wurden; einen oder mehrere Prozessoren, die mit dem CM gekoppelt sind, wobei die Prozessoren zu Folgendem dienen: Bewerten jedes der mehreren Bildrahmensätze; Auswählen von zwei oder mehr der Bildrahmensätze basierend auf den Bewertungen und einer objektiven Fehlerfunktion, die den Kamerakalibrierungsparametern zugeordnet ist, die aus der Bildrahmensatz-Auswahl bestimmt werden; und Aktualisieren eines oder mehrerer Kamerakalibrierungsparameter basierend mindestens teilweise auf den ausgewählten Bildrahmensätzen.
  14. System nach Anspruch 12, wobei der Prozessor dient zum: Klassifizieren einer ersten Teilmenge der Kamerakalibrierungsparameter als niederfrequente Parameter; Klassifizieren einer zweiten Teilmenge der Kamerakalibrierungsparameter als hochfrequente Parameter; und Ausführen, an den ausgewählten Bildrahmensätzen, einer Kalibrierungsroutine mit niederfrequenten Parameterwerten, die für alle ausgewählten Rahmensätze gelten, und mit hochfrequenten Parameterwerten, die für alle der ausgewählten Rahmensätze eindeutig sind.
  15. System nach Anspruch 12, wobei der Prozessor dient zum: Bestimmen eines Basislinien-Korrekturfehlers in einem Referenz-Bildrahmensatz, der einem oder mehreren aktuellen Kalibrierungsparametern zugeordnet ist; und iterativen Hinzufügen der Bildrahmensätze zu den Referenzbildsatz-Kandidaten, die sequentiell auf der Bewertung basieren, bis die Kamerakalibrierungsparameter, die aus den Referenz- und Kandidatenbildsätzen bestimmt wurden, zu einem Korrekturfehler in dem Referenz-Bildrahmensatz führen, der nicht kleiner als der Basislinien-Korrekturfehler ist.
  16. System nach Anspruch 14, wobei der Referenz-Bildrahmensatz einen Satz der mehreren umfasst, der zuletzt von den Kameras aufgenommen wurde.
  17. System nach Anspruch 13, wobei der Prozessor dient zum: unabhängigen Ausführen einer Einzelrahmen-Kalibrierungsroutine an jedem der Rahmensätze; und Bestimmen, aus der Einzelrahmen-Kalibrierungsroutine, mindestens eines von: einer Anzahl von Merkmalspunkten in jedem der Bildrahmensätze; einer 3D-Verteilung der Merkmalspunkte in jedem Bildrahmensätze für die aufgenommene Szene; oder einem Konfidenzmaß in jedem der Bildrahmensätze.
  18. System nach Anspruch 16, wobei der Prozessor dient zum: Bewerten der Bildrahmensätze basierend auf der Anzahl der Merkmalspunkte und der Verteilung der Merkmalspunkte und dem Konfidenzmaß.
  19. System nach Anspruch 17, wobei der Prozessor dient zum: Bestimmen der Verteilung der Merkmalspunkte für jeden der Bildrahmensätze basierend auf einem gemeinsamen Histogramm eines Kandidaten der Bildrahmensätze und dem Referenz-Bildrahmensatz.
  20. System nach Anspruch 18, wobei der Prozessor dient zum: Bestimmen des Histogramms durch Einteilen der Merkmalspunkte gemäß ihrer Position innerhalb eines 3D-Szenenraums, der in Würfel oder Kegelstümpfe unterteilt ist.
  21. Eines oder mehrere nicht flüchtige computerlesbare Speichermedien mit darauf gespeicherten Anweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor dazu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen.
DE102018125739.2A 2017-11-14 2018-10-17 Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen Pending DE102018125739A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/813,012 US10645364B2 (en) 2017-11-14 2017-11-14 Dynamic calibration of multi-camera systems using multiple multi-view image frames
US15/813,012 2017-11-14

Publications (1)

Publication Number Publication Date
DE102018125739A1 true DE102018125739A1 (de) 2019-05-16

Family

ID=65023551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018125739.2A Pending DE102018125739A1 (de) 2017-11-14 2018-10-17 Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen

Country Status (2)

Country Link
US (1) US10645364B2 (de)
DE (1) DE102018125739A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373018B2 (en) * 2013-10-08 2019-08-06 Apple Inc. Method of determining a similarity transformation between first and second coordinates of 3D features
US10460512B2 (en) * 2017-11-07 2019-10-29 Microsoft Technology Licensing, Llc 3D skeletonization using truncated epipolar lines
KR102149003B1 (ko) * 2018-11-16 2020-08-28 포디리플레이코리아 주식회사 입체 스트라이크 존 표시 방법 및 장치
US11443452B2 (en) * 2019-06-07 2022-09-13 Pictometry International Corp. Using spatial filter to reduce bundle adjustment block size
CN112136137A (zh) * 2019-10-29 2020-12-25 深圳市大疆创新科技有限公司 一种参数优化方法、装置及控制设备、飞行器
US11360197B2 (en) 2020-01-07 2022-06-14 Luminar, Llc Calibration of sensor systems
CN111507924B (zh) * 2020-04-27 2023-09-29 北京百度网讯科技有限公司 视频帧的处理方法和装置
CN115668355A (zh) * 2020-05-20 2023-01-31 奇跃公司 具有相干上下文的分段渐进和连续校准
CN114283203B (zh) * 2021-12-08 2023-11-21 北京元客方舟科技有限公司 一种多相机系统的标定方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120242806A1 (en) * 2011-03-23 2012-09-27 Tk Holdings Inc. Dynamic stereo camera calibration system and method
WO2013151883A1 (en) * 2012-04-02 2013-10-10 Intel Corporation Systems, methods, and computer program products for runtime adjustment of image warping parameters in a multi-camera system
US8866912B2 (en) * 2013-03-10 2014-10-21 Pelican Imaging Corporation System and methods for calibration of an array camera using a single captured image
US9124831B2 (en) * 2013-03-13 2015-09-01 Pelican Imaging Corporation System and methods for calibration of an array camera
US9384551B2 (en) * 2013-04-08 2016-07-05 Amazon Technologies, Inc. Automatic rectification of stereo imaging cameras
EP3201877B1 (de) * 2014-09-29 2018-12-19 Fotonation Cayman Limited Systeme und verfahren zur dynamischen kalibrierung von array-kameras
US10412369B2 (en) * 2015-07-31 2019-09-10 Dell Products, Lp Method and apparatus for compensating for camera error in a multi-camera stereo camera system

Also Published As

Publication number Publication date
US10645364B2 (en) 2020-05-05
US20190028688A1 (en) 2019-01-24

Similar Documents

Publication Publication Date Title
DE102018125739A1 (de) Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen
DE112018004878T5 (de) Punktwolkengeometriekomprimierung
US20200019817A1 (en) Superpixel classification method based on semi-supervised k-svd and multiscale sparse representation
DE102018120304A1 (de) Verfahren und System zur Bildverzerrungkorrektur für Bilder, die durch Verwenden einer Weitwinkellinse aufgenommen werden
CN106796716B (zh) 用于为低分辨率图像提供超分辨率的设备和方法
DE102018132245A1 (de) Verfahren und System zur rekurrenten semantischen Segmentierung zur Bildverarbeitung
DE112018007721T5 (de) Aufnehmen und modifizieren von 3D-Gesichtern unter Verwendung neuronaler Bild-und Zeitverfolgungsnetze
DE102019213184A1 (de) Verfahren und system zum automatischen weissabgleich auf basis von tiefem lernen
DE102020125612A1 (de) Kontinuierliche lokale 3d-rekonstruktionsverfeinerung in video
US9639762B2 (en) Real time video summarization
DE102018130086A1 (de) Mehrkameraprozessor mit merkmalsabgleich
CN101562675B (zh) 基于Contourlet变换的无参考型图像质量评测方法
DE102011056972A1 (de) Vorrichtung und Verfahren zur digitalen Bildstabilisierung
DE112009005074T5 (de) Techniken für schnelle stereo-rekonstruktion aus bildern
DE112019003972T5 (de) Optische bildstabilisierungsbewegung zum erstellen eines superauflösenden bildes einer szene
CN110113560B (zh) 视频智能联动的方法及服务器
CN112367474A (zh) 一种自适应光场成像方法、装置及设备
CN107563978A (zh) 人脸去模糊方法及装置
DE102015102681A1 (de) All-in-focus - implementierung
WO2021029423A2 (en) Image processing method and apparatus and non-transitory computer-readable medium
DE102017126270A1 (de) Mehrfach-Kamera-Aufnahme eines HDR-Bildes
DE102021119882A1 (de) Videohintergrundschätzung unter verwendung von räumlich-zeitlichen modellen
CN110519540A (zh) 一种图像处理方法、装置、设备及存储介质
CN110532853B (zh) 遥感超时相数据的分类方法及装置
CN107194917A (zh) 基于dap和arelm的在轨sar图像变化检测方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE