-
Technischer Bereich
-
Die vorliegende Anmeldung betrifft ein Kalibrierungsverfahren für ein Bildverarbeitungssystem und insbesondere ein Kalibrierungsverfahren für ein Bildverarbeitungssystem mit mehreren Freiheitsgraden.
-
Hintergrund
-
Bildverarbeitungssysteme mit mehreren Freiheitsgraden wurden in einem breiten Anwendungsspektrum verwendet. Ihre strukturellen Merkmale sind Bildverarbeitungssysteme mit mehreren Bewegungs-Freiheitsgraden, beispielsweise eine übliche handgehaltene stabilitätsverbesserte Kamera oder eine Quadrocopter-Luftbildkamera, die in der Regel drei rotatorische Freiheitsgrade aufweist und ein Bildverarbeitungsmodul enthält, das so gesteuert werden kann, dass es sich in drei Freiheitsgraden dreht, oder eine Schwenk-Neige-Zoom PTZ-Überwachungskamera [engl: pan-tilt-zoom], die entlang von Straßen eingesetzt wird und über eine Beweglichkeit in zwei Freiheitsgraden und Zoom-Kameras verfügt, um eine Verfolgung und Überwachung eines großen Sichtfeldes zu ermöglichen. In solchen Anwendungsszenarien ist es in der Regel nicht notwendig, die genaue Positionsbeziehung zwischen der Kamera und der Montagebasis zu kennen. Bei Roboterarmen, an deren Ende Bildverarbeitungsmodule montiert sind, ist es jedoch aufgrund der erforderlichen präzisen Operationen in der Regel notwendig, die genaue Positionsbeziehung zwischen der Kamera und der Montagebasis zu kennen.
-
Bei beweglichen Bildverarbeitungssystemen gibt es zwei Hauptprobleme bei dem präzisen Bestimmen der Positionen eines Bildverarbeitungselements und einer Basis. Eines der Probleme ist, wie man die Positionsänderung des Bildverarbeitungselements erhält, wenn es sich in jedem Freiheitsgrad bewegt. Das andere Problem ist, dass es aufgrund der begrenzten Möglichkeiten bestehender mechanischer Bearbeitungs- und Montagetechniken eine Herausforderung ist, sicherzustellen, dass sich die mechanischen Rotationsachsen für jeden Bewegungsfreiheitsgrad genau wie vorgesehen bewegen, während es zudem schwierig ist, die relative Position zwischen dem Bildverarbeitungselement und der mechanischen Rotationsachse sicherzustellen. All dies stellt die unmittelbare Berechnung der exakten Positionen eines Bildverarbeitungselements und einer Basis in einem beweglichen Bildverarbeitungssystem vor erhebliche Herausforderungen.
-
Zusammenfassung
-
Um die im Stand der Technik bestehenden Probleme zu bewältigen, schlägt die vorliegende Anmeldung ein Kalibrierungsverfahren für ein bewegliches Bildverarbeitungssystem mit mehreren Freiheitsgraden (DOF) [engl: degree-offreedom] vor, das in der Lage ist, die genaue relative Position zwischen dem Bildverarbeitungselement und der Basis während der praktischen Verwendung des beweglichen Bildverarbeitungssystems zu erhalten, durch vorausgehendes Kalibrieren, wie das Bildverarbeitungselement und die Basis durch Bewegungen in jedem Freiheitsgrad beeinflusst werden.
-
In dem vorgeschlagenen Kalibrierungsverfahren für ein bewegliches Bildverarbeitungssystem mit mehreren Freiheitsgraden (DOF) enthält das bewegliche Bildverarbeitungssystem eine Bildverarbeitungskomponente, die mindestens ein Bildverarbeitungselement umfasst, das in der Lage ist, aufeinanderfolgende Bilder zu erfassen, wobei die Bildverarbeitungskomponente mindestens einen Bewegungs-Freiheitsgrad aufweist und auf einer Basis montiert ist, wobei jeder Freiheitsgrad mit einem Positionserfassungsgerät versehen ist, das dazu in der Lage ist, Rotations- oder Translationsinformationen zu erfassen; eine Berechnungskomponente, die dazu in der Lage ist, Bildinformationen und Bewegungsinformationen in jedem Bewegungs-Freiheitsgrad zu berechnen und zu verarbeiten; und eine Steuerungskomponente, die dazu in der Lage ist, die Bewegung in jedem Bewegungs-Freiheitsgrad zu steuern. Das Kalibrierungsverfahren umfasst: Platzieren einer Kalibrierungsvorlage vor dem Bildverarbeitungselement; Ansteuern des Bildverarbeitungselements, um sich in jedem Bewegungs-Freiheitsgrad zu bewegen; Erfassen einer Anzahl von Bildern, die Merkmale der Kalibrierungsvorlage beinhalten, durch das Bildverarbeitungselement und gleichzeitiges Aufzeichnen von Positionsinformationen jedes Bewegungs-Freiheitsgrads, während des Erfassens entsprechender Bilder; und Berechnen von Kalibrierungsergebnissen für das Bildverarbeitungselement und jeden Bewegungs-Freiheitsgrad durch die Berechnungskomponente.
-
Optional kann die Bildverarbeitungskomponente z. B. eine Reihe von Motoren sein, die in Tandemanordnung gekoppelt sind, und ein Bildverarbeitungselement an ihrem Ende aufweisen, so dass diese Tandemmotoren der Bildverarbeitungskomponente mehrere Bewegungs-Freiheitsgrade verleihen können. Für jeden Bewegungs-Freiheitsgrad wird die Bildverarbeitungskomponente hauptsächlich dazu verwendet, Informationen über den Rotationswinkel zu erhalten. Natürlich können auch Translationsinformationen erhalten werden, wenn es sich um Linearmotoren handelt, die eine translatorische Kraft zur Ermöglichung der Rotation ausführen.
-
Optional umfasst das Kalibrierungsverfahren insbesondere die Schritte: (1) Aufzeichnen von Positionsinformationen jedes Bewegungs-Freiheitsgrades an einer Referenzposition; (2) Platzieren der Kalibrierungsvorlage vor der Bildverarbeitungskomponente und für jeden Bewegungs-Freiheitsgrad mehrmaliges Veranlassen von Änderungen eines Bewegungs-Freiheitsgrades und Erfassen entsprechender Bilder und Sammeln entsprechender Positionsinformationen des Bewegungs-Freiheitsgrades; und (3) Berechnen von Kalibrierungsergebnissen für jeden Bewegungs-Freiheitsgrad unter Anwendung eines Kalibrierungsalgorithmus, basierend auf den erfassten Bildern und den gesammelten Positionsinformationen jedes Bewegungs-Freiheitsgrades.
-
In der praktischen Anwendung können die aus dem Kalibrierungsprozess erhaltenen Kalibrierungsergebnisse (einschließlich Referenzpositionsinformationen und Kalibrierungsergebnisse für jeden Bewegungs-Freiheitsgrad) in Kombination mit den erfassten Positionsinformationen des Bildverarbeitungssystems in jedem Bewegungs-Freiheitsgrad verwendet werden, um Rotations- und Translationsbeziehungen der aktuellen Position des Bildverarbeitungselements relativ zur Referenzposition zu erhalten.
-
In einer besonderen Ausführungsform umfasst das Kalibrierungsverfahren der vorliegenden Anmeldung die folgenden Schritte:
- (1) Bestimmen einer Referenzposition und Erhalten von Informationen darüber:
- Wählen einer beliebigen Position als die Referenzposition und Aufzeichnen von Positionsinformationen {θ1a} (a=1...N) von jedem Bewegungs-Freiheitsgrad an der Referenzposition, wobei N die Anzahl der Bewegungs-Freiheitsgrade des Bildverarbeitungssystems darstellt und a die fortlaufende Nummer eines bestimmten Bewegungs-Freiheitsgrads ist, die entsprechend der Verbindungsreihenfolge der Bewegungs-Freiheitsgrade nummeriert ist.
- (2) Kalibrieren von Bewegungsachsen: Platzieren der Kalibrierungsvorlage fest vor dem beweglichen System, dass die Bildverarbeitungskomponente vollständige Bilder der Kalibrierungsvorlage erfassen kann; die a-te Bewegungsachse mehrmals drehen und bei jeder Drehung ein Bild Mai erfassen durch das Bildverarbeitungselement, das mit der Bewegungsachse verbunden ist, und gleichzeitiges Aufzeichnen von Positionsinformationen des Bewegungs-Schaftes, um {Mai, θai1 , ... , θaiN} zu erhalten; Berechnen, um Rotations- und Translations-Transformationsmatrizen {Raci, TaCi} jedes aufgenommenen Bildes relativ zur Position der Kalibrierungsvorlage zu erhalten, basierend auf der Sequenz von Bildern (Ma1,Ma2,Ma3, ...), die in den jeweiligen Rotationen aufgenommen wurden, und einen bestehenden, etablierten Bildkalibrierungsalgorithmus (z.B, das Kalibrierungsverfahren von Zhang), was wiederum {RaCi,TaCi,θai}(i =1... Pa) ergibt in Kombination mit den Positionsinformationen der Bewegungsachse, die aufgezeichnet wurden, als die Bilder aufgenommen wurden, wobei Pa die Gesamtzahl der gültigen Bilder darstellt, die während der Rotationen der a-ten Bewegungsachse im Kalibrierungsprozess aufgenommen wurden; und Umwandeln von Rotationswinkeln {θai1-θl1,θaiN-θlN}(i = 1 ... Pa) der Bewegungsachse relativ zu der Referenzposition aus den Ergebnissen der Bewegungsachsen-Kalibrierung in Rotationsmatrizen {RB1i,..., RBNi} (i = 1... Pa), Einsetzen der obigen Ergebnisse in das Beziehungsmodell
zwischen einem Rotationsachsen-Koordinatensystem für jeden Bewegungs-Freiheitsgrad und dem Bildverarbeitungselement-Koordinatensystem in der vorliegenden Anwendung, um mehrere Gleichungssätze zu erhalten, und Lösen der optimalen Lösung {RBCa, TBCa} (a = 1... N) für diese Gleichungssätze, wobei RBCa,TBCa die Rotations- und Translationsmatrizen der a-ten Bewegungsachse relativ zum Koordinatensystem des Bildverarbeitungselements darstellen, N die Anzahl der Bewegungs-Freiheitsgrade des Sichtsystems ist, RBai die Rotationsmatrizen bezeichnet, die aus den Drehwinkeln der a-ten Bewegungsachse relativ zur Referenzposition umgerechnet werden, RaCi, TaCi Rotations- und Translations-Transformationsmatrizen eines Koordinatensystems des i-ten Bildes sind, das aufgenommen wird, wenn sich die a-te Bewegungsachse relativ zur Position der Kalibrierungsvorlage bewegt, und Pa die Gesamtzahl der gültigen Bilder ist, die während der Rotationen der a-ten Bewegungsachse im Kalibrierungsprozess aufgenommen wurden.
- (3) Berechnen der Kalibrierungsergebnisse: Erhalten der Referenzpositionsinformationen {θla}. (a = 1 ... N) und Kalibrierungsergebnisse {RBCa,TBca) (a = 1... N) für jede Bewegungsachse aus den Schritten (1) bzw. (2); Erhalten von Positionsinformationen (θp1,θp2,θp3,...,θpN) jedes Bewegungs-Freiheitsgrades nach Bewegungen der Bildverarbeitungskomponente in dem beweglichen System und Erhalten von Rotationswinkeln (θp1-θl1,θp2-θl2,θp3-θl3, ... ,θpN-θIN) von jedem Bewegungs-Freiheitsgrad; Umrechnen der Rotationswinkel in eine Rotationsmatrix (Rp1, Rp2, Rp3,... ,RpN) ; und Einsetzen der Rotationsmatrix in das Beziehungsmodell (d. h. in die unten stehenden Gleichungen) zwischen einem Rotationsachsen-Koordinatensystem für jeden Bewegungs-Freiheitsgrad und dem Bildverarbeitungselement-Koordinatensystem in der vorliegenden Anmeldung, um extrinsische Parameter nach Bewegungen zu erhalten.
-
Die so erhaltenen R' und T' stellen Rotations- und Übergangsmatrizen der Bildverarbeitungskomponente relativ zu der Referenzposition dar, nachdem sich das bewegliche Bildverarbeitungssystem bewegt hat. RBca,TBCa stellen die Rotations- und Translationsmatrizen der a-ten Bewegungsachse relativ zum Bildverarbeitungselement-Koordinatensystem dar. N ist die Anzahl der Bewegungs-Freiheitsgrade des Bildverarbeitungssystems, und Rpa ist die Rotationsmatrix, umgewandelt aus dem Rotationswinkel der a-ten Bewegungsachse relativ zur Referenzposition.
-
In der vorliegenden Anmeldung ist die Bildverarbeitungskomponente zum Erfassen aufeinanderfolgender Bilder eingerichtet. Die Bildverarbeitungskomponente weist mindestens einen Bewegungs-Freiheitsgrad auf und ist durch jeden Bewegungs-Freiheitsgrad an der Basis befestigt. Jeder Bewegungs-Freiheitsgrad ist mit einem Positionserfassungsgerät ausgestattet, um Rotations- oder Translationsinformationen zu erhalten. Die Bildverarbeitungskomponente umfasst mindestens ein Bildverarbeitungselement und mindestens eine Linsen-Gruppe.
-
In der vorliegenden Anmeldung kann die Kalibrierungsvorlage eine Kalibrierungsvorlage sein, die extrahierbare invariante Merkmale mit bekannten Informationen über relative Positionen aufweist. Bei der Kalibrierungsvorlage kann es sich z. B. um verschiedene künstliche 2D- und 3D-Targets oder einige stationäre natürliche Szenen handeln, wobei erforderlich ist, dass sie in der Lage sind, Informationen der invarianten Merkmale durch einen Bildverarbeitungsalgorithmus zu extrahieren sowie relative Positionsbeziehungen zwischen den invarianten Merkmalen zu erfassen. In praktischen Anwendungen wird oft ein präzisionsgefertigtes 3D-Target oder 2D-Planar-Target als Kalibrierungsvorlage verwendet, um die Genauigkeit des Kalibrierungsergebnisses zu verbessern und die Schwierigkeit des Kalibrierungsprozesses zu verringern.
-
In der vorliegenden Anmeldung beziehen sich die Kalibrierungsergebnisse auf Rotations- und Translationsmatrizen jeder Rotationsachse relativ zu einem optischen Zentrum des Bildverarbeitungselements. In praktischen Anwendungen kann die relative Positionsbeziehung (d. h. die Rotations- und Translationsmatrizen) zwischen dem Bildverarbeitungselement und der Referenzposition sowohl aus den Kalibrierungsergebnissen als auch aus den Positionsinformationen jedes Bewegungs-Freiheitsgrads berechnet werden.
-
Im Stand der Technik ist es aufgrund von Bewegungen der Kamera während des Betriebs des beweglichen Systems und Fehlern jeder Achse, die von mechanischer Bearbeitung und Montage herbeigeführt werden, nicht möglich, präzise Änderungen der extrinsischen Parameter durch unmittelbare Berechnung zu erhalten. Im Gegensatz dazu ist das Kalibrierungsverfahren eines beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden, das in der vorliegenden Anmeldung vorgeschlagen wird, in der Lage, die relative Positionsbeziehung zwischen der Bildverarbeitungskomponente und der Referenzposition in Echtzeit auf der Grundlage der Positionsaufzeichnungskomponenten, die an jeder Achse vorgesehen sind, zu kalibrieren, selbst wenn die Position der Bildverarbeitungskomponente geändert wurde und Fehler in den relativen Positionen der einzelnen Achsen und der Bildverarbeitungskomponente aufgrund mechanischer Bearbeitung und Montage und anderer Faktoren vorhanden sind. Darüber hinaus kann auch eine genaue Rotation und Translation der Bildverarbeitungskomponente zwischen zwei beliebigen Positionen abgeleitet werden. In der vorliegenden Anmeldung erfolgt die Kalibrierung auf Basis des aus dem Stand der Technik bekannten Kamerakalibrierungsalgorithmus, der auf einem stereoskopischen 3D-Target basiert, oder des aus dem Stand der Technik bekannten Kamerakalibrierungsalgorithmus, der auf einem planaren 2D-Target basiert oder ähnlichem.
-
Im Vergleich zum Stand der Technik bietet die vorliegende Anmeldung die folgenden Vorteile. Sie ermöglicht es, präzise Rotations- und Translationsparameter eines Bildverarbeitungselements relativ zu einer Referenzposition durch Berechnung zu erhalten, selbst wenn das Bildverarbeitungselement in dem beweglichen System Bewegungen erfährt. Das vorgeschlagene Verfahren weist eine gute Leistung bei der Berechnung in Echtzeit auf. Das heißt, nach einer einmaligen Kalibrierung kann die Parameterinformation der Positionsänderung des Bildverarbeitungselements in Echtzeit erhalten werden, indem die Positionsinformation jedes Bewegungs-Freiheitsgrades berechnet wird. Die vorliegende Anmeldung ist in der Lage, Probleme, die mit einigen unvermeidlichen Diskrepanzen zwischen mechanischer Bearbeitung und Montage und der theoretischen Auslegung verbunden sind, erheblich und effektiv zu beseitigen.
-
Figurenliste
-
- 1 ist ein schematisches Blockdiagramm eines beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden (DOF) der vorliegenden Anmeldung.
- 2A ist ein Flussdiagramm zur Kalibrierung eines beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden (DOF) der vorliegenden Anmeldung.
- 2B ist ein Flussdiagramm zur Echtzeitberechnung von extrinsischen Parametern eines beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden (DOF) der vorliegenden Anmeldung.
- 3 zeigt eine Kalibrierungsvorlage vom Typ Schachbrett, die in einem Kalibrierungsalgorithmus einer besonderen Ausführungsform der vorliegenden Anwendung verwendet wird.
- 4 zeigt schematisch das Kamerakoordinatensystem und das Koordinatensystem der Rotationsachse in jedem Bewegungs-Freiheitsgrad gemäß der vorliegenden Anmeldung.
-
Detaillierte Beschreibung
-
Die vorliegende Anmeldung wird unter Bezugnahme auf bestimmte Ausführungsformen und die beigefügten Figuren ausführlicher beschrieben. Der Kürze halber werden bei der Beschreibung der verschiedenen Prozesse, Bedingungen und experimentellen Methoden dieser Ausführungsformen einige in der Technik bekannte Details weggelassen, und die vorliegende Anmeldung ist insbesondere nicht auf solche Details beschränkt. Eine detailliertere Beschreibung des Kalibrierungsverfahrens für ein bewegliches Bildverarbeitungssystem mit mehreren Freiheitsgraden gemäß der vorliegenden Anmeldung wird im Folgenden unter Bezugnahme auf die 1 bis 4 gegeben. Es sei darauf hingewiesen, dass das Kalibrierungsverfahren auf ein bewegliches Bildverarbeitungssystem mit mehreren Freiheitsgraden mit einer beliebigen Anzahl von Bewegungs-Freiheitsgraden angewendet werden kann, und die folgenden Ausführungsbeispiele dienen lediglich der Veranschaulichung und sollen die vorliegende Anmeldung in keiner Weise einschränken.
-
Ausführungsform 1
-
In Ausführungsform 1 der vorliegenden Anmeldung wird beispielhaft ein bewegliches Bildverarbeitungssystem mit drei Freiheitsgraden detailliert beschrieben.
-
Wie in 1 gezeigt, umfasst das bewegliche Bildverarbeitungssystem mit mehreren Freiheitsgraden (DOF) gemäß der vorliegenden Anmeldung eine Bildverarbeitungskomponente, eine Berechnungskomponente und eine Steuerungskomponente. Die Berechnungskomponente kann über eine Signalverbindung mit der Bildverarbeitungskomponente gekoppelt und so eingerichtet sein, dass sie Einflüsse von Bewegungen kalibriert in jedem Freiheitsgrad auf die Bildverarbeitungskomponente basierend auf Bildern, die von der Bildverarbeitungskomponente in verschiedenen Posen erfasst wurden, und entsprechenden Posen-Informationen. Die Steuerungskomponente kann sowohl mit der Bildverarbeitungskomponente als auch mit der Berechnungskomponente über Signalverbindungen gekoppelt und so eingerichtet sein, dass sie die Bildverarbeitungskomponente so steuert, dass sie Bilder in verschiedenen Einstellungen erfasst, und die Berechnungskomponente so steuert, dass sie eine Kalibrierungsberechnung durchführt.
-
Wie in 2A gezeigt, umfasst das Kalibrierungsverfahren eines beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden in der vorliegenden Anmeldung hauptsächlich die folgenden Kalibrierungsschritte:
- (Schritt S11) Aufzeichnen von Positionsinformationen von jedem Bewegungs-Freiheitsgrad an einer Anfangsposition, um eine Referenzposition zu bestimmen;
- (Schritt S12) sukzessives Ansteuern jedes Bewegungs-Freiheitsgrades und Erfassen von Bildern durch die Bildverarbeitungskomponente für jeden Bewegungs-Freiheitsgrad; und Aufzeichnen von Positionsinformationen von jedem Bewegungs-Freiheitsgrad zum Zeitpunkt des Erfassens der entsprechenden Bilder; und
- (Schritt S13) Berechnen von Kalibrierungsergebnissen durch die Berechnungskomponente.
-
Sobald die Kalibrierung erreicht ist, kann eine Pose der Bildverarbeitungskomponente relativ zur Ausgangsposition auf der Grundlage sowohl der Kalibrierungsergebnisse als auch der Positionsinformationen jedes Bewegungs-Freiheitsgrades genau berechnet werden. Wie in gezeigt, umfasst der obige Berechnungsprozess in der praktischen Anwendung hauptsächlich die folgenden Schritte:
- (Schritt S21) Erhalten von Informationen über die Kalibrierungsergebnisse des beweglichen Bildverarbeitungssystems mit mehreren Freiheitsgraden;
- (Schritt S22) Erhalten von Informationen über die aktuelle Position jedes Bewegungs-Freiheitsgrades; und
- (Schritt S23) Berechnen von Informationen über die aktuelle Rotation und Translation der Bildverarbeitungskomponente relativ zu der aufgezeichneten Referenzposition durch Einsetzen der in den Schritten S21 und S22 erhaltenen Informationen in ein Modell zum Ermitteln der extrinsischen Parameter des beweglichen Bildverarbeitungssystems.
-
Beispielhaft sei hier das bewegliche Bildverarbeitungssystem genannt, das drei Freiheitsgrade aufweist. Das System weist drei Bewegungsfreiheitsgrade auf, die jeweils als Nick-, Gier- und Roll-Bewegungs-Freiheitsgrade definiert sind. In einem dreidimensionalen rechtwinkligen Koordinatensystem bezieht sich Nicken auf die Drehung um die X-Achse, Gieren auf die Drehung um die Y-Achse und Rollen auf die Drehung um die Z-Achse. In diesem Beispiel kann die Bewegung in den drei Freiheitsgraden durch drei Bewegungselemente für jeweils einen der Freiheitsgrade ermöglicht werden. In anderen Beispielen kann die Bewegung in den drei Freiheitsgraden auch durch ein Bewegungselement für einen der Freiheitsgrade und ein weiteres Bewegungselement für die anderen beiden Freiheitsgrade oder durch ein einziges Bewegungselement für alle drei Freiheitsgrade ermöglicht werden. Vorzugsweise sind die drei Bewegungselemente starr miteinander verbunden, so dass Bewegungen in einem der Freiheitsgrade die Bewegungen in den beiden anderen Freiheitsgraden nicht beeinflussen. Vorzugsweise kann das Bewegungselement für den Nick-Freiheitsgrad über eine starre Verbindung an einer Basis montiert sein, und an dem Bewegungselement für den Roll-Freiheitsgrad können ein oder mehrere Bildverarbeitungselemente angebracht sein, die aufeinanderfolgende Bilder erfassen können. Die Bewegungen in den oben genannten drei Freiheitsgraden werden von entsprechenden Motoren angesteuert, die jeweils mit einem Positionsrekorder ausgestattet sind, um Echtzeit-Ausgangspositionsinformationen von dem Motor zu erhalten. In diesem Beispiel wird die Ausgangspositionsinformation von jedem Motor in Form eines Winkelwertes ausgedrückt. Insbesondere wird die Ausgangspositionsinformation von dem Motor für Antriebsbewegungen in dem Roll-Freiheitsgrad (im Folgenden auch als „erster Freiheitsgrad“ bezeichnet) als θ1 ausgedrückt, was den Rotationswinkel der Spindel des Bildverarbeitungselements relativ zur Z-Achse angibt. Die Ausgangspositionsinformation von dem Motor für die Antriebsbewegung in dem Gier-Freiheitsgrad (im Folgenden auch als „zweiter Freiheitsgrad“ bezeichnet) wird als θ2 ausgedrückt und gibt den Rotationswinkel der Spindel des Bildverarbeitungselements relativ zur Y-Achse an. Die Ausgangspositionsinformation von dem Motor für die Antriebsbewegung in dem Pitch-Freiheitsgrad (im Folgenden auch als „dritter Freiheitsgrad“ bezeichnet) wird als θ3 ausgedrückt und gibt den Rotationswinkel der Spindel des Bildverarbeitungselements relativ zur X-Achse an.
-
Das Kalibrierungsverfahren umfasst die folgenden Schritte.
-
Erfassung von Referenzpositionsinformationen
-
Mit einer Kalibrierungsvorlage, die derart vor die Bildgebung im beweglichen Bildverarbeitungssystem gehalten wird, dass die Kamera vollständige Bilder der Kalibrierungsvorlage erfassen kann, werden zu diesem Zeitpunkt erste Positionsinformationen (θI1,θI2,θI3) der drei Motoren als Referenzpositionsinformationen erfasst.
-
Kalibrierung der Bewegungs-Schäfte
-
Jeder Bewegungs-Freiheitsgrad wird nacheinander angesteuert, wobei die Kalibrierungsvorlage stationär gehalten wird. Das heißt, wenn sich einer der Freiheitsgrade ändert, ändern sich die anderen beiden Freiheitsgrade nicht. Am Beispiel des ersten (Roll-)Freiheitsgrades werden für jeden Zeitpunkt der Rotationsachse (entsprechend der i-ten Position), Q1 gültige Bilder M1ij (j=1, 2, ..., Q1) von der Kamera an der entsprechenden Position erfasst, und die aktuellen Positionsinformationen der Bewegungsachse werden aufgezeichnet und ergeben {M1ij, θ11i,θ12i,θ13i}(i=1, 2, ..., P1), wobei P1 die Anzahl der Rotationen der Bewegungsachse in dem Kalibrierungsprozess des ersten Freiheitsgrades darstellt. Anschließend wird auf der Grundlage aller Sätze von Bildern, die an den jeweiligen Positionen erfasst wurden, eine Berechnung unter Anwendung eines Kalibrierungsalgorithmus (z. B. des Kalibrierungsalgorithmus von Zhang Zhengyou) der in gezeigten planaren Schachbrett-Kalibrierungsvorlage durchgeführt, um Rotations- und Translationsergebnisse {R1Ci,T1Ci}der an den jeweiligen Rotationspositionen erfassten Bilder relativ zur Kalibrierungsvorlage zu ermitteln. Zwischenkalibrierungsergebnisse {R1Ci,T1Ci,θ1li,θl2i,θl3i}i = 1... P1 für den ersten Freiheitsgrad werden dann sowohl aus den obigen Rotations- und Translationsergebnissen als auch aus den zum Zeitpunkt des Erfassens der Bilder aufgezeichneten Positionsinformationen der Bewegungsachse abgeleitet. Der obige Prozess wird wiederholt, um Zwischenkalibrierungsergebnisse für den zweiten (Gieren) und dritten (Nicken) Freiheitsgrad zu erhalten, und alle Zwischenkalibrierungsergebnisse werden integriert in {RaCi,TaCi,θali,θa2i,θa3i} (i=1...Pa,a=1,2,3).
-
Aufgrund der Begrenzung durch die Techniken mechanischer Bearbeitung ist es schwierig, entweder sicherzustellen, dass der optische Mittelpunkt des beweglichen Bildverarbeitungssystems auf jeder Rotationsachse positioniert ist, oder sicherzustellen, dass jede Rotationsachse parallel zu einer entsprechenden Koordinatenachse des Kamerakoordinatensystems ist. Daher ist es notwendig, die Lageänderung des Kamerakoordinatensystems anhand der Ausgaben der Rotationsachsen-Encoder zu berechnen. Bei einem starren Körper bleibt die relative Lagebeziehung zwischen der Kameraspindel und den Rotationsachsen der jeweiligen Freiheitsgrade unverändert. Um die Lagebeziehung zwischen jeder Rotationsachse und dem Kamerakoordinatensystem zu bestimmen, wird ein mathematisches Modell erstellt, wie in gezeigt. Das Kamera-Koordinatensystem (im Folgenden auch kurz als „System C“ bezeichnet) wird als C{Oc-xcyczc} bezeichnet. Die senkrechte Linie, die vom optischen Zentrum Oc des Kamerakoordinatensystems ausgeht, ist eingezeichnet und schneidet die Rotationsachse 1 des Roll-Freiheitsgrades im Punkt Ob. Die senkrechte Linie verlängert sich und ergibt einen Strahl Obxb. Es wird das Rotationsachsen-Koordinatensystem B {Ob-xbybzb} (im Folgenden auch kurz „System B“ genannt) aufgestellt, mit Ob als seinem Ursprung, dem Strahl Obxb als eine x Achse, der Rotationsachse als y-Achse und einer z-Achse, was sich nach der Rechten-Hand-Regel ergibt.
-
Wenn O
cO
b = d (was eine durch den mechanischen Bearbeitungsprozess bestimmte Konstante ist), dann kann die Koordinate von O
c in dem System B als t = (-d, 0,0)
T dargestellt werden. Sei R
BC eine Rotationsmatrix aus dem Kamerakoordinatensystem C zu dem Rotationsachsen-Koordinatensystem B. Für jeden Punkt P im Raum, seine Koordinate PC im System C und seine Koordinate PB im System B erfüllt die Transformationsgleichung P
B = R
BCP
c + t, ausgedrückt in homogenen Koordinaten als
wobei
das gewünschte Kalibrierungsergebnis ist, das eine Transformationsmatrix von dem System B nach C für einen beliebigen Punkt P im Raum ist.
-
Nach einer Drehung um die Rotationsachse um einen Winkel θ, werden das Rotationsachsen-Koordinatensystem B und das Kamerakoordinatensystem C zu einem neuen Rotationsachsen-Koordinatensystem B' und einem neuen Kamerakoordinatensystem C'. Die Drehung um die Rotationsachse ist äquivalent zu einer entsprechenden Drehung des Systems B zu B' um die Achse z
b um den Winkel 0. Für den gleichen Punkt P, erfüllen seine Koordinate P
B in dem System B und die Koordinate P
B' in System B':
wobei
(dieser Wert ist abhängig von dem Rotationswinkel).
-
Analog dazu dreht sich das Kamerakoordinatensystem um den Winkel 0 in das neue Kamerakoordinatensystem C'. Bei der Kalibrierung kann die Transformation des Kamerakoordinatensystems mit Hilfe eines festen Schachbretts berechnet werden. Unter der Annahme, dass ein Punkt P durch eine Koordinate x
w in einem Weltkoordinatensystem des Schachbretts repräsentiert wird, die berechneten extrinsischen Parameter des Schachbretts in den Systemen C und C' ergeben entsprechend T
CW und T
C'W. Da P
C = T
CWx
w und P
C' = T
C'Wx
w, kann die folgende Gleichung erhalten werden:
-
Aufgrund der Natur eines starren Körpers bleibt die Lagebeziehung T
BC zwischen den Systemen B und C bei dem Rotationsvorgang unverändert. Somit erfüllt der gleiche Punkt im Raum weiterhin Gl. (1) in den neuen Koordinatensystemen B' und C', und es ergibt sich folgende Gleichung.
-
Aus Gleichungen. (2), (3) und (4) ergibt sich die folgende Gleichung.
das gewünschte Kalibrierungsergebnis für die Rotationsachse ist,
eine Matrix ist, die von Positionssensoren für jede Drehung ausgegeben wird, und
eine Matrix T
C'C ist, die von der Kamera für jede Rotation berechnet wird. T
BC wird für jede Rotation berechnet, um die Beziehung zwischen dem Koordinatensystem der Rotationsachse und dem Koordinatensystem der Kamera zu kalibrieren.
-
Gemäß der vorliegenden Anmeldung wird für jeden Freiheitsgrad ein individueller Kalibrierungsprozess durchgeführt. Für einen gegebenen Datensatz {R
aCi,T
aCi,θ
a1i,θ
a2i,θ
3i}(i=1...P
a,a=1...3), können die Rotationswinkel der Motoren relativ zur Referenzposition auf der Grundlage dieses Datensatzes als {θ
a1i-θ
l1,θ
a2i-θ
l2,θ
a3i-θ
l3}(i =... P
a, a = 1 ... 3) berechnet werden, und die Rotationsmatrizen können berechnet werden als
-
Setzt man dies in Gl. (5) ein, erhält man den folgenden Gleichungssatz:
P Gleichungssätze erhält man, wenn man alle Daten in Gl. (7) einsetzt, und eine optimale Lösung {R
BCa,T
BCa} (a =1 ... 3) erhält man durch Lösen dieser Gleichungen.
-
Berechnung der Echtzeit-Kalibrierungsergebnisse
-
Die Gesamtkalibrierungsergebnisse umfassen die Referenzpositionsinformationen (θ
I1,θ
I2,θ
I3) und die Ergebnisse der Bewegungsachsen-Kalibrierung {R
BCa,T
BCa} (a= 1 ... 3). Die Positionsinformationen (θ
p1,θ
p2,θ
p3) der drei Bewegungs-Freiheitsgrade erhält man nachdem sich die Bildverarbeitungskomponente des beweglichen Bildverarbeitungssystems bewegt. Die Rotationswinkel der drei Freiheitsgrade erhält man als (θ
p1-θ
I1,θ
p2-θ
I2,θ
p3-θ
I3), die dann in Rotationsmatrizen (R
p1, R
p2, R
p3) umgewandelt und in das Modell eingespeist werden. Als Ergebnis erhält man nach Bewegung die extrinsischen Parameter des beweglichen Bildverarbeitungssystems relativ zu der Kamerareferenzposition als
-
Die erhaltenen R' und T' stellen Rotations- und Übergangsmatrizen der Kamera relativ zur Referenzposition dar, nachdem sich das bewegliche Bildverarbeitungssystem mit drei Freiheitsgraden bewegt hat.
-
Das in der vorliegenden Anmeldung vorgeschlagene Kalibrierungsverfahren für ein bewegliches Bildverarbeitungssystem ist nicht auf die vorstehenden Ausführungsformen beschränkt, und es können verschiedene Variationen und Modifikationen vorgenommen werden, ohne von den Grundsätzen der vorliegenden Anmeldung abzuweichen. Der Anwendungsbereich der vorliegenden Anmeldung ist nicht auf die hier offenbaren Ausführungsformen beschränkt. Vielmehr umfasst er alle Änderungen und Vorteile, die der Fachmann ableiten kann, ohne von Geist und Umfang des Konzepts der vorliegenden Anmeldung abzuweichen. Der Schutzbereich der vorliegenden Anmeldung ist somit durch die beigefügten Ansprüche definiert.