-
Hintergrund
-
Gebiet der Offenbarung
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Kameras und insbesondere auf die Kalibrierung von Kameras.
-
Beschreibung des verwandten Gebiets
-
Dreidimensionale Kamerabilderkennungssysteme (3D-Kamerabilderkennungssysteme) verwenden ein Modell einer Kamera, um Gegenstände im 3D-Raum mit dem zweidimensionalen Bild (2D-Bild) in Beziehung zu setzen, das durch die Gegenstände auf einer Bildebene in der Kamera gebildet wird. Die Modellparameter enthalten intrinsische Parameter, die verwendet werden, um jede einzelne Kamera zu beschreiben. Die intrinsischen Parameter enthalten eine Brennweite der Kameralinse, ein Projektionszentrum der Linse, einen oder mehrere Verzeichnungskoeffizienten und die Skalierung des Bildes in der X-Richtung und in der Y-Richtung. Die Modellparameter enthalten außerdem extrinsische Parameter (die als Lagen bezeichnet werden können), die die Translation und die Drehung einer oder mehrerer Kameras relativ zu den Kalibrierungszielen beschreiben. Zum Beispiel enthalten die extrinsischen Parameter einer einzelnen Kamera (oder einer Kameraanlage, die mehrere Kameras enthält) die X-, Y- und Z-Koordinaten, die die Translation der Kamera definieren, und die Nick-, Roll- und Gierwerte, die die Drehung der Kamera relativ zum Ziel definieren. Zusätzliche extrinsische Parameter können verwendet werden, um die relative Translation oder Drehung mehrerer Kameras zu beschreiben, die in einer Kameraanlage fest aneinander befestigt sind. Weitere extrinsische Parameter enthalten Parameter, die die relative Position und Ausrichtung von mehreren Kalibrierungszielen beschreiben, die fest aneinander befestigt sind. Die extrinsischen Parameter können außerdem Kontextinformationen wie etwa einen Umgebungsbeleuchtungszustand, eine Tageszeit, einen Wetterzustand und dergleichen enthalten.
-
Figurenliste
-
Die vorliegende Offenbarung kann unter Bezugnahme auf die begleitenden Zeichnungen besser verstanden werden, und ihre diversen Merkmale und Vorteile können dem Fachmann auf dem Gebiet ersichtlich werden. Die Verwendung derselben Bezugszeichen in verschiedenen Zeichnungen gibt gleiche oder identische Elemente an.
- 1 ist ein Diagramm eines Kalibrierungssystems zum Kalibrieren von Modellparametern einer Kamera gemäß einigen Ausführungsformen.
- 2 ist ein Diagramm eines Kalibrierungssystems, das verwendet wird, um eine Strahlverfolgung durchzuführen, um auf der Basis von Modellparametern einer Kamera ein synthetisches Bild zu erzeugen, gemäß einigen Ausführungsformen.
- 3 ist ein Diagramm eines synthetischen Bildes einer Ellipse, das durch Strahlverfolgung und einen entsprechenden Bildpunkt gebildet ist, gemäß einigen Ausführungsformen.
- 4 ist ein Diagramm, das eine Folge von Vergleichen eines tatsächlichen Bildes und eines synthetischen Bildes in aufeinanderfolgenden Iterationen eines Kalibrierungsalgorithmus gemäß einigen Ausführungsformen abbildet.
- 5 zeigt ein tatsächliches Bild eines Kalibrierungsziels, das durch eine Kamera unter Verwendung eines Fischaugenobjektivs aufgenommen ist, gemäß einigen Ausführungsformen.
- 6 ist ein Diagramm eines Kalibrierungssystems zum Kalibrieren von Modellparametern einer Kameraanlage gemäß einigen Ausführungsformen.
- 7 ist ein Ablaufplan eines Verfahrens zum Kalibrieren der Modellparameter, die eine Kamera beschreiben, gemäß einigen Ausführungsformen.
- 8 ist ein Ablaufplan eines Verfahrens zum Kalibrieren der Modellparameter, die eine Kamera beschreiben, unter Verwendung einer Skalierungstechnik von grob zu fein gemäß einigen Ausführungsformen.
-
Genaue Beschreibung
-
Die Modellparameter einer Kamera (oder einer Kameraanlage) werden unter Verwendung eines Kalibrierungsmusters (oder Zielmusters) kalibriert. Das Kalibrierungsmuster kann aus einem ebenen Muster wie etwa einem Gitter aus Kreisen mit verschiedenen Größen, mehreren ebenen Mustern in verschiedenen Ebenen, die dieselben oder verschiedene Muster enthalten, mehreren Kugeln mit derselben Größe oder mit verschiedenen Größen, die an einer festen Struktur befestigt sind, oder anderen Arten von Mustern, die durch die Kamera oder die Kameraanlage abgebildet werden können, bestehen. Ein Ansatz verwendet einen Zieldetektionsalgorithmus, um die Mittelpunkte der Ellipsen in der Bildebene zu identifizieren, die den Kreisen im ebenen Kalibrierungsmuster entsprechen. Ein separater Kalibrierungsalgorithmus empfängt die geschätzten Orte der detektierten Mittelpunkte vom Zieldetektionsalgorithmus und schätzt die Modellparameter durch Minimieren (oder zumindest Verringern) eines Abstands des Bildpunktraums zwischen den detektierten Mittelpunkten und den Kreismittelpunkten, die auf der Basis der Werte der Modellparameter vorhergesagt werden. Die Informationen, die die Ungenauigkeiten der Orte der detektierten Mittelpunkte angeben, gehen verloren, wenn die Mittelpunkte der Ellipsen an den Kalibrierungsalgorithmus weitergegeben werden, und können nicht verwendet werden, um die Modellparameter zu schätzen. Ferner bringt eine perspektivische Verzeichnung Versatzwerte ein, die es schwierig oder unmöglich machen, den aktuellen Mittelpunkt eines projizierten Kreises zu beobachten. Zum Beispiel projiziert ein Fischaugenobjektiv, das ein Blickfeld von 180° oder mehr aufweisen kann, wegen einer radialen Verzeichnung des Bildes durch das Fischaugenobjektiv Kreise nicht auf Ellipsen.
-
Ein anderer Ansatz vergleicht ein gerendertes, synthetisches Bild eines Ziels mit den Intensitätswerten der Bildpunkte eines Bildes des Ziels, das durch die Kamera aufgenommen wird. Dieser Ansatz modelliert die Kamera als eine ideale Lochkamera, und folglich schließt das Modell die intrinsischen Parameter, um die geometrischen Verzeichnungen der Linse zu beschreiben, nicht ein, die als relativ klein angenommen werden, derart, dass sie durch Anwenden von Korrekturen auf das nicht verzeichnete Bild berücksichtigt werden können. Jedoch bringen viele Linsensystem (wie etwa Fischaugenobjektive) bedeutende Verzeichnungen ein, die durch Anwenden von Korrekturen auf das Bild, das auf der Basis einer idealen Lochkamera gerendert wird, nicht genau modelliert werden können.
-
Wie hier beschrieben ist, kann die Genauigkeit einer Kalibrierung der Parameter, die ein Modell einer Kamera definieren, durch Rendern der Bildpunkte in einem synthetischen Bild eines Zielmusters erhöht werden, indem auf der Basis der Modellparameter für die Kamera die Strahlen von den Bildpunkten zu den entsprechenden Punkten auf dem Zielmuster verfolgt werden. Zum Beispiel können die Strahlen von den Mittelpunkten in den Bildpunkten zu einem Kreuzungspunkt im Zielmuster verfolgt werden, und die Intensitäten der Bildpunkte können auf der Basis der räumlichen Nähe des Kreuzungspunktes zu einem Merkmal im Zielmuster bestimmt werden. Als ein weiteres Beispiel kann die Fläche, die durch jeden Bildpunkt im synthetischen Bild dargestellt wird, in eine 16x16-Anordnung von 256 Elementen unterteilt werden. Die Intensität, die jedem Element zugeordnet ist, wird bestimmt, indem auf der Basis der Modellparameter ein Strahl von dem Element zu dem entsprechenden Punkt auf dem Zielmuster verfolgt wird und die Intensität des entsprechenden Punktes auf das Element angewendet wird. Die Gesamtintensität für jeden Bildpunkt wird durch Mitteln der Intensitäten für jedes der Elemente, die den Bildpunkt darstellen, bestimmt. Die Modellparameter werden auf Werte aktualisiert, die ein Abstandsmaß zwischen den Intensitäten der Bildpunkte im synthetischen Bild und den Intensitäten der Bildpunkte in einem tatsächlichen Bild des Zielmusters, das durch die Kamera erzeugt wird, verringern oder minimieren. In einigen Ausführungsformen ist das Maß des Abstands ein Quadrat einer Differenz zwischen den Intensitäten der Bildpunkte im tatsächlichen Bild und den entsprechenden Bildpunkten im synthetischen Bild. Die Modellparameter können daraufhin durch Anwenden einer Minimierungstechnik mittels kleinster Quadrate (wie etwa Gauß-Newton) auf die Abstandsmaße für jeden Bildpunkt aktualisiert werden. Die Ziellagen für verschiedene Bilder können in der Gruppe der Modellparameter enthalten sein, die daraufhin durch Verringern oder Minimieren des Abstandsmaßes über den Intensitäten für die Bildpunkte in den verschiedenen Bildern bestimmt werden können. Mehrere Kameras (z. B. in einer feststehenden Kameraanordnung oder in einer Kamera vom Typ eines Facettenauges) können durch Einschließen der Ziellagen, die für die verschiedenen Kameras relativ zu einer der Kameras bestimmt werden, kalibriert werden.
-
1 ist ein Diagramm eines Kalibrierungssystems 100 zum Kalibrieren der Modellparameter einer Kamera 105 gemäß einigen Ausführungsformen. Die Kamera 105 ist als Weitwinkelbildgebungskamera implementiert, die ein Fischaugenobjektiv oder eine andere Weitwinkellinse aufweist, um eine Ansicht der lokalen Umgebung unter einem breiteren Blickwinkel bereitzustellen. Zum Beispiel kann die Kamera 105 verwendet werden, um Bilder in einem Blickfeld in einem Blickwinkel von 180° oder mehr aufzunehmen. Die Kamera 105 kann primär zur maschinellen Sichtbildaufnahme zu Zwecken der Ortsdetektion konfiguriert sein. Zum Beispiel kann die Kamera 105 in einer am Kopf angebrachten Anzeige (HMD) oder einem anderen Bildaufnahme- und Bildanzeigesystem der virtuellen Realität/erweiterten Realität verwendet werden. Die Maschinen-Sicht-spezifische Konfiguration der Kamera 105 kann die Lichtempfindlichkeit, die Linsenverzeichnung, die Bildfrequenz, die allgemeinen Fähigkeiten des Verschlusses und das schnellere Auslesen von Daten aus dem Bildsensor über anwenderzentrierte Kamerakonfigurationen, die sich z. B. auf die Bildpunktauflösung konzentrieren, priorisieren. Andere Ausführungsformen der Kamera 105 sind als Schmalwinkelbildgebungskamera implementiert, die eine Linse mit einem üblichen Blickwinkel aufweist, um eine Ansicht der lokalen Umgebung unter einem schmäleren Blickwinkel bereitzustellen.
-
Die Kamera
105 wird durch eine Gruppe von Modellparametern beschrieben, die intrinsische Modellparameter enthalten, die die inneren Eigenschaften der Kamera
105 darstellen. Zum Beispiel enthält die Kamera
105 eine Linse (oder ein optisches System, das mehrere Linsen enthält), die verwendet wird, um ein Bild auf eine Brennpunktebene oder Bildgebungsebene in der Kamera
105 zu projizieren. Die intrinsischen Modellparameter können daher eine Brennweite und ein Projektionszentrum der Linse oder des optischen Systems der Kamera enthalten. Die Linse oder das optische System in der Kamera
105 kann das Bild verzeichnen oder das Bild vergrößern. Zur Veranschaulichung sind Kameralinsen üblicherweise radialsymmetrisch und bringen radiale Verzeichnungen wie etwa eine tonnenförmige Verzeichnung, eine kissenförmige Verzeichnung oder eine schnurrbartförmige Verzeichnung ein. Die intrinsischen Modellparameter können daher einen oder mehrere Verzeichnungskoeffizienten enthalten. Zum Beispiel kann die Beziehung zwischen einem nicht verzeichneten Bildpunkt X
i und dem entsprechenden, verzeichneten Punkt X
dist,i durch einen Modellparameter κ
i für die radiale Verlagerung beschrieben werden gemäß:
wobei r die radiale Verlagerung in normalisierten Koordinaten ist. Zusätzliche intrinsische Modellparameter können enthalten sein, um Verzeichnungen höherer Ordnung zu beschreiben. Kameralinsen können außerdem Bilder in einer oder in mehreren Richtungen vergrößern, und daher können die intrinsischen Modellparameter Parameter enthalten, die die Skalierung des Bildes in der X-Richtung und in der Y-Richtung angeben, die durch die Linse oder das optische System in der Kamera 105 bewirkt wird. Die intrinsischen Modellparameter können außerdem einen oder mehrere Parameter enthalten, die die chromatische Aberration beschreiben, die durch die Linse oder das optische System eingebracht wird.
-
Die Gruppe der Modellparameter enthält außerdem extrinsische Modellparameter (die ebenso als Lagen bezeichnet sein können), die die Position und die Ausrichtung der Kamera 105 beschreiben. Zum Beispiel enthalten die extrinsischen Parameter der Kamera 105 die X-, Y- und Z-Koordinaten 110, 111, 112, die die Position der Kamera 105 definieren. Der Ort und die Ausrichtung des Koordinatensystems, das verwendet wird, um die Koordinaten 110, 111, 112 zu identifizieren, sind beliebig und werden in einigen Ausführungsformen derart gewählt, dass der Ursprung des Koordinatensystems einer bestimmten Einheit im Kalibrierungssystem 100 entspricht, wie unten beschrieben ist. Die extrinsischen Modellparameter können außerdem Parameter enthalten, die ein oder mehr Grad einer Drehung angeben wie etwa: einer Drehung nach links/nach rechts (d. h. den Gierwinkel 115), einer Neigung nach vorne/nach hinten (d. h. den Nickwinkel 116) und eines Schwenkens von Seite zu Seite (d. h. den Rollwinkel 117), die alle relativ zu einer feststehenden Schwerkraftreferenz oder einer anderen relativen oder absoluten Referenz vorliegen. Zusätzliche extrinsische Parameter können verwendet werden, um mehrere Kameras zu beschreiben, die in einer Kameraanlage fest aneinander befestigt sind. Zum Beispiel können die extrinsischen Modellparameter außerdem die relative Position und Ausrichtung der Kamera 105 in Bezug auf eine oder mehrere andere Kameras enthalten, wie unten diskutiert ist. Die extrinsischen Modellparameter können außerdem Kontextinformationen wie etwa einen Umgebungsbeleuchtungszustand, eine Tageszeit, einen Wetterzustand und dergleichen enthalten.
-
Das Kalibrierungssystem 100 enthält ein oder mehrere Kalibrierungsziele 120. Das Kalibrierungsziel 120 enthält ein Zielmuster, das aus Kreisen oder Ellipsen mit verschiedenen Größen gebildet ist. Jedoch sind, wie hier diskutiert ist, einige Ausführungsformen des Kalibrierungsziels mit anderen Zielmustern in zwei oder drei Dimensionen implementiert wie etwa Muster mit mehreren Ebenen, die dieselben oder verschiedene Muster enthalten, die in derselben Ebene oder in verschiedenen Ebenen angeordnet sind, mehrere Kugeln derselben Größe oder mit verschiedenen Größen, die an einer festen Struktur befestigt sind, oder andere Arten von Mustern, die durch die Kamera 105 abgebildet werden können. Die Position des Kalibrierungsziels 120 wird durch die X-, Y-, Z-Koordinaten 121, 122, 123 dargestellt. Wie hier diskutiert ist, wird die Kamera 105 kalibriert, indem ein tatsächliches Bild des Kalibrierungsziels 120 mit einem synthetischen Bild verglichen wird, das auf der Basis der Modellparameter der Kamera 105 erzeugt wird. Somit enthält die Gruppe der Modellparameter, die verwendet werden, um die Kamera 105 während des Kalibrierungsprozesses zu beschreiben, extrinsische Modellparameter, die die Position der Kamera 105 relativ zum Kalibrierungsziel 120 angeben, die durch Vergleichen der Koordinaten 110, 111, 112 mit den Koordinaten 121, 122, 123 bestimmt werden können. In einigen Ausführungsformen kann der Ursprung des Koordinatensystems derart definiert sein, dass er dem Ort des Kalibrierungsziels 120 entspricht, derart, dass die extrinsischen Modellparameter, die die Position der Kamera 105 angeben, dieselben wie extrinsischen Modellparameter, die die X-, Y-, Z-Koordinaten 110, 111, 112 der Kamera 105 angeben, sind. Obwohl in 1 ein einzelnes Kalibrierungsziel 120 gezeigt ist, können einige Ausführungsformen des Kalibrierungssystems 100 mehrere Kalibrierungsziele enthalten. Außerdem können andere Zielmuster wie etwa Spiralen oder Sternmuster als das Kalibrierungsziel 120 verwendet werden. Die Zielmuster können schwarz-weiß, graustufig oder Farbmuster sein. Eine Kalibrierungseinrichtung 125 wird verwendet, um die Modellparameter zu kalibrieren, die die Kamera 105 beschreiben. Die Kalibrierungseinrichtung 125 kann als Hardware, Firmware, Software oder eine beliebige Kombination davon implementiert sein. Zum Beispiel kann die Kalibrierungseinrichtung 125 ein Datenspeicherelement zum Speichern von Software oder Firmware enthalten. Die Kalibrierungseinrichtung 125 kann außerdem einen Prozessor zum Ausführen der Anweisungen enthalten, die in der Software oder Firmware enthalten sind, um die Kalibrierung der Kamera 105 durchzuführen. Die kalibrierten Modellparameter können anschließend in dem Datenspeicherelement gespeichert oder der Kamera 105 bereitgestellt werden. Die Kalibrierungseinrichtung 125 kann eine alleinstehende Einheit sein, die sich außerhalb der Kamera 105 befindet, oder die Kalibrierungseinrichtung 125 kann als eine integrierte Komponente der Kamera 105 implementiert sein.
-
Die Kalibrierungseinrichtung 125 kalibriert die Modellparameter auf der Basis eines Vergleichs eines tatsächlichen Bildes des Kalibrierungsziels 120, das durch die Kamera 105 aufgenommen wird, und eines synthetischen Bildes des Kalibrierungsziels 120, das auf der Basis der Modellparameter gerendert wird. Das tatsächliche Bild und das synthetische Bild werden durch Intensitätswerte für eine Anordnung von Bildpunkten dargestellt, die den Sensoren in der Kamera 105 entsprechen, die verwendet werden, um Bilder aufzunehmen. Die Intensitätswerte im tatsächlichen Bild stellen die Intensitäten des Lichts dar, das während einer Aufnahme auf die entsprechenden Sensoren in der Kamera 105 fällt. Die Intensitätswerte im synthetischen Bild stellen geschätzte Intensitätswerte dar, die auf der Basis der Modellparameter vorhergesagt oder simuliert werden, wie unten diskutiert ist. Einige Ausführungsformen der Kalibrierungseinrichtung 125 rendern die Bildpunkte im synthetischen Bild des Kalibrierungsziels 120 durch Verfolgen von mehreren Strahlen von jedem der Bildpunkte zu entsprechenden Punkten auf dem Kalibrierungsziel 120. Die Strahlverfolgung wird auf der Basis der Modellparameter der Kamera 105 durchgeführt. Die Kalibrierungseinrichtung 125 modifiziert daraufhin die Modellparameter, um ein Abstandsmaß zwischen den Intensitäten der Bildpunkte im synthetischen Bild und den Intensitäten der Bildpunkte im tatsächlichen Bild, das durch die Kamera 105 erzeugt wird, zu verringern oder zu minimieren. Der Kalibrierungsprozess kann iteriert werden, bis ein oder mehrere Konvergenzkriterien erfüllt sind.
-
Einige Ausführungsformen der Kalibrierungseinrichtung
125 stimmen das synthetische Bild des Kalibrierungsziels
120 auf das tatsächliche Bild, das durch die Kamera
105 aufgenommen wird, ab, indem die intrinsischen und die extrinsischen Modellparameter, die die Kamera
105 beschreiben, gleichzeitig geschätzt werden. Zum Beispiel können die intrinsischen und die extrinsischen Modellparameter durch einen Parametervektor p dargestellt werden. Die Kalibrierungseinrichtung
125 bestimmt den Wert des Parametervektors p, der eine Summe der Quadrate der Differenzen zwischen den Intensitäten der Bildpunkte im synthetischen Bild und den Intensitäten der Bildpunkte im tatsächlichen Bild minimiert, gemäß der Funktion der Minimierung mittels kleinster Quadrate:
wobei:
- T (v) die erwartete Intensität auf dem Kalibrierungsziel angibt (0 = schwarz, 1 = weiß);
- v ∈ ℝ2 die Zielkoordinate, z. B. in Metern, ist;
- / die Intensität des tatsächlichen Bildes am Bildpunkt u ist;
- u = (ux,uy) ∈ Ω = {0...w-1} × {0..h-1} eine Bildpunktkoordinate ist;
- w, h die Bilddimensionen sind;
- p = (pt, pc) die Modellparameter (oder Warp-Parameter) sind;
- pt die extrinsischen Modellparameter oder die Ziellage sind, d. h. pt ∈ SE(3);
- pc die intrinsischen Modellparameter sind;
- W = P ∘ A die Warp-Funktion ist, die einen Vektor u unter Verwendung der Transformation A von den Zielkoordinaten in Kamerakoordinaten transformiert und anschließend den Vektor unter Verwendung der Projektionsfunktion P auf Bildpunktkoordinaten projiziert, d. h. W(v,pt,pc) = P(A(v,pt),pc);
- A(v,pt) eine Translation ist, auf die eine Drehung folgt;
- P(v,pc) eine Funktion ist, die 3D-Punkte auf Bildpunkte abbildet und von den Modellparametern der Kamera abhängt.
-
W-1 berechnet das entsprechende Verhältnis für einen Ort in einem Bildpunkt (Rückgängig-Machen der Projektion oder erneute Projektion) in dem beobachteten Bild und kreuzt den Strahl mit der Zielebene. Der Kehrwert der Warp-Funktion W-1 transformiert daher auf der Basis der Modellparameter p = (pt,pc) einen Bildpunktort (u) in einen Ort u in der Ebene des Ziels.
-
Die Kalibrierungseinrichtung 125 löst das Problem der Minimierung mittels kleinster Quadrate, das durch die Gleichung (1) definiert ist, durch iteratives Verbessern einer anfänglichen Annahme oder eines anfänglichen Schätzwertes der Modellparameter, die die Kamera 105 darstellen.
-
Einige Ausführungsformen der Kalibrierungseinrichtung
125 verwenden einen Gauß-Newton-Algorithmus zur Optimierung mittels kleinster Quadrate, um das nicht lineare Problem der Optimierung mittels kleinster Quadrate iterativ zu lösen. Eine Taylor-Erweiterung erster Ordnung der Gleichung (1) kann verwendet werden, um einen aktuellen Schätzwert p
i des Parametervektors zu einem modifizierten Schätzwert p
i+1 des Parametervektors wie folgt in Beziehung zu setzen:
wobei Δp ein Vektor der Änderungen des Parametervektors ist und
der Gradient der Intensität auf dem Kalibrierungsziel
120 als eine Funktion des Parametervektors an einem Bildpunktort ist. Wie unten diskutiert ist, können die Intensitätsgradienten unter Verwendung von Intensitätswerten, die durch Strahlverfolgung und durch Anwenden einer Glättungsfunktion, um sicherzustellen, dass die Intensität eine kontinuierliche Funktion der Parametervektoren ist, bestimmt werden, aus dem synthetischen Bild numerisch berechnet werden. Zum Beispiel wird die Intensität (T) des gerenderten Bildes zuerst für die aktuelle Gruppe von Modellparametern p
i bestimmt, und daraufhin wird die Intensität für ein zweites Bild erneut berechnet, das gerendert wird, nachdem der Parametervektor um einen kleinen Betrag in jeder Richtung p
i + δp
i verändert worden ist. Die Funktionaldeterminante
wird anschließend aus der Differenz zwischen den Intensitäten in den zwei gerenderten Bildern berechnet. Der Gauß-Newton-Algorithmus verwendet die Gleichung (2), um die Werte der Parametervektoren iterativ zu modifizieren, bis ein Konvergenzkriterium erreicht wird. Zum Beispiel kann der Algorithmus konvergieren, wenn die Änderungen der Parametervektoren während einer gegebenen Iteration unter einen Schwellenwert abfallen.
-
Einige Ausführungsformen der Kalibrierungseinrichtung
125 verwenden einen Lucas-Kanade-Algorithmus für den optischen Fluss, um das nicht lineare Problem der Optimierung mittels kleinster Quadrate zu lösen. Der Algorithmus für den optischen Fluss zerlegt den Gradienten
in einen Bildgradienten:
und in eine Funktionaldeterminante der Warp-Funktion
Das linearisierte Minimierungsproblem, das durch die Gleichung (2) definiert ist, kann daraufhin wie folgt neu geschrieben werden:
wobei W aus der Koordinatentransformation A und der Projektion P zusammengesetzt ist. Die Funktionaldeterminanten werden in Bezug auf die Modellparameter p
t und p
c einzeln berechnet und anschließend in einer einzigen Matrix kombiniert.
-
Wie unten diskutiert ist, können die Funktionaldeterminanten unter Verwendung von Intensitätswerten, die durch Strahlverfolgung und durch Anwenden einer Glättungsfunktion, um sicherzustellen, dass die Intensität eine kontinuierliche Funktion der Parametervektoren ist, bestimmt werden, aus dem synthetischen Bild numerisch berechnet werden. Der Lucas-Kanade-Algorithmus verwendet die Gleichung (3), um die Werte der Parametervektoren iterativ zu modifizieren, bis ein Konvergenzkriterium erreicht ist. Zum Beispiel kann der Algorithmus konvergieren, wenn die Änderungen der Parametervektoren während einer gegebenen Iteration unter einen Schwellenwert abfallen.
-
Im Lucas-Kanade-Algorithmus für den optischen Fluss transformiert der Kehrwert der Warp-Funktion W
-1 die Bildpunkte im tatsächlichen Bild durch Neu-Projizieren des Bildes und Kreuzen mit der Ebene des Kalibrierungsziels
120 in Zielkoordinaten. In jeder Iteration des Optimierungsalgorithmus wird der Kehrwert der Warp-Funktion W
-1 verwendet, um für jeden Bildpunkt u ∈ Q im tatsächlichen Bild auf der Basis des aktuellen, besten Schätzwertes der intrinsischen Modellparameter p
t und der extrinsischen Modellparameter p
c, die auch als die Ziellage bezeichnet werden können, eine Abtastposition auf dem Kalibrierungsziel
120 auszuwählen. Für jeden Abtastwert auf dem Ziel gibt die Funktionaldeterminante
an, wie sich die neu projizierte Bildpunktkoordinate in Bezug auf die Änderungen der intrinsischen Modellparameter p
t und der extrinsischen Modellparameter p
c im Bild bewegt. Die Funktionaldeterminante
wird bei v =W
-1 (u,p
t,p
c) ausgewertet, derart, dass ihre Neuprojektion in der Umgebung des Bildpunktes u landet. Die Änderung der Differenz zwischen dem tatsächlichen Bild und dem gerenderten Bild in Bezug auf die Änderungen der intrinsischen Modellparameter p
t und der extrinsischen Modellparameter p
c kann daraufhin durch Kombinieren der Funktionaldeterminante
und des Bildgradienten ∇
ul am Bildpunkt u bestimmt werden.
-
Einige Ausführungsformen des Kalibrierungssystems
100 enthalten mehrere Kalibrierungsziele
120. Die tatsächlichen und die synthetischen Bilder der mehreren Kalibrierungsziele
120 können verwendet werden, um die Parameter der Kamera
105 zu kalibrieren. Die Intensitäten der Bilder werden durch I
i, i ∈{1,N
i} dargestellt, und zusätzliche Modellparameter
sind für jedes Bild enthalten. Zum Beispiel kann die Kalibrierungseinrichtung
125 gemäß der Funktion der Minimierung mittels kleinster Quadrate den Wert des Parametervektors p bestimmen, der eine Differenz zwischen den Intensitäten der Bildpunkte in den synthetischen Bildern und den Intensitäten der Bildpunkte in den tatsächlichen Bildern minimiert:
wobei:
- i, u Indizes für die verschiedenen Bilder bzw. die Bildpunkte in den Bildern sind;
- ein Vektor ist, der die Gruppe der Modellparameter für die Kamera 105 darstellt.
-
Die anderen Variablen in der Gleichung (4) entsprechen den Variablen, die oben für die Gleichung (2) definiert sind.
-
2 ist ein Diagramm eines Kalibrierungssystems 200, das verwendet wird, um eine Strahlverfolgung durchzuführen, um auf der Basis von Modellparametern einer Kamera ein synthetisches Bild zu erzeugen, gemäß einigen Ausführungsformen. Das Kalibrierungssystem 200 enthält einen Bildpunkt 205, der einer von mehreren Bildpunkten ist, die in der Kamera implementiert sind. Das Kalibrierungssystem 200 enthält außerdem einen Abschnitt 210 eines Kalibrierungsziels wie etwa des Kalibrierungsziels 120, das in 1 gezeigt ist. Zur Klarheit sind die Kreise oder Ellipsen, die das Zielmuster in dem Abschnitt 210 des Kalibrierungsziels bilden, durch gestrichelte Linien dargestellt, obwohl die Kreise oder Ellipsen in der Praxis gefüllt sein können, wie in 1 gezeigt ist. Eine Ellipse 215 wird verwendet, um die intrinsischen Modellparameter der Kamera wie etwa die Brennweite, das Projektionszentrum, die Verzeichnung, die Skalierung der Vergrößerung und dergleichen darzustellen. Die extrinsischen Modellparameter der Kamera wie etwa die X-, Y-, Z-Koordinaten der Kamera, die Nick-, Gier- und Rollwerte der Kamera und die relativen Positionen des Bildpunktes 205 und des Abschnitts 210 des Kalibrierungsziels sind durch den zweispitzigen Pfeil 220 dargestellt.
-
Ein synthetisches Bild des Kalibrierungsziels (das den Abschnitt 210 enthält) wird aus den Intensitätswerten mehrerer Bildpunkte, die den Bildpunkt 205 enthalten, gebildet. Das synthetische Bild kann daher auf der Basis der Modellparameter 215, 220 unter Verwendung einer Strahlverfolgung vom Bildpunkt 205 zum Abschnitt 210 des Kalibrierungsziels gerendert werden. In einigen Ausführungsformen wird das synthetische Bild durch eine Kalibrierungseinrichtung wie etwa die Kalibrierungseinrichtung 125, die in 1 gezeigt ist, bestimmt. Ein Intensitätswert für den Bildpunkt 205 wird durch Verfolgen eines oder mehrerer Strahlen von einem oder von mehreren Orten innerhalb des Bildpunktes 205 zur Ebene des Abschnitts 210 des Kalibrierungsziels bestimmt.
-
In einigen Ausführungsformen wird der Bildpunkt 205 durch einen Mittelpunkt in der Fläche des Bildpunktes 205 dargestellt, und ein einzelner Strahl wird vom Bildpunkt 205 zum Abschnitt 210 des Kalibrierungsziels verfolgt. Eine Glättungsfunktion (wie unten diskutiert) wird angewendet, um den Intensitätswert, der dem Bildpunkt 205 zugewiesen wird, auf der Basis einer Überlagerung zwischen der Fläche des Bildpunktes 205 und Merkmalen im Kalibrierungsziel zu glätten. Der Grad der Überlagerung kann durch die räumliche Nähe eines Mittelpunktes im Bildpunkt 205 zu einem Merkmal im Kalibrierungsziel bestimmt werden. Die Glättungsfunktion stellt sicher, dass die Intensität eine kontinuierliche Funktion der Modellparameter ist.
-
In einigen Ausführungsformen kann der Bildpunkt 205 in mehrere Bildpunktelemente 225 unterteil sein (zur Klarheit ist lediglich einer durch ein Bezugszeichen angeben). Daraufhin werden unter Verwendung der Modellparameter 215, 220, um den Weg der Strahlen vom Bildpunkt 205 zum Abschnitt 210 zu bestimmen, Strahlen von jedem Bildpunktelement 225 zum Abschnitt 210 des Kalibrierungsziels verfolgt. Auf der Basis einer Intensität an dem Punkt auf dem Abschnitt 210, der durch den Strahl gekreuzt wird, wird jedem der Bildpunktelemente 225 ein Intensitätswert zugewiesen. Zum Beispiel kreuzt der Strahl 230 den Abschnitt 210 an einem Ort, der außerhalb jeder der Ellipsen liegt, die verwendet werden, um das Zielmuster zu bilden. Der Intensität des Bildpunktelements 225, das dem Strahl 230 entspricht, wird daher ein Intensitätswert zugewiesen, der dem weißen Bereich des Abschnitts 210 entspricht, wie etwa ein Intensitätswert von 0. Als ein weiteres Beispiel kreuzt der Strahl 235 den Abschnitt 210 an einem Ort, der im Inneren einer großen Ellipse des Zielmusters liegt. Der Intensität der Bildpunktelemente 225, die dem Strahl 235 entsprechen, wird daher ein Intensitätswert zugewiesen, der dem schwarzen Bereich des Abschnitts 210 entspricht, wie etwa ein Intensitätswert von 1. Eine Gesamtintensität für jeden Bildpunkt 205 wird durch Mitteln der Intensitäten für jedes der Bildpunktelemente 225 im entsprechenden Bildpunkt 205 bestimmt. Eine Glättungsfunktion kann außerdem auf die Intensitätswerte angewendet werden, um sicherzustellen, dass die Intensität eine kontinuierliche Funktion der Modellparameter ist.
-
3 ist ein Diagramm eines synthetischen Bildes 300 einer Ellipse 305, das durch Strahlverfolgung und einen entsprechenden Bildpunkt 310 gebildet ist, gemäß einigen Ausführungsformen. Zur Klarheit ist die Ellipse 305 durch eine ungefüllte Ellipse dargestellt, obwohl die Ellipse in der Praxis gefüllt sein kann, wie in 1 gezeigt ist. Die Gradienten in den Gleichungen (2) und (3) werden unter Verwendung von Intensitätswerten für Bildpunkte im synthetischen Bild numerisch berechnet. Die Renderfunktion sollte daher Intensitäten erzeugen, die eine kontinuierliche Funktion der Modellparameter sind, um sicherzustellen, dass die numerischen Ableitungen in Bezug auf die Modellparameter nicht null sind. Eine Kalibrierungseinrichtung (wie etwa die Kalibrierungseinrichtung 125, die in 1 gezeigt ist) kann eine Glättungsfunktion auf die Intensitätswerte anwenden, die den Bildpunkten im synthetischen Bild zugewiesen werden. Die Glättungsfunktion kann zusätzlich zu den oder anstelle der Ausführungsformen des Strahlverfolgungsalgorithmus, der in Bezug auf 2 beschrieben ist, verwendet werden.
-
Einige Ausführungsformen der Glättungsfunktion bestimmen auf der Basis der räumlichen Nähe des Bildpunktes zu Merkmalen im Kalibrierungszielbild, ob der Bildpunkt als weiß, schwarz oder als Grauwert zu rendern ist. Zum Beispiel kann die Kalibrierungseinrichtung eine Strahlverfolgung auf der Basis der Modellparameter verwenden, um einen Kreuzungspunkt
315 in der Kalibrierungszielebene für einen Strahl zu bestimmen, der von einem Mittelpunkt im Bildpunkt
310 ausstrahlt. Die Kalibrierungseinrichtung bestimmt daraufhin den Punkt
320 auf der Ellipse
305, der dem Kreuzungspunkt
315 am nächsten liegt, und berechnet einen Bildpunktabstand δ zwischen dem Kreuzungspunkt
315 und dem nahegelegensten Punkt
320. Wenn der Bildpunktabstand δ kleiner als ein Schwellenwert τ ist, wird die Intensität des Bildpunktes als Grauwert gerendert:
wenn sich der Kreuzungspunkt
315 innerhalb der Ellipse
305 befindet, und
wenn sich der Kreuzungspunkt
315 außerhalb der Ellipse
305 befindet.
-
Die Bildpunkte werden als weiß (/ = 1) gerendert, wenn δ > τ und der Kreuzungspunkt 315 sich außerhalb der Ellipse 305 befindet. Die Bildpunkte werden als schwarz (I = 0) gerendert, wenn δ > τ und der Kreuzungspunkt 315 sich innerhalb der Ellipse 305 befindet. Die Glättungsfunktion nähert dadurch die Kreuzungsfläche zwischen der Ellipse 305 und dem Bildpunkt 310 an und skaliert die Intensität näherungsweise proportional zur Kreuzungsfläche.
-
4 ist ein Diagramm, das eine Folge 400 von Vergleichen eines tatsächlichen Bildes und eines synthetischen Bildes in aufeinanderfolgenden Iterationen eines Kalibrierungsalgorithmus gemäß einigen Ausführungsformen abbildet. Die Vergleiche 405, 410, 415 zeigen ein tatsächliches Bild, das durch eine Kamera aufgenommen wird, und ein synthetisches Bild, das durch eine Kalibrierungseinrichtung auf der Basis einer Gruppe von Modellparametern erzeugt wird. Das tatsächliche Bild, das durch die Kamera aufgenommen wird, ist durch die gefüllten, schwarzen Kreise angeben. Das tatsächliche Bild bleibt in jedem der Vergleiche 405, 410, 515 dasselbe. Gestrichelte Kreise werden verwendet, um das synthetische Bild anzugeben, das durch die Kalibrierungseinrichtung erzeugt wird. Das synthetische Bild ändert sich zwischen den Vergleichen 405, 410, 415 als Antwort auf die Modifikation der Modellparameter durch die Kalibrierungseinrichtung.
-
Der Vergleich 405 zeigt das tatsächliche Bild und ein anfängliches, synthetisches Bild, das auf der Basis eines anfänglichen Schätzwertes der Modellparameter, die die Kamera darstellen, erzeugt wird. Der anfängliche Schätzwert kann auf der Basis einer Standardgruppe von Modellparametern oder unter Verwendung einer anderen Kalibrierungstechnik, um die Modellparameter zu initialisieren, erzeugt werden. Die Kalibrierungseinrichtung bestimmt Modifikationen an den Modellparametern z. B. durch Durchführen einer Minimierung mittels kleinster Quadrate auf der Basis der Gleichung (2) oder der Gleichung (3), wie hier diskutiert ist. Die Modellparameter können daraufhin aktualisiert werden.
-
Der Vergleich 410 zeigt das tatsächliche Bild und ein modifiziertes, synthetisches Bild, das auf der Basis der modifizierten Modellparameter erzeugt wird, die durch die Kalibrierungseinrichtung bestimmt werden. Die Kalibrierungseinrichtung führt eine weitere Iteration der Minimierung mittels kleinster Quadrate durch, um zusätzliche Modifikationen an den Modellparametern zu bestimmen, z. B. indem auf der Basis der Gleichung (2) oder der Gleichung (3) eine weitere Iteration der Minimierung mittels kleinster Quadrate durchgeführt wird, wie hier diskutiert ist. Die Modellparameter können daraufhin aktualisiert werden.
-
Der Vergleich 415 zeigt das tatsächliche Bild und ein modifiziertes, synthetisches Bild, das auf der Basis der modifizierten Modellparameter erzeugt wird, die durch die Kalibrierungseinrichtung unter Verwendung des tatsächlichen Bildes und eines modifizierten, synthetischen Bildes, das im Vergleich 410 gezeigt ist, bestimmt werden. Der Vergleich 415 gibt an, dass die iterative Minimierung mittels kleinster Quadrate konvergiert hat. Die Konvergenz kann dadurch angeben sein, dass die Differenzen der kleinsten Quadrate zwischen den Intensitäten im tatsächlichen Bild und im modifizierten, synthetischen Bild unter einen Schwellenwert abfallen. Die Konvergenz kann außerdem dadurch angegeben sein, dass die Amplitude der Änderungen der Modellparameter unter einen Schwellenwert abfällt.
-
5 zeigt ein tatsächliches Bild 500 eines Kalibrierungsziels, das durch eine Kamera unter Verwendung eines Fischaugenobjektivs aufgenommen ist, gemäß einigen Ausführungsformen. Das Kalibrierungsziel ist ein ebenes Ziel, das ein Muster aus großen und kleinen Kreisen enthält, wie etwa das Kalibrierungsziel 120, das in 1 gezeigt ist. Das große Blickfeld des Fischaugenobjektivs erzeugt im tatsächlichen Bild 500 eine bedeutende, radiale Verzeichnung. Ein synthetisches Bild 505 des Kalibrierungsziels wird durch eine Kalibrierungseinrichtung auf der Basis der Modellparameter erzeugt, die die Kamera beschreiben, die verwendet wird, um das tatsächliche Bild 500 aufzunehmen. Ein Differenzbild 510 veranschaulicht die Differenzen zwischen den Intensitäten an jedem der Bildpunkte im tatsächlichen Bild 500 und im synthetischen Bild 505. Die Intensitätsdifferenzen, die durch 510 veranschaulicht sind, können verwendet werden, um die Modellparameter der Kamera zu kalibrieren, wie hier diskutiert ist.
-
6 ist ein Diagramm eines Kalibrierungssystems 600 zum Kalibrieren von Modellparametern einer Kameraanlage 605 gemäß einigen Ausführungsformen. Die Kameraanlage 605 enthält mehrere einzelne Kameras 610, 611, 612, 613 (die zusammen als „die Kameras 610-613“ bezeichnet werden), die durch eine Anlage oder eine andere Struktur fest miteinander verbunden sind. Die Kameras 610-613 können Weitwinkelbildgebungskameras, um eine Ansicht der lokalen Umgebung unter einem breiteren Blickwinkel bereitzustellen, oder Schmalwinkelbildgebungskameras, die eine Ansicht der lokalen Umgebung unter einem schmäleren Blickwinkel bereitstellen, sein. Die Kameras 610-613 werden durch eine Gruppe von Modellparametern beschrieben, die intrinsische Modellparameter enthalten, die die inneren Eigenschaften der Kameras 610-613 darstellen. Zum Beispiel kann jede der Kameras 610-613 durch eine getrennte Gruppe intrinsischer Modellparameter beschrieben sein, die eine Brennweite, ein Projektionszentrum, einen oder mehreren Verzeichnungskoeffizienten und einen oder mehrere Skalierungs-/Vergrößerungsparameter enthalten.
-
Die Kameraanlage 605 wird außerdem durch extrinsische Modellparameter beschrieben, die die X-, Y- und Z-Koordinaten 615, 616, 617 enthalten, die die Position der Kameraanlage 605 definieren. Die Kameraanlage 605 und jede der einzelnen Kameras 610-613 können außerdem durch Nick-, Gier- und Rollwerte (zur Klarheit in 6 nicht gezeigt) beschrieben werden. Extrinsische Modellparameter können außerdem verwendet werden, um die relativen Positionen der einzelnen Kameras 610-613 zu beschreiben. Zum Beispiel können die X-, Y- und Z-Koordinaten 615, 616, 617 die Position der Kamera 613 angeben, und die zusätzlichen, extrinsischen Modellparameter 620, 621, 622 können verwendet werden, um die Positionen der Kameras 610, 611, 612 relativ zur Kamera 613 anzugeben. Extrinsische Modellparameter können außerdem verwendet werden, um die relativen Drehungsausrichtungen der Kameras 610-613 anzugeben, wie etwa Nick-, Gier- und Rollwerte.
-
Das Kalibrierungssystem
600 enthält ein oder mehrere Kalibrierungsziele 625, die ein Zielmuster enthalten, das aus Kreisen oder Ellipsen mit verschiedenen Größen gebildet ist. Die Position des Kalibrierungsziels
625 wird durch die X-, Y-, Z-Koordinaten 626, 627, 628 dargestellt. Wie hier diskutiert ist, kalibriert eine Kalibrierungseinrichtung
630 die Kameraanlage
605, indem tatsächliche Bilder des Kalibrierungsziels
625 mit synthetischen Bildern verglichen werden, die auf der Basis der Modellparameter der Kameras
610-
613 erzeugt werden. Zum Beispiel kann die Kalibrierungseinrichtung
630 den Wert des Parametervektors p, der eine Differenz zwischen den Intensitäten der Bildpunkte in den synthetischen Bildern und den Intensitäten der Bildpunkte im tatsächlichen Bild minimiert, gemäß der Funktion der Minimierung mittels kleinster Quadrate bestimmen:
wobei:
- i, j, u Indizes für die verschiedenen Kameras 610-613 in der Kameraanlage 605 bzw. für die verschiedenen Bilder bzw. für die Bildpunkte in den Bildern sind;
- j ∈ {1,Nj} Modellparameter sind, die die Transformation von einem Grundkoordinatenrahmen, der der Grundkamera 613 zugeordnet ist, auf die anderen Kameras 610-612 darstellen, Nj die Anzahl der Kameras 610-613 in der Kameraanlage ist und
die Identitätstransformation ist;
- ein Vektor ist, der die Gruppe der Modellparameter für die Kameraanlage 605 darstellt.
-
Die anderen Variablen in der Gleichung (5) entsprechen den Variablen, die oben für die Gleichung (4) definiert sind.
-
7 ist ein Ablaufplan eines Verfahrens 700 zum Kalibrieren der Modellparameter, die eine Kamera beschreiben, gemäß einigen Ausführungsformen. Das Verfahren 700 kann in einigen Ausführungsformen der Kalibrierungseinrichtung 125, die in 1 gezeigt ist, oder der Kalibrierungseinrichtung 630, die in 2 gezeigt ist, implementiert sein. In Block 705 nimmt die Kamera ein tatsächliches Bild eines Kalibrierungsziels auf. Das tatsächliche Bild wird durch Intensitätswerte dargestellt, die durch die Bildpunkte in einer Bildebene der Kamera empfangen werden, und Informationen, die die Intensitätswerte angeben, können z. B. in einem Datenspeicher, der in der Kamera implementiert ist, oder in einem externen Datenspeicher gespeichert werden. In Block 710 rendert die Kalibrierungseinrichtung ein synthetisches Bild des Kalibrierungsziels auf der Basis der Modellparameter der Kamera. Zum Beispiel kann die Kalibrierungseinrichtung das synthetische Bild des Kalibrierungsziels rendern, indem Strahlen von Orten, die den Bildpunkten zugeordnet sind, zu entsprechenden Orten am Kalibrierungsziel verfolgt werden und daraufhin die Intensitätswerte an den Orten auf dem Kalibrierungsziel den Bildpunktorten zugeordnet werden.
-
In Block 715 modifiziert die Kalibrierungseinrichtung die Modellparameter der Kamera durch Durchführen einer Minimierung mittels kleinster Quadrate auf einem Abstandsmaß zwischen den Intensitätswerten an den Bildpunkten im tatsächlichen und im synthetischen Bild. Einige Ausführungsformen der Kalibrierungseinrichtung modifizieren die Werte der Modellparameter auf der Basis der Funktion der Minimierung mittels kleinster Quadrate, die in Gleichung (1) definiert ist. Einige Ausführungsformen der Kalibrierungsfunktion verwenden einen Gauß-Newton-Algorithmus, um nach den aktualisierten Modellparameter aufzulösen, wie z. B. in Gleichung (2) definiert ist. Einige Ausführungsformen der Kalibrierungseinrichtung lösen nach den aktualisierten Modellparametern auf, indem ein Lucas-Kanade-Algorithmus für den optischen Fluss verwendet wird, wie z. B. in Gleichung (3) definiert ist. Die Modellparameter können außerdem auf der Basis von mehrfachen Bildern unter Verwendung der Funktion der Minimierung mittels kleinster Quadrate bestimmt werden, die in Gleichung (4) definiert ist, und die Modellparameter für eine Anordnung mehrerer Kameras können unter Verwendung der Funktion der Minimierung mittels kleinster Quadrate bestimmt werden, die in Gleichung (5) definiert ist.
-
Im Entscheidungsblock 720 bestimmt die Kalibrierungseinrichtung, ob die modifizierten Modellparameter ein Konvergenzkriterium erfüllen. Zum Beispiel kann die Kalibrierungseinrichtung bestimmen, ob eine Bruchteiländerung (oder prozentuale Änderung) der Modellparameter unter einem Schwellenwert liegt. Die Bruchteiländerung oder prozentuale Änderung kann für jeden Modellparameter oder für Kombinationen der Modellparameter bestimmt werden. Als ein weiteres Beispiel kann die Kalibrierungseinrichtung bestimmen, ob die Differenz der kleinsten Quadrate zwischen dem tatsächlichen Bild und dem synthetischen Bild unter einem Schwellenwert liegt, wie z. B. durch die Gleichung (1) angegeben ist. Einige Ausführungsformen der Kalibrierungseinrichtung können Kombinationen dieser Konvergenzkriterien oder andere Konvergenzkriterien verwenden. Solange das Konvergenzkriterium nicht erfüllt ist, fährt das Verfahren 700 zu Block 710 fort, derart, dass die Modellparameter iterativ aktualisiert werden, bis das Konvergenzkriterium erfüllt ist. Sobald das Konvergenzkriterium erfüllt ist, fährt das Verfahren 700 zu Block 725 fort.
-
In Block 725 werden die kalibrierten Modellparameter gespeichert. Einige Ausführungsformen der Kalibrierungseinrichtung speichern die kalibrierten Modellparameter an einem externen Ort oder auf anderen nicht flüchtigen, computerlesbaren Speichermedien zur anschließenden Verwendung durch die Kamera. Die Kalibrierungseinrichtung kann außerdem die kalibrierten Modellparameter in nicht flüchtigen, computerlesbaren Speichermedien speichern, die in der Kamera implementiert sind, derart, dass die Kamera direkt auf diese Informationen zugreifen kann.
-
8 ist ein Ablaufplan eines Verfahrens 800 zum Kalibrieren der Modellparameter, die eine Kamera beschreiben, unter Verwendung einer Skalierungstechnik von grob zu fein gemäß einigen Ausführungsformen. Das Verfahren 800 kann in einigen Ausführungsformen der Kalibrierungseinrichtung 125, die in 1 gezeigt ist, oder der Kalibrierungseinrichtung 630, die in 2 gezeigt ist, implementiert sein. In Block 805 wählt die Kalibrierungseinrichtung eine Skalierung für das Bild. Zum Beispiel kann die Kalibrierungseinrichtung anfänglich eine grobe Skalierung wählen, derart, dass jeder Bildpunkt einen Intensitätswert aufnimmt oder darstellt, der einem größeren Abschnitt des Kalibrierungsziels zugeordnet ist. Das Verwenden einer groben Skalierung glättet die Merkmale einer hohen Auflösung heraus, was dazu beiträgt, dass das Verfahren 800 lokale Minima im Algorithmus der Minimierung mittels kleinster Quadrate vermeidet. Zum Beispiel kann das Wählen einer relativ groben Skalierung, um das tatsächliche Bild des Kalibrierungsziels 120 aufzunehmen, das in 1 gezeigt ist, im Wesentlichen die kleineren Kreise aus dem tatsächlichen Bild entfernen und ermöglichen, dass die Minimierung mittels kleinster Quadrate im Wesentlichen auf der Basis des Musters der größeren Kreise im Kalibrierungsziel 120 durchgeführt wird. Der Minimierungsalgorithmus kann daher lokale Minima vermeiden, die auftreten, wenn im tatsächlichen Bild und im synthetischen Bild kleine Kreise auf große Kreise ausgerichtet sind.
-
In Block 810 nimmt die Kamera mit der Skalierung, die in Block 805 bestimmt wird, ein tatsächliches Bild des Kalibrierungsziels auf. Das tatsächliche Bild wird durch die Intensitätswerte dargestellt, die durch die Bildpunkte in einer Bildebene der Kamera empfangen werden, und Informationen, die die Intensitätswerte angeben, können z. B. in einem Datenspeicher, der in der Kamera implementiert ist, oder in einem externen Datenspeicher gespeichert werden. In Block 815 rendert die Kalibrierungseinrichtung ein synthetisches Bild des Kalibrierungsziels auf der Basis der Modellparameter der Kamera und der Skalierung, die in Block 805 bestimmt wird. Zum Beispiel kann die Kalibrierungseinrichtung das synthetische Bild des Kalibrierungsziels rendern, indem Strahlen von Orten, die den Bildpunkten zugeordnet sind, zu entsprechenden Orten am Kalibrierungsziel verfolgt werden und daraufhin die Intensitätswerte an den Orten auf dem Kalibrierungsziel den Bildpunktorten zugeordnet werden.
-
In Block 820 modifiziert die Kalibrierungseinrichtung die Modellparameter der Kamera durch Durchführen einer Minimierung mittels kleinster Quadrate auf einem Abstandmaß zwischen den Intensitätswerten an den Bildpunkten im tatsächlichen Bild und im synthetischen Bild. Wie hier diskutiert ist, modifizieren einige Ausführungsformen der Kalibrierungseinrichtung die Werte der Modellparameter auf der Basis der Funktion der Minimierung mittels kleinster Quadrate, die in Gleichung (1) definiert ist, unter Verwendung eines Gauß-Newton-Algorithmus, wie z. B. in Gleichung (2) definiert ist, oder eines Lucas-Kanade-Algorithmus für den optischen Fluss, wie z. B. in Gleichung (3) definiert ist, um nach den aktualisierten Modellparametern aufzulösen. Die Modellparameter können außerdem auf der Basis mehrfacher Bilder unter Verwendung der Funktion der Minimierung mittels kleinster Quadrate bestimmt werden, die in Gleichung (4) definiert ist. Die Modellparameter für eine Anordnung mehrerer Kameras können unter Verwendung der Funktion der Minimierung mittels kleinster Quadrate bestimmt werden, die in Gleichung (5) definiert ist.
-
Im Entscheidungsblock 825 bestimmt die Kalibrierungseinrichtung, ob die modifizierten Modellparameter ein Konvergenzkriterium erfüllen. Wie hier diskutiert ist, kann das Konvergenzkriterium angeben, ob eine Bruchteiländerung (oder prozentuale Änderung) der Modellparameter unter einem Schwellenwert liegt oder ob die Differenz der kleinsten Quadrate zwischen dem tatsächlichen Bild und dem synthetischen Bild unter einem Schwellenwert liegt, wie z. B. durch die Gleichung (1) angegeben ist. Einige Ausführungsformen der Kalibrierungseinrichtung können Kombinationen dieser Konvergenzkriterien oder andere Konvergenzkriterien verwenden. Solange das Konvergenzkriterium nicht erfüllt ist, fährt das Verfahren 800 zu Block 815 fort, derart, dass die Modellparameter iterativ aktualisiert werden, bis das Konvergenzkriterium erfüllt ist. Sobald das Konvergenzkriterium erfüllt ist, fährt das Verfahren 800 zu Block 830 fort.
-
Im Entscheidungsblock 830 bestimmt die Kalibrierungseinrichtung, ob das tatsächliche Bild und das synthetische Bild vollmaßstäblich vorliegen, derart, dass das tatsächliche Bild und das synthetische Bild die höchstmögliche Auflösung aufweisen und die Bildpunkte im tatsächlichen Bild und im synthetischen Bild den kleinstmöglichen Abschnitt des Kalibrierungsziels darstellen. Wenn nicht, fährt das Verfahren 800 zu Block 835 fort, und der Skalierungsfaktor wird auf den nächsthöchsten Skalierungsfaktor mit der nächsthöchsten Auflösung erhöht. Zum Beispiel kann das Verfahren 800 eine vorgegebene Gruppe von Skalierungsfaktoren wie etwa 1/8, 1/4, 1/2 und vollmaßstäblich verwenden. Das Verfahren 800 kann daher durch die Gruppe der Skalierungsfaktoren iterieren, bis die modifizierten Modellparameter der Kamera die Modellparameter der Kamera darstellen, die auf der Basis des vollmaßstäblichen, tatsächlichen Bildes und des vollmaßstäblichen, synthetischen Bildes bestimmt werden. Sobald die Kalibrierungseinrichtung bestimmt, dass die Modellparameter der Kamera auf der Basis des vollmaßstäblichen, tatsächlichen Bildes und des vollmaßstäblichen, synthetischen Bildes bestimmt worden sind, fährt das Verfahren zu Block 840 fort.
-
In Block 840 werden die kalibrierten Modellparameter gespeichert. Einige Ausführungsformen der Kalibrierungseinrichtung speichern die kalibrierten Modellparameter an einem externen Ort oder auf anderen nicht flüchtigen, computerlesbaren Speichermedien zur anschließenden Verwendung durch die Kamera. Die Kalibrierungseinrichtung kann außerdem die kalibrierten Modellparameter in nicht flüchtigen, computerlesbaren Speichermedien speichern, die in der Kamera implementiert sind, derart, dass die Kamera direkt auf diese Informationen zugreifen kann.
-
In einigen Ausführungsformen können bestimmte Aspekte der oben beschriebenen Techniken durch einen oder durch mehrere Prozessoren eines Verarbeitungssystems implementiert sein, die Software ausführen. Die Software umfasst eine oder mehrere Gruppen ausführbarer Anweisungen, die auf einem nicht flüchtigen, computerlesbaren Speichermedium gespeichert oder auf andere Weise materiell ausgeführt sind. Die Software kann die Anweisungen und bestimmte Daten enthalten, die dann, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren derart handhaben, dass ein oder mehrere Aspekte der oben beschriebenen Techniken ausgeführt werden. Das nicht flüchtige, computerlesbare Speichermedium kann z. B. eine magnetische oder optische Plattenspeichereinrichtung, Festkörperspeichereinrichtungen wie etwa Flash-Speicher, einen Cache, einen Schreib/Lese-Speicher (RAM) oder eine andere nicht flüchtige Datenspeichereinrichtung oder andere nicht flüchtige Datenspeichereinrichtungen und dergleichen enthalten. Die ausführbaren Anweisungen, die auf dem nicht flüchtigen, computerlesbaren Speichermedium gespeichert sind, können als Quellcode, als Code in einer Assemblersprache, als Objektcode oder in einem anderen Anweisungsformat vorliegen, das durch den einen oder die mehreren Prozessoren interpretiert wird oder auf andere Weise ausgeführt werden kann.
-
Ein computerlesbares Speichermedium kann ein beliebiges Speichermedium oder eine beliebige Kombination von Speichermedien enthalten, auf die während des Gebrauchs durch ein Computersystem zugegriffen werden kann, um dem Computersystem Anweisungen und/oder Daten bereitzustellen. Derartige Speichermedien können optische Medien (z. B. Compact Disc (CD), Digital Versatile Disc (DVD), Blu-Ray Disc), magnetische Medien (z. B. Floppy Disc, Magnetband oder eine magnetische Festplatte), flüchtige Datenspeicher (z. B. Schreib-/Lese-Speicher (RAM) oder Cache), nicht flüchtige Datenspeicher (z. B. Festwertspeicher (ROM) oder Flash-Speicher) oder auf mikroelektromechanischen Systemen (MEMS) basierende Speichermedien enthalten, sind jedoch nicht darauf eingeschränkt. Das computerlesbare Speichermedium kann im Rechensystem eingebettet (z. B. System-RAM oder System-ROM), fest am Rechensystem befestigt (z. B. eine magnetische Festplatte), entfernbar am Rechensystem befestigt (z. B. eine optische Disc oder ein auf dem Universal-Serial-Bus (USB) basierender Flash-Speicher) oder über ein leitungsgebundenes oder drahtloses Netz mit dem Computersystem gekoppelt sein (z. B. netzzugreifbarer Speicher (NAS)).
-
Es sei erwähnt, dass nicht alle der oben in der allgemeinen Beschreibung beschriebenen Aktivitäten oder Elemente erforderlich sind, dass ein Abschnitt einer bestimmten Aktivität oder Einrichtung möglicherweise nicht erforderlich ist und dass zusätzlich zu jenen, die beschrieben sind, eine oder mehrere Aktivitäten durchgeführt werden können oder ein oder mehrere Elemente enthalten sein können. Darüber hinaus ist die Reihenfolge, in der die Aktivitäten aufgelistet sind, nicht notwendigerweise die Reihenfolge, in der sie durchgeführt werden. Außerdem wurden die Konzepte unter Bezugnahme auf bestimmte Ausführungsformen beschrieben. Jedoch anerkennt der Fachmann auf dem Gebiet, dass diverse Modifikationen und Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung, wie in den unten stehenden Ansprüchen dargelegt, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren in einem veranschaulichenden und nicht in einem einschränkenden Sinn zu betrachten, und es ist beabsichtigt, dass alle derartigen Modifikationen im Umfang der vorliegenden Offenbarung enthalten sind.
-
Nutzenaspekte, andere Vorteile und Problemlösungen wurden oben in Bezug auf bestimmte Ausführungsformen beschrieben. Jedoch sind die Nutzenaspekte, Vorteile, Problemlösungen und jedes Merkmal bzw. jegliche Merkmale, die bewirken, dass ein beliebiger Nutzenaspekt, Vorteil oder eine beliebige Lösung auftritt oder deutlicher ausgeprägt ist, nicht als ein kritisches, erforderliches oder unentbehrliches Merkmal beliebiger oder aller Ansprüche anzusehen. Außerdem sind die oben offenbarten, spezifischen Ausführungsformen lediglich veranschaulichend, da der offenbarte Gegenstand auf andere, jedoch äquivalente Weisen, die dem Fachmann auf dem Gebiet ersichtlich sind, der den Nutzen aus den Lehren hierin zieht, modifiziert und praktiziert werden kann. Bezüglich der Einzelheiten der hier gezeigten Konstruktion oder des hier gezeigten Entwurfs sind keine Einschränkungen beabsichtigt, außer jenen, die in den Ansprüchen unten beschrieben sind. Es ist daher offensichtlich, dass die spezifischen Ausführungsformen, die oben offenbart sind, abgewandelt oder modifiziert werden können und dass alle derartigen Abwandlungen als innerhalb des Umfangs des offenbarten Gegenstands betrachtet werden. Dementsprechend ist der hier angestrebte Schutz wie in den Ansprüchen unten dargelegt.