DE102020212635A1 - Verfahren zum Kalibrieren einer Kamera - Google Patents

Verfahren zum Kalibrieren einer Kamera Download PDF

Info

Publication number
DE102020212635A1
DE102020212635A1 DE102020212635.6A DE102020212635A DE102020212635A1 DE 102020212635 A1 DE102020212635 A1 DE 102020212635A1 DE 102020212635 A DE102020212635 A DE 102020212635A DE 102020212635 A1 DE102020212635 A1 DE 102020212635A1
Authority
DE
Germany
Prior art keywords
camera
determined
interface
calibration pattern
calibration
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
DE102020212635.6A
Other languages
English (en)
Inventor
Nico Schmidt
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020212635.6A priority Critical patent/DE102020212635A1/de
Publication of DE102020212635A1 publication Critical patent/DE102020212635A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Kalibrieren einer Kamera (145), bei dem unter Verwendung eines entfernt von der Kamera (145) bereitgestellten Rechensystems (100), das eine über ein Kommunikationsnetzwerk (110) erreichbare Schnittstelle bereitstellt, Kameraparameter (160) zum Einstellen der Kamera (145) ermittelt werden, wobei eines oder mehrere, mittels der Kamera (145) aufgenommene Bilder (155) eines Kalibriermusters (150) über die Schnittstelle von dem Rechensystem (100) empfangen werden, wobei mittels des Rechensystems (100) anhand des einen oder der mehreren Bilder (160) und basierend auf dem Kalibriermuster (150) automatisiert eine Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden, die über die Schnittstelle zur Verfügung gestellt werden.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Kalibrieren einer Kamera sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung.
  • Stand der Technik
  • Kameras wie Videokameras oder Fotokameras werden in verschiedenen Gebieten eingesetzt. Beispielsweise können an einer Robotik-Vorrichtung wie z.B. einem Industrieroboter Kameras vorgesehen sein, die der Überwachung und/oder Erkennung von Objekten oder dergleichen dienen. Außerdem können beispielsweise an Fahrzeugen Kameras vorgesehen sein, die für Fahrerassistenzsysteme verwendet werden, wozu z.B. vorausfahrenden Fahrzeuge erfasst werden müssen.
  • Solche Kameras müssen für einen ordnungsgemäßen Betrieb kalibriert werden. Eine Kalibrierung kann sowohl eine intrinsische Kalibrierung umfassen, bei der Kameraparameter wie Abbildungsverzerrungen ausgeglichen werden, als auch eine extrinsische Kalibrierung, bei der die Anbringung der Kamera auf einem Zielsystem wie dem Fahrzeug berücksichtigt wird.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zum Kalibrieren einer Kamera sowie eine Rechensystem und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die vorliegende Erfindung beschäftigt sich mit dem Kalibrieren einer Kamera, und zwar unter Verwendung eines entfernt von der Kamera bereitgestellten Rechensystems wie z.B. einem Server, das eine über ein Kommunikationsnetzwerk wie z.B. ein auf der Internetprotokollfamilie, TCP/IP, basierendes Netzwerk, erreichbare Schnittstelle bereitstellt. Unter Verwendung dieses Rechensystems werden Kameraparameter zum Einstellen der Kamera ermittelt. Als Schnittstelle wird dabei bevorzugt eine Programmierschnittstelle (sog. API, „Application Programming Interface“) bereitgestellt, besonders zweckmäßig ist es auch, wenn ein Zugriff auf die Schnittstelle über einen Web-Service, insbesondere einen Webbrowser oder anderen Web-Client, erfolgt. Bei dem Rechensystem handelt es sich insbesondere um ein zentrales Rechensystem, mit dem zahlreiche bzw. beliebig viele Kameras zur Kalibrierung kommunizieren können. Insbesondere werden also unter Verwendung des entfernt von der Kamera bereitgestellten Rechensystems Kameraparameter zum Einstellen mehrerer Kameras ermittelt.
  • Zur Kalibrierung werden eines oder mehrere, mittels der Kamera aufgenommene Bilder eines Kalibriermusters über die Schnittstelle von dem Rechensystem empfangen. Dieses Bild bzw. diese Bilder können z.B. von einem Benutzer mit der Kamera aufgenommen und dann an die Schnittstelle übermittelt werden, z.B. indem sie über den Web-Browser hochgeladen werden. Mittels des Rechensystems erfolgt dann anhand des einen bzw. der mehreren Bilder und basierend auf dem Kalibriermuster automatisiert eine Kalibrierung der Kamera, bei der die Kameraparameter ermittelt werden - hierunter ist insbesondere auch eine möglichst oder zumindest hinreichend genaue Schätzung zu verstehen -, die über die Schnittstelle zur Verfügung gestellt werden. Mit diesen Kameraparametern kann der Benutzer dann z.B. die Kamera einstellen. Denkbar ist aber auch eine automatisierte Einstellung der Kamera mittels dieser Kameraparameter, d.h. ein automatisches Übertragen in die Kamera.
  • Durch eine solche zentrale Kalibrierung kann eine besonders effiziente und schnelle Einstellung von Kameras vorgenommen werden. Zudem kann die Kalibrierung als ein Online-Dienst bzw. Online-Service für eine Vielzahl von Kamera bereitgestellt werden, insbesondere auch für verschiedene Arten von Kameras. Über eine generische http-Schnittstelle kann dieser Online-Service z.B. auch mit beliebiger Software eines Benutzers kommunizieren, was eine einfache Einbindung in bisherige Routinen ermöglicht. Zudem können z.B. aufgrund der zentralen Berechnungen rechenintensivere Abläufe in kürzerer Zeit erfolgen.
  • Das für die Aufnahme der Bilder zu verwendende Kalibriermuster kann bevorzugt, auf eine Anfrage über die Schnittstelle hin, mittels des Rechensystems ermittelt und über die Schnittstelle bereitgestellt werden. Damit muss ein Benutzer dieses nicht selbst bereitstellen, vielmehr kann z.B. ein individuell für die Kamera benötigtes Kalibriermuster bereitgestellt werden.
  • Ein definiertes Kalibriermuster wird in der Regel für sämtliche Kalibriervorgänge benötigt. Das Kalibriermuster besteht z.B. abwechselnd aus schwarzen und wei-ßen Quadraten, vergleichbar mit einem Schachbrett. Eine Größe sowie die Anzahl der Quadrate, sowohl in vertikaler als auch in horizontaler Richtung, kann variabel als Parameter an das zentrale Rechensystem übermittelt werden, welches daraus das entsprechende Kalibriermuster z.B. als Vektorgrafik erstellt. Die Größe des Kalibriermusters kann z.B. durch den Benutzer vorgegeben werden. Sie ist in der Regel vom Kalibrierabstand abhängig, d.h. wie nahe der Benutzer an die Kamera herankommt, was vor allem beim gleichzeitigen Kalibrieren mehrerer Kameras stark variieren kann. Die Grafik kann zusätzlich mit einer Kennung (z.B. eindeutige Nummer) und mit sämtlichen Parametern in einer Datenbank gespeichert werden. Kennungen (IDs) werden z.B. benötigt, um die Kalibriermuster später im Bild richtig identifizieren und zuordnen zu können. In der Datenbank kann dann hinterlegt werden, welches Kalibriermuster wie groß ist. Diese Information kann für den Kalibriervorgang verwendet werden. Das Kalibriermuster wird dann ausgedruckt. Dies kann z.B. mittels Standardsoftware erfolgen. Bei Vektorgrafiken wie z.B. dem Format „.svg‟ kann die Größe in Metern angeben werden. Beim Drucken wird das Maß dann korrekt umgesetzt. Die Genauigkeit hängt dann vom jeweiligen Drucker ab. Insbesondere wird auch die Kennung mitgedruckt, z.B. in Form eines QR-Codes oder eines anderen maschinell lesbaren Codes. Das ausgedruckte Bild wird dann mit der Kamera aufgenommen.
  • Wie eingangs schon erwähnt, gibt es sowohl eine intrinsische als auch eine extrinsische Kalibrierung, die beide im Rahmen der vorliegenden Erfindung möglich sind. Intrinsische Kameraparameter werden bevorzugt ermittelt, indem mehrere, mittels der Kamera aus verschiedenen Perspektiven aufgenommene Bilder des Kalibriermusters über die Schnittstelle von dem Rechensystem empfangen werden. Die Kameraparameter, dann also die intrinsischen Kameraparameter, können auf dem Rechensystem gespeichert und über die Schnittstelle bereitgestellt werden. Zweckmäßig sind z.B. mindestens zehn Bilder. Denkbar ist z.B. auch, dass von dem Rechensystem über die Schnittstelle Informationen über die aufzunehmenden Bilder, z.B. mit ungefährer Angabe der Perspektiven, bereitgestellt werden.
  • Die extrinsische Kalibrierung wird, wie schon erwähnt, benötigt, um die (exakte) Position und/oder Orientierung der Kamera in Bezug auf ein Zielsystem, an oder auf dem die Kamera angeordnet ist (z.B. eine Robotik-Vorrichtung oder ein Fahrzeug) bzw. dessen Koordinatensystem, das von dem Koordinatensystem der Kamera abweicht, zu bestimmen. Das Ergebnis einer extrinsischen Kalibrierung sind die Rotation sowie die Translation der Kamera in Bezug auf dieses andere Koordinatensystem, also die Orientierung und/oder Position relativ zum Zielsystem. Als Darstellungsform können z.B. eine Rotationsmatrix, Quaternionen oder Eulerwinkel gewählt werden.
  • Im Rahmen der vorliegenden Erfindung kommen dabei insbesondere zwei Varianten der extrinsischen Kalibrierung in Betracht. Die erste Variante beruht auf der sog. „Hand-Eye“-Kalibrierung. Hierbei werden extrinsische Kameraparameter ermittelt, indem mehrere, mittels der Kamera mit verschiedenen Posen (unter dem Begriff Pose sind Position und Orientierung zu verstehen) des Zielsystems aufgenommene Bilder des an einer festen Position gehaltenen Kalibriermusters, zusammen mit Informationen zu den Posen, über die Schnittstelle von dem Rechensystem empfangen werden, wobei mittels des Rechensystems anhand der mehreren Bilder, basierend auf dem Kalibriermuster und basierend auf den Informationen zu den Posen automatisiert die Kalibrierung der Kamera erfolgt, bei der die Kameraparameter ermittelt werden. Dies erfolgt insbesondere, indem zunächst für jedes der mehreren Bilder eine Pose der Kamera ermittelt wird, wobei basierend auf den Posen der Kamera die Kameraparameter ermittelt werden.
  • Zweckmäßigerweise werden mindestens drei Bilder mit verschiedenen Posen des Zielsystems (Referenzkoordinatensystem) und des Koordinatensystems der Kamera (diese werden bei fester Anbringung der Kamera zugleich verändert) verwendet, um die Beziehung zwischen Kamerakoordinatensystem und Referenzkoordinatensystem herzustellen. Bei allen Posen wird ein Bild mit der Kamera aufgenommen, auf dem ein Kalibriermuster zu sehen ist, dessen Position in der Welt sich während der Aufnahmen nicht ändert. Dieser Schritt erfolgt z.B. dadurch, dass der Anwender sich während der Aufnahme die Bilder der Kamera in einer Vorschau in Echtzeit ansieht. Das genaue Vorgehen kann aber je nach Anwendung abweichen. Eine entsprechende Handlungsanweisung kann dem Nutzer z.B. in Form einer Anleitung bereitgestellt werden. Es ist aber auch durchaus denkbar, dass der Webservice bereits Feedback während der Aufnahmen gibt oder die Vorschau des Bildes über die entsprechende Clientsoftware dargestellt wird.
  • Zum Durchführen dieser „Hand-Eye“-Kalibrierung (Hand-Auge-Kalibrierung) können die Bilder mit den zugehörigen Posen des Referenzsystems z.B. über den Webbrowser hochgeladen werden. Die Pose des Referenzsystems beinhaltet die Translation und Rotation des Referenzsystems in der Welt. Mittels einer Kalibriersoftware kann in jedem hochgeladenen Bild die Pose der Kamera relativ zum Kalibriermuster ermittelt werden. Mittels geeigneter Algorithmen (sog. „Hand-Eye-Calibratons“ sind an sich bekannt) kann daraus dann die Beziehung der Kamera zum Referenzsystem berechnet werden. Das Ergebnis kann dann z.B. auf dem Rechensystem gespeichert und über die Schnittstelle zurückgesendet werden.
  • Die andere Variante betrifft eine sog. direkte extrinsische Kalibrierung. Eine Voraussetzung für die direkte extrinsische Kalibrierung ist eine Ermittlung von Translation und Rotation zwischen Kalibriermuster und Zielsystem bzw. einer Pose des Zielsystems relativ zum Kalibriermuster. In dieser bekannten Pose sollte sich das Kalibriermuster vollständig im Blickfeld der Kamera befinden. Anschließend kann ein Bild mit der Kamera aufgenommen werden.
  • Bei dieser Variante wird also genau ein, mittels der Kamera aufgenommenes Bild des an einer festen Position gehaltenen Kalibriermusters zusammen mit Informationen zu der Pose des Zielsystems relativ zu dem Kalibriermuster über die Schnittstelle von dem Rechensystem empfangen. Mittels des Rechensystems erfolgt anhand des Bildes, basierend auf dem Kalibriermuster und basierend auf den Informationen zu der Pose automatisiert die Kalibrierung der Kamera, bei der die Kameraparameter ermittelt werden. Zweckmäßigerweise erfolgt dies, indem zunächst eine Pose der Kamera ermittelt wird, und wobei basierend auf der Pose der Kamera die Kameraparameter ermittelt werden. Eine entsprechende Handlungsanweisung kann dem Nutzer z.B. in Form einer Anleitung bereitgestellt werden, z.B. innerhalb einer Clientsoftware.
  • Mittels geeigneter (bekannter) Bildverarbeitungsalgorithmen können das Kalibriermuster im Bild detektiert und die Pose von Kamera zu Kalibriermuster ermittelt werden. Über die Beziehung Kalibriermuster zu Zielsystem und Kalibriermuster zu Kamera kann daraufhin die extrinsische Kalibrierung von Kamera zu Zielsystem berechnet werden. Das Ergebnis kann auch bei dieser Variante in einer Datenbank gespeichert werden.
  • Im Rahmen des vorgeschlagenen Verfahrens können nicht nur eine intrinsische oder eine extrinsische Kalibrierung vorgenommen werden, sondern auch die intrinsische und eine der beiden Varianten der extrinsischen Kalibrierung zusammen oder hintereinander, wie später im Rahmen der Figurenbeschreibung auch nochmals erwähnt.
  • Ein bevorzugtes Anwendungsgebiet des vorgeschlagenen Verfahrens ist z.B. eine Robotik-Vorrichtung wie z.B. ein Industrieroboter, an dem die Kamera vorgesehen ist, und dort beispielsweise der Überwachung und/oder Erkennung von Objekten oder dergleichen dient. Ein anderes bevorzugtes Anwendungsgebiet ist z.B. bei einem Fahrzeug, in oder an dem die Kamers vorgesehen ist, und dort z.B. für ein Fahrerassistenzsystem verwendet wird, wozu z.B. vorausfahrende Fahrzeuge erfasst werden müssen. Während in diesen beiden Fällen neben der intrinsischen Kalibrierung insbesondere auch die extrinsische Kalibrierung relevant ist, ist ein bevorzugtes Anwendungsgebiet, bei dem insbesondere die intrinsische Kalibrierung relevant ist, die Herstellung bzw. Produktion von Kameras.
  • Ein erfindungsgemäßes Rechensystem, z.B. ein Server, ist, insbesondere programmtechnisch, dazu eingerichtet, alle von dem Rechensystem durchgeführten Verfahrensschritte eines erfindungsgemäßen Verfahrens durchzuführen.
  • Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Figurenliste
    • 1 zeigt schematisch eine Anordnung, mit der ein erfindungsgemäßes Verfahren durchführbar ist.
    • 2 bis 5 zeigen schematisch Abläufe erfindungsgemäßer Verfahren in verschiedenen bevorzugten Ausführungsformen.
  • Ausführungsform(en) der Erfindung
  • In 1 ist schematisch eine Anordnung dargestellt, mit der ein erfindungsgemäßes Verfahren durchführbar ist. Die Anordnung umfasst ein Rechensystem 100 wie z.B. einen Server, der zur Durchführung eines erfindungsgemäßen Verfahrens in bevorzugter Ausführungsform eingerichtet sein kann. Der Server 100 ist an ein Kommunikationsnetzwerk 110 wie z.B. das Internet bzw. ein auf der Internetprotokollfamilie, TCP/IP, basierendes Netzwerk angebunden, an dem weiterhin - und entfernt von dem Server 100 - ein lokales Rechensystem wie z.B. ein PC angebunden ist, mit dem ein Zugriff auf das Kommunikationsnetzwerk 110 z. B. über einen Webbrowser möglich ist. Bei dem Rechensystem handelt es sich insbesondere um ein zentrales Rechensystem, mit dem zahlreiche bzw. beliebig viele Kameras zur Kalibrierung kommunizieren können.
  • Weiterhin ist eine Kamera 145 gezeigt, die auf einem Zielsystem 140 wie z.B. einem Industrieroboter oder einer sonstigen Robotik-Vorrichtung angeordnet oder montiert ist. Im Sichtfeld der Kamera ist ein Kalibriermuster 150 zu sehen. Außerdem ist ein Benutzer 130 gezeigt. Mit P und O sind eine Position und eine Orientierung, also translatorische und rotatorische Koordinaten veranschaulicht, entlang welcher sich die Kamera (im gezeigten Beispiel durch Bewegung des Zielsystems) bewegen kann.
  • Mit der Kamera 145 aufgenommene Bilder 155 können mittels des PCs 120 bzw. einen darauf ausgeführten Webbrowser über das Kommunikationsnetzwerk 110 an den Server 100 übermittelt werden, dieser wiederum kann basierend darauf eine Kalibrierung durchführen und Kameraparameter 160 bereitstellen bzw. über das Kommunikationsnetzwerk 110 an den PC 120 übermitteln.
  • In den 2 bis 5 sind schematisch Abläufe erfindungsgemäßer Verfahren in verschiedenen bevorzugten Ausführungsformen dargestellt. In 2 ist zunächst dargestellt, wie ein Kalibriermuster erhalten werden kann. Hierzu kann der Benutzer 130 über einen Webbrowser oder anderen Webclient 108 eine Anfrage 200 zum Erstellen eines Kalibriermusters bestimmter Art (z.B. mit Anzahl und Größe von Quadraten) stellen, die über eine Schnittstelle 107 wie z.B. eine (Web-)API bzw. Programmierschnittstelle an einen Kalibriermustergenerator 102 geleitet wird, der Teil des in 1 gezeigten Rechensystem sein bzw. dort ausgeführt werden kann.
  • Dort wird dann in Schritt 202 ein geeignetes Kalibriermuster z.B. als Vektorgrafik erstellt, das dem Benutzer 130, ggf. zusammen mit einer zugehörigen Kalibriermusternummer, bereitgestellt wird, zudem in Schritt 204 aber auch, ggf. ebenfalls zusammen mit der Kalibriermusternummer, in einer Datenbank 101, die Teil des in 1 gezeigten Rechensystem sein bzw. dort bereitgestellt werden kann, gespeichert werden kann.
  • Dieses Kalibriermuster kann dann zum Kalibrieren der Kamera verwendet werden, wie dies in Bezug auf die nachfolgenden Figuren beschrieben werden soll.
  • In 3 ist eine intrinsische Kalibrierung dargestellt. Zunächst werden mittels der Kamera in einem Schritt 300 mehrere Bilder, z.B. zehn oder mehr Bilder, von dem Kalibriermuster aufgenommen, und zwar mit verschiedenen Perspektiven. Hierzu kann z.B. in Schritt 302 ein Bild aufgenommen werden, dann wird in Schritt 300 das Kalibriermuster bewegt, dann können die Schritte 302 und 304 entsprechend oft wiederholt werden.
  • Die so erstellten Bilder werden in einem Schritt 306 dann zusammen mit der Kalibriermusternummer des für die Aufnahme der Bilder verwendeten Kalibriermusters z.B. über den Webbrowser 108 hochgeladen, die über die Schnittstelle 107 als Anfrage 308 zum Kalibrieren an einen Kalibriermusterdetektor 103 geleitet werden, der Teil des in 1 gezeigten Rechensystem sein bzw. dort ausgeführt werden kann. Dort wird in Schritt 310 von der Datenbank 101 die Kalibriermusternummer abgefragt, und es werden in Schritt 312 die entsprechenden Kalibriermusterparameter erhalten. In Schritt 314 werden dann Kameraparameter und ein Kalibrierungsstatus an die Schnittstelle 107 übergeben. Während die Kameraparameter und die Bilder in Schritt 316 abgespeichert werden, wird der Benutzer in Schritt 318 über den Kalibrierungsstatus informiert.
  • Wenn in Schritt 320 die Kalibrierung abgeschlossen ist und der Benutzer darüber informiert wurde, können in Schritt 322 die (hier intrinsischen) Kameraparameter zum Herunterladen angefragt werden. Hierzu wird über die Schnittstelle 107 eine Abfrage 324 an die Datenbank 101 gestellt, von der die Kameraparameter in Schritt 326 bereitgestellt werden.
  • Mit den erhaltenen Kameraparametern kann dann z.B. der Benutzer 130 die Kamera parametrieren, denkbar ist aber auch eine automatische Parametrierung der Kamera, wenn diese z.B. an den PC angebunden ist.
  • In 4 ist eine extrinsische Kalibrierung dargestellt, und zwar in der Variante „Handy-Eye“-Kalibrierung. Zunächst werden mittels der Kamera in einem Schritt 400 mehrere Bilder, z.B. drei oder mehr Bilder, von dem Kalibriermuster aufgenommen, und zwar mit verschiedenen Posen (Position und Orientierung) des Zielsystems, wie in 1 gezeigt.
  • Hierzu kann z.B. in Schritt 402 das Zielsystem (mit darauf montierter Kamera) bewegt werden, in Schritt 404 dann ein Bild des Kalibriermusters aufgenommen werden. Schritt 406 werden die zugehörigen Informationen über die Pose gespeichert, dann können - ggf. optional - in Schritt 408 zudem intrinsische Kameraparameter ermittelt werden, wie z.B. in Bezug auf 3 erläutert. Die Schritte 402, 404, 406 und ggf. 408 können dann entsprechend oft wiederholt werden, wobei bei Schritt 404 das Kalibriermuster immer an derselben Position (in der Welt) vorgesehen sein soll.
  • Die so erstellten Bilder werden in einem Schritt 410 dann zusammen mit der Kalibriermusternummer des für die Aufnahme der Bilder verwendeten Kalibriermusters sowie den Informationen zur Pose z.B. über den Webbrowser 108 hochgeladen, die die Schnittstelle 107 als Anfrage 412 zum Kalibrieren erreicht.
  • In einem Schritt 414 erfolgt dann für jedes Bild die Bestimmung der jeweiligen Pose der Kamera. Hierzu wird an den Kalibriermusterdetektor 103 eine entsprechende Anfrage 416 geleitet. Dort wird in Schritt 418 von der Datenbank 101 die Kalibriermusternummer abgefragt, und es werden in Schritt 420 die entsprechenden Kalibriermusterparameter erhalten. In Schritt 422 wird dann die Pose der Kamera für das aktuelle Bild ermittelt und an die Schnittstelle 107 übergeben.
  • Nachdem die Posen der Kamera für alle Bilder bestimmt sind und Schritt 414 abgeschlossen ist, erfolgt eine Anfrage 424 an eine Kalibrierungseinheit 104 für die „Hand-Eye“-Kalibrierung, die z.B. Teil des in 1 gezeigten Rechensystem sein bzw. dort ausgeführt werden kann, zum Ermitteln der extrinsischen Kameraparameter. Diese extrinsischen Kameraparameter und ein Kalibrierungsstatus werden in Schritt 426 dann an die Schnittstelle 107 übergeben. Während die Kameraparameter, die Bilder und ggf. die Posen in Schritt 428 abgespeichert werden, wird der Benutzer in Schritt 430 über den Kalibrierungsstatus informiert.
  • Wenn in Schritt 432 die Kalibrierung abgeschlossen ist und der Benutzer darüber informiert wurde, können in Schritt 434 die (hier extrinsischen) Kameraparameter zum Herunterladen angefragt werden. Hierzu wird über die Schnittstelle 107 eine Abfrage 436 an die Datenbank 101 gestellt, von der die Kameraparameter in Schritt 438 bereitgestellt werden.
  • Mit den erhaltenen Kameraparametern kann dann z.B. der Benutzer 130 das Zielsystem oder ggf. die Kamera parametrieren, denkbar ist aber auch eine automatische Parametrierung des Zielsystems bzw. der Kamera, wenn diese z.B. an den PC angebunden ist.
  • In 5 ist eine extrinsische Kalibrierung dargestellt, und zwar in der Variante direkte extrinsische Kalibrierung. Zunächst werden mittels der Kamera in einem Schritt 400 Informationen zu einer Pose des Zielsystems relativ zu dem Kalibriermuster bestimmt und ggf. gespeichert, in Schritt 502 wird dann ein Bild von dem Kalibriermuster aufgenommen. Danach können - ggf. optional - in Schritt 504 zudem intrinsische Kameraparameter ermittelt werden, wie z.B. in Bezug auf 3 erläutert.
  • Das so erstellte Bild wird in einem Schritt 510 dann zusammen mit der Kalibriermusternummer des für die Aufnahme des Bildes verwendeten Kalibriermusters sowie den Informationen zur Pose z.B. über den Webbrowser 108 hochgeladen, die die Schnittstelle 107 als Anfrage 512 zum Kalibrieren erreicht.
  • Danach erfolgt die Bestimmung der Pose der Kamera. Hierzu wird an den Kalibriermusterdetektor 103 eine entsprechende Anfrage 516 geleitet. Dort wird in Schritt 518 von der Datenbank 101 die Kalibriermusternummer abgefragt, und es werden in Schritt 520 die entsprechenden Kalibriermusterparameter erhalten. In Schritt 522 wird dann die Pose der Kamera für das aktuelle Bild ermittelt und an die Schnittstelle 107 übergeben.
  • Nachdem die Pose der Kamera bestimmt ist, erfolgt eine Anfrage 524 an eine Kalibrierungseinheit 105 für die direkte extrinsische Kalibrierung, die z.B. Teil des in 1 gezeigten Rechensystem sein bzw. dort ausgeführt werden kann, zum Ermitteln der extrinsischen Kameraparameter. Diese extrinsischen Kameraparameter und ein Kalibrierungsstatus werden in Schritt 526 dann an die Schnittstelle 107 übergeben. Während die Kameraparameter, die Bilder und ggf. die Posen in Schritt 528 abgespeichert werden, wird der Benutzer in Schritt 530 über den Kalibrierungsstatus informiert.
  • Wenn in Schritt 532 die Kalibrierung abgeschlossen ist und der Benutzer darüber informiert wurde, können in Schritt 534 die (hier extrinsischen) Kameraparameter zum Herunterladen angefragt werden. Hierzu wird über die Schnittstelle 107 eine Abfrage 536 an die Datenbank 101 gestellt, von der die Kameraparameter in Schritt 538 bereitgestellt werden.
  • Mit den erhaltenen Kameraparametern kann dann z.B. der Benutzer 130 das Zielsystem oder ggf. die Kamera parametrieren, denkbar ist aber auch eine automatische Parametrierung des Zielsystems bzw. der Kamera, wenn diese z.B. an den PC angebunden ist.

Claims (13)

  1. Verfahren zum Kalibrieren einer Kamera (145), bei dem unter Verwendung eines entfernt von der Kamera (145) bereitgestellten Rechensystems (100), das eine über ein Kommunikationsnetzwerk (110) erreichbare Schnittstelle (107) bereitstellt, Kameraparameter (160) zum Einstellen der Kamera (145) ermittelt werden, wobei ein oder mehrere, mittels der Kamera (145) aufgenommene Bilder (155) eines Kalibriermusters (150) über die Schnittstelle (107) von dem Rechensystem (100) empfangen werden, wobei mittels des Rechensystems (100) anhand des einen oder der mehreren Bilder (160) und basierend auf dem Kalibriermuster (150) automatisiert eine Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden, die über die Schnittstelle (107) zur Verfügung gestellt werden.
  2. Verfahren nach Anspruch 1, bei dem intrinsische Kameraparameter ermittelt werden, indem mehrere, mittels der Kamera (145) aus verschiedenen Perspektiven aufgenommene Bilder des Kalibriermusters (150) über die Schnittstelle (107) von dem Rechensystem (100) empfangen werden.
  3. Verfahren nach Anspruch 1 oder 2, bei dem extrinsische Kameraparameter ermittelt werden, die eine Orientierung und/oder Position der Kamera relativ zu einem Zielsystem (140), an dem die Kamera (145) angeordnet ist, berücksichtigen, indem mehrere, mittels der Kamera (145) mit verschiedenen Posen (P, O) des Zielsystems (140) aufgenommene Bilder (155) des an einer festen Position gehaltenen Kalibriermusters (150), zusammen mit Informationen zu den Posen, über die Schnittstelle (107) von dem Rechensystem (100) empfangen werden, wobei mittels des Rechensystems (100) anhand der mehreren Bilder (155), basierend auf dem Kalibriermuster (150) und basierend auf den Informationen zu den Posen automatisiert die Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden.
  4. Verfahren nach Anspruch 3, wobei mittels des Rechensystems (100) anhand der mehreren Bilder (155), basierend auf dem Kalibriermuster (150) und basierend auf den Informationen zu den Posen automatisiert die Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden, indem zunächst für jedes der mehreren Bilder (155) eine Pose der Kamera (145) ermittelt wird, und wobei basierend auf den Posen der Kamera die Kameraparameter (160) ermittelt werden.
  5. Verfahren nach einem der vorstehenden Ansprüche, bei dem extrinsische Kameraparameter ermittelt werden, die eine Orientierung (O) und/oder Position (P) der Kamera (145) relativ zu einem Zielsystem (140), an dem die Kamera angeordnet ist, berücksichtigen, indem genau ein, mittels der Kamera (145) aufgenommenes Bild des an einer festen Position gehaltenen Kalibriermusters (150), zusammen mit Informationen zu einer Pose des Zielsystems relativ zu dem Kalibriermuster (150), über die Schnittstelle (107) von dem Rechensystem (100) empfangen wird, wobei mittels des Rechensystems (100) anhand des Bildes, basierend auf dem Kalibriermuster (150) und basierend auf den Informationen zu der Pose automatisiert die Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden.
  6. Verfahren nach Anspruch 5, wobei mittels des Rechensystems (100) anhand des Bildes, basierend auf dem Kalibriermuster und basierend auf den Informationen zu der Pose automatisiert die Kalibrierung der Kamera (145) erfolgt, bei der die Kameraparameter (160) ermittelt werden, indem zunächst die Pose der Kamera ermittelt wird, und wobei basierend auf der Pose der Kamera die Kameraparameter (160) ermittelt werden.
  7. Verfahren nach einem der vorstehenden Ansprüche, bei dem mittels des Rechensystems (100), auf eine Anfrage (200) über die Schnittstelle (107) hin, das Kalibriermuster (150) ermittelt und über die Schnittstelle bereitgestellt wird.
  8. Verfahren nach einem der vorstehenden Ansprüche, bei dem als Kommunikationsnetzwerk (110) ein auf der Internetprotokollfamilie, TCP/IP, basierendes Netzwerk verwendet wird, und/oder bei dem als Schnittstelle (107) eine Programmierschnittstelle bereitgestellt wird, und/oder bei dem ein Zugriff auf die Schnittstelle (107) über einen Web-Service (108), insbesondere einen Web-Browser, erfolgt.
  9. Verfahren nach einem der vorstehenden Ansprüche, bei dem die Kamera (145) in einem Fahrzeug für ein Fahrerassistenzsystem, oder auf einer Robotik-Vorrichtung verwendet wird, oder bei dem die Kamera im Rahmen ihrer Herstellung kalibriert wird.
  10. Verfahren nach einem der vorstehenden Ansprüche, bei dem unter Verwendung des entfernt von der Kamera (145) bereitgestellten Rechensystems (100) Kameraparameter (160) zum Einstellen mehrerer Kameras (145) ermittelt werden.
  11. Rechensystem (100), das dazu eingerichtet ist, alle von dem Rechensystem (100) durchgeführten Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
  12. Computerprogramm, das ein Rechensystem (100) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf dem Rechensystem (100) ausgeführt wird.
  13. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.
DE102020212635.6A 2020-10-07 2020-10-07 Verfahren zum Kalibrieren einer Kamera Pending DE102020212635A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020212635.6A DE102020212635A1 (de) 2020-10-07 2020-10-07 Verfahren zum Kalibrieren einer Kamera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020212635.6A DE102020212635A1 (de) 2020-10-07 2020-10-07 Verfahren zum Kalibrieren einer Kamera

Publications (1)

Publication Number Publication Date
DE102020212635A1 true DE102020212635A1 (de) 2022-04-07

Family

ID=80738074

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020212635.6A Pending DE102020212635A1 (de) 2020-10-07 2020-10-07 Verfahren zum Kalibrieren einer Kamera

Country Status (1)

Country Link
DE (1) DE102020212635A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010004165A1 (de) 2009-01-13 2010-10-07 GM Global Technology Operations, Inc., Detroit Verfahren und Systeme zum Kalibrieren von Fahrzeugsichtsystemen
US9230326B1 (en) 2012-12-31 2016-01-05 Cognex Corporation System, method and calibration plate employing embedded 2D data codes as self-positioning fiducials
WO2018005561A1 (en) 2016-06-28 2018-01-04 Magic Leap, Inc. Improved camera calibration system, target, and process
US20180352217A1 (en) 2017-06-02 2018-12-06 Subaru Corporation Apparatus for vehicle-mounted camera calibration and method for vehicle-mounted camera calibration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010004165A1 (de) 2009-01-13 2010-10-07 GM Global Technology Operations, Inc., Detroit Verfahren und Systeme zum Kalibrieren von Fahrzeugsichtsystemen
US9230326B1 (en) 2012-12-31 2016-01-05 Cognex Corporation System, method and calibration plate employing embedded 2D data codes as self-positioning fiducials
WO2018005561A1 (en) 2016-06-28 2018-01-04 Magic Leap, Inc. Improved camera calibration system, target, and process
US20180352217A1 (en) 2017-06-02 2018-12-06 Subaru Corporation Apparatus for vehicle-mounted camera calibration and method for vehicle-mounted camera calibration

Similar Documents

Publication Publication Date Title
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102009056640B4 (de) Robotersystem mit einer Mehrzahl mechanischer Roboterteile
WO2015173092A1 (de) Verfahren und vorrichtung zur kalibrierung eines kamerasystems eines kraftfahrzeugs
DE102020105569A1 (de) Anhängerwinkeldetektion unter verwendung von end-to-end-learning
DE102004044771A1 (de) Verfahren zur bildbasierten Fahreridentifikation in einem Kraftfahrzeug
EP3136711A1 (de) Verfahren zur erzeugung und auswertung eines bilds
DE102009057885A1 (de) Abbildungsvorrichtung
DE112020003158T5 (de) Trainingsverfahren für ein Zielerfassungsmodell, Verfahren und Vorrichtung zur Kennzeichnung der Daten
DE102013207598A1 (de) Platziervorrichtung und Platzierverfahren
WO2011124309A1 (de) Bildverarbeitungsverfahren und wärmebildkamera
DE112010002677T5 (de) Verfahren und vorrichtung zum bestimmen einer formübereinstimmung in drei dimensionen
DE112005000410T5 (de) Einrichtung einer Entsprechung und einer Rückverfolgbarkeit zwischen Wafern und Solarzellen
DE102018007287A1 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102019116834B4 (de) Augmentierte Fotoaufnahme
DE102010037067A1 (de) Robotersteuervorrichtung und Verfahren zum Teachen eines Roboters
EP2998694A9 (de) Verfahren und vorrichtung zum bestimmen der 3d-koordinaten eines objekts
DE102020121396A1 (de) Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn
DE102017100885B4 (de) Verfahren und vorrichtung zum erzeugen und projizieren eines 3d-thermogramms samt daten zu den aufnahmebedingungen
DE102020212635A1 (de) Verfahren zum Kalibrieren einer Kamera
DE102017213060A1 (de) Computerimplementiertes Verfahren und Vorrichtung zum automatischen Generieren von gekennzeichneten Bilddaten und Analysevorrichtung zum Überprüfen eines Bauteils
DE60306389T2 (de) Verfahren zur Bildung von Druckkontrolldaten
DE102013005658A1 (de) Erfassung eines dokuments
EP2884746A1 (de) Überwachungskameravorrichtung mit Tiefeninformationsbestimmung
DE102014220519B4 (de) Verfahren zur Positionierung eines bildaufnehmenden Elements zu einer optischen Einrichtung und Verwendung des Verfahrens
WO2012052308A1 (de) Bestimmung der basisbreite eines stereobild-erfassungssystems

Legal Events

Date Code Title Description
R163 Identified publications notified