-
Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera, sowie eine Recheneinheit, eine Kamera und ein Computerprogramm zu dessen Durchführung.
-
Hintergrund der Erfindung
-
Kameras können für die Überwachung einer Umgebung wie z.B. von Autobahnen, Gebäuden, Umzäunungen oder Büros eingesetzt werden. Hierbei kommen immer häufiger sog. intelligente Kameras bzw. Kamerasysteme zum Einsatz. Damit diese ordnungsgemäß funktionieren können, ist in der Regel eine Kalibrierung der Kamera nötig. Aus der
EP 2 044 573 B1 , der
EP 2 798 611 B1 sowie der
US 2019/0311494 A1 sind z.B. Möglichkeiten zum Kalibrieren von Kameras bekannt.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera sowie eine Recheneinheit, eine Kamera 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 Erfindung beschäftigt sich mit Kameras, insbesondere Verkehrsüberwachungskameras, sowie insbesondere deren Kalibrierung bzw. der Bestimmung eines oder mehrerer Kameraparameter zum Kalibrieren einer solchen Kamera, also Kameraparametern, basierend auf welchen das geometrische Abbildungsverhalten der Kamera beschrieben wird. Eine Kalibrierung kann sowohl eine extrinsische als auch eine intrinsische Kalibrierung umfassen. Extrinsische Kameraparameter sind z.B. Rollwinkel, Nickwinkel und Kamerahöhe (über dem Boden), intrinsische Kameraparameter sind z.B. eine Fokallänge, oder auch Hauptpunkt und Verzerrung.
-
Solche Kameraparameter können z.B. basierend auf manuell bestimmten und bereitgestellten Informationen erhalten werden. Beispielsweise können Abmessung von Objekten in mittels der Kamera aufgenommenen Bildern manuell angegeben und bereitgestellt werden, sodass eine Kalibrierung durchgeführt werden kann. Dies ist jedoch sehr aufwändig und insbesondere bei komplizierten, zu überwachenden Umgebungen oftmals auch nicht praktikabel.
-
Im Rahmen der vorliegenden Erfindung wird nun ein Vorgehen vorgeschlagen, das insbesondere eine automatische Kalibrierung der Kamera erlaubt. Hierzu werden eines oder mehrere, mittels der (zu kalibrierenden) Kamera aufgenommene Bilder einer Umgebung, z.B. einer Autobahn, bereitgestellt oder erhalten, z.B. in einer ausführenden Recheneinheit. Im bevorzugten Fall von mehreren Bildern können dies z.B. einzelne Frames eines Videos sein, ebenso aber auch separat aufgenommene Bilder.
-
Es werden dann, für eine 3D-Bounding-Box von einem oder von jedem von mehreren Objekten, in dem einen oder den mehreren Bildern, Koordinaten von jeweils wenigstens zwei Eckpunkten bestimmt, und zwar in einem Kamerakoordinatensystem. Als Objekte, die hier betrachtet werden, kommen insbesondere Fahrzeuge in Betracht, jedoch können z.B. auch Personen oder Anhänger in Betracht gezogen werden.
-
Bei einer 3D-Bounding-Box handelt es um einen Quader, in den das Objekt eingepasst ist, also einen einhüllenden Quader. Diese 3D-Bounding-Box ist bzw. wird dann aber auf die Bild- oder Kameraebene bzw. die Ebene des Kamera-Sensors projiziert, also ins Bild. Eine projizierte 3D-Bounding-Box (wie sie hier insbesondere zugrunde liegt) ist damit durch acht Eckpunkte definiert, die jeweils Koordinaten in der Bildebene (Bildkoordinaten) haben. Durch die Projektion der 3D-Bounding-Box auf die Kameraebene hat jeder Eckpunkt zwei Freiheitsgrade, z.B. eine x- und eine y-Koordinate.
-
Für das vorgeschlagene Verfahren sind jedoch nicht alle acht Eckpunkte bzw. deren Koordinaten nötig, sondern es können zwei Eckpunkte ausreichend sein. Zweckmäßig ist es aber, wenn die Koordinaten von wenigstens drei, insbesondere wenigstens vier, weitere insbesondere bis zu acht Eckpunkten für die 3D-Bounding-Box eines oder jedes der mehreren Objekte bestimmt werden.
-
Besonders bevorzugt ist es, wenn das Bestimmen der Koordinaten der wenigstens zwei Eckpunkte mittels eines Maschinenlernalgorithmus, insbesondere eines künstlichen neuronalen Netzes (z.B. ein Deep Neural Network, DNN), erfolgt, der als Eingangsdaten das eine oder die mehreren Bilder erhält.
-
Der Maschinenlernalgorithmus prädiziert (oder schätzt) dann z.B. eine bestimmte Anzahl an Eckpunkten (oder allgemein Keypoints) für jedes der Objekte im Bild. Als Eingangsdaten für den Maschinenlernalgorithmus können entweder einzelne Bilder (d.h. die mehreren Bilder einzeln) benutzt werden, oder eine Bildserie, umfassend mehrere zusammenhängende oder auch zeitlich getrennte Bilder, die als Batch zeitgleich prozessiert werden. Die Architektur eines DNN kann variieren und z.B. ein anchor-basierter Ansatz oder ein anchor-freier Ansatz sein, oder auf Basis eines ‚Convolutional Neural Networks‘ oder auf Basis eines ‚Transformer Netzwerks‘ (wie beispielsweise eines Swin-Transformers) funktionieren. Als Prädiktionsergebnis des DNN können dann beispielsweise alle acht Eckpunkte des einhüllenden Quaders (projizierte 3D-Bounding-Box) des Objekts, projiziert auf die Kameraebene verwendet werden. In diesem Fall hätte das DNN volle 16 Freiheitsgrade (jeder der acht projizierten Eckpunkte hat eine x- und y-Koordinate). Alternativ kann eine Teilmenge der acht Eckpunkte vorhergesagt (bestimmt) werden, z.B. nur vier Eckpunkte, aus welchen sich die verbleibenden vier Eckpunkte aus der Linearkombination der prädizierten vier Eckpunkte ergeben. In letzterem Fall hat das System acht Freiheitsgrade.
-
Ein solcher Maschinenlernalgorithmus bzw. ein solches neuronales Netz kann z.B. durch Trainieren erhalten werden, indem für eine Vielzahl von Bildern mit Objekten jeweils die projizierten 3D-Bounding-Boxen und/oder die interessierenden oder alle Eckpunkte der projizierten 3D-Bounding-Boxen zu den Objekten als Trainingsdaten bereitgestellt werden. Hierzu sei erwähnt, dass die 3D-Bounding-Boxen und projizierten 3D-Bounding-Boxen selbst nicht notwendigerweise vollständig bestimmt werden müssen, vielmehr sind die Koordinaten der interessierenden Eckpunkte ausreichend. Bildet die Optik der Kamera z.B. verzeichnend ab, d.h., dass Linien in der Welt/Kamerasystem auf Kurven abgebildet werden, so sind hier dennoch die acht Eckpunkte und nicht die Kurvenzüge von Interesse.
-
Weiterhin wird dann der wenigstens eine Kameraparameter bestimmt, und zwar basierend auf wenigstens einem, durch die Koordinaten der wenigstens zwei Eckpunkte der jeweiligen projizierten 3D-Bounding-Box definierten Abstand in der Bildebene (d.h. in einem Bildkoordinatensystem, das typischerweise 2D ist), und wenigstens einem korrespondierenden, vorgegebenen Abstand in einem Umgebungskoordinatensystem oder Kamerakoordinatensystem. Der wenigstens eine Kameraparameter wird dann bereitgestellt. Der vorgegebene Abstand ist beispielsweise eine Breite eines Fahrzeugs und/oder eine Länge eines Fahrzeugs und/oder eine Höhe eines Fahrzeugs und/oder eine daraus bestimmbare Größe eines Fahrzeuges, beispielsweise eine Länge einer Diagonalen eines Fahrzeugs.
-
Wie erwähnt, handelt es sich bei einer 3D-Bounding-Box um einen Quader, der ein Objekt wie ein Fahrzeug einhüllt. Entsprechend sind durch die Eckpunkte bestimmte Abstände definiert, nämlich die Abstände zwischen zwei Eckpunkten, insbesondere die Kanten des Quaders. Beispiele für solche Abstände, die durch die Eckpunkte definiert sind, sind z.B. eine Länge, eine Breite sowie eine Höhe. Für solche Abstände gibt es im Umgebungskoordinatensystem (also der realen Umgebung) entsprechende Abstände, also z.B. die Länge, eine Breite sowie eine Höhe des realen Objekts, z.B. des Fahrzeugs. Ein reale Breite oder Länge eines Fahrzeugs ist für verschiede Fahrzeugtypen z.B. bekannt.
-
Der wenigstens eine Kameraparameter kann dann bestimmt werden, da der Abstand zwischen zwei Eckpunkten im Kamerakoordinatensystem dem korrespondierenden realen Abstand entsprechen muss; dies bedingt z.B. gewisse Werte für die extrinsischen Kameraparameter wie Nickwinkel, Rollwinkel und Höhe.
-
Besonders zweckmäßig ist es, wenn der wenigstens eine Kameraparameter basierend auf Abständen für mehrere 3D-Bounding-Boxen bestimmt wird, bzw. mit anderen Worten basierend auf dem wenigstens einen durch die Koordinaten der wenigstens zwei Eckpunkte von mehreren 3D-Bounding-Boxen definierten Abstand bestimmt wird. Dies kann mehrere Bilder mit je einem oder mehreren Objekten umfassen, wobei jedem Objekt eine 3D-Bounding-Box zugeordnet ist. Je mehr Abstände (bzw. Objekte und Bilder) verwendet werden, desto genauer kann der wenigstens eine Kameraparameter bestimmt werden, und zwar z.B. im Rahmen eines Optimierungsverfahrens.
-
Werden Abstände von mehreren (projizierten) 3D-Bounding-Boxen (in der Bildebene) bestimmt, können im einfachsten Fall ein und dieselben Abmessungen, also Abstände zwischen den Eckpunkten bzw. Keypoints, der 3D-Bounding-Boxen angenommen werden, also z.B. dass alle Fahrzeuge im Umgebungskoordinatensystem dieselbe Breite haben. Wenn beispielsweise für die Breite von Fahrzeugen die Durchschnittsbreite angenommen wird, so mitteln sich die Abweichungen zwischen der tatsächlichen Breite einzelner Fahrzeuge und der Durchschnittsbreite statistisch (z.B. unter Annahme des Gesetzes der großen Zahlen), sodass für eine hinreichend große Anzahl an detektierten Fahrzeugen ein exaktes Ergebnis erreicht wird Im Rahmen z.B. eines Optimierungsverfahrens gleichen sich unterschiedliche Abstände bei den 3D-Bounding-Boxen dann aus.
-
Vorzugsweise wird außerdem wenigstens ein Objektparameter von dem einen oder von jedem von den mehreren Objekten, in dem einen oder den mehreren Bildern, bestimmt. Als Objektparameter kommen z.B. Position in der Ebene und Orientierung (Rotation um Hochachse) der Objekte in Betracht. Zum Bestimmen des wenigstens einen Kameraparameters werden dann der wenigstens eine Kameraparameter und der wenigstens eine Objektparameter zugleich im Rahmen eines Optimierungsverfahrens optimiert.
-
Bei dem verschlagenen Vorgehen bzw. der Kalibrierung wird insbesondere ausgenutzt, dass die Achsen die sich aus den Eckpunkten der 3D-Bounding-Boxen ergeben, rechtwinklig aufeinander stehen. Durch Annahme mindestens einer Länge (oder z.B. Länge und Breite) lässt sich somit bereits aus einer einzelnen Fahrzeugbeobachtung eine Hypothese für die Extrinsik der Kamera erstellen. Die Extrinsik ist insbesondere durch die drei Parameter Rollwinkel, Nickwinkel und Höhe über Grund (oder Boden, also insbesondere der Straße) beschrieben und damit für jede Ebene in der Szene bzw. Umgebung unterschiedlich. Hier kann zunächst angenommen werden, dass nur eine Ebene in der Szene vorliegt. Neben den drei extrinsischen Parametern können z.B. auch drei Objektparameter für jedes Objekt bzw. Fahrzeug bestimmt werden. Die Position in der Ebene (zwei Parameter) und die Rotation bzw. Drehung um die Hochachse bzw. Ebenennormale, sodass zu jedem Zeitpunkt eine Draufsicht (Topview) erstellt werden kann. Alle Objekt- bzw. Fahrzeugbeobachtungen (bzw. die vier Boden-Eckpunkte jeder 3D-Bounding-Box) können hier als Messung dienen. In einem Optimierungsverfahren werden dann z.B. die extrinsischen Parameter und Objektparameter gleichzeitig geschätzt oder optimiert, wobei z.B. ein Rückprojektionsfehler miniert wird. Konkret werden insbesondere die vier Boden-Eckpunkte der 3D-Bounding-Box unter Annahme einer durchschnittlichen Fahrzeuggröße und den extrinsischen Kameraparametern und Objektparametern ins Bild projiziert und mit den detektierten Eckpunkten verglichen.
-
Sofern z.B. immer Durchschnittswerte für die Objekt- bzw. Fahrzeuggröße angenommen werden, ist es zweckmäßig, wenn nur Pkws (Personenfahrzeuge) verwendet werden. Dies kann z.B. dadurch erfolgen, dass der erwähnte Maschinenlernalgorithmus nur Pkws als Objekte berücksichtigt. Dabei ist zu beachten, dass die geschätzten Parameter korrekt sind, wenn die beobachteten Fahrzeuge (oder allgemeine Objekte) im Durschnitt die angenommenen Durchschnittsgrößen (Abstände) aufweisen.
-
In einem bevorzugten Ausführungsbeispiel werden Beobachtungen (also Bilder und dabei erhaltene Koordinaten und ggf. Parameter) nicht sofort verworfen, sodass immer mehr Objektparameter geschätzt werden müssen. Es kann auch immer eine feste, d.h. gleichbleibende Anzahl von Fahrzeugbeobachtungen (Objekte) benutzt werden.
-
Beobachtungen bzw. Objekte können dabei nach verschiedenen Schemata verworfen werden. So kann z. B. das Alter der Beobachtung berücksichtigt werden. Ältere Beobachtungen können z.B. verworfen werden, um eine kontinuierliche Nachschätzung der Parameter zu erlauben. Allgemein können also z.B. die mehreren Bilder, die berücksichtigt werden, nur zeitlich aktuelle Bilder umfassen, die nach einem vorgegebenen Kriterium bestimmt sind, z.B. nur Bilder der letzten zehn Minuten oder die letzten 100 Bilder. Dies ist z.B. entscheidend, wenn sich die Ausrichtung der Kamera oder der Befestigung (der Kamera) über die Zeit (z.B. durch thermische Einflüsse) ändern kann.
-
Ebenso kann z.B. die Abdeckung im Bild berücksichtigt werden. Für die Kalibrierung ist es vorteilhaft, wenn im kompletten relevanten Bereich der erfassten Umgebung Messungen bzw. Beobachtungen (also im Bild vorhandene Objekte) vorliegen. Dies gilt insbesondere, wenn eine ungekrümmte Ebene (auf der sich die Objekte befinden, z.B. eine ebene Fahrbahn) angenommen wird, die tatsächliche Fahrbahn aber leicht gekrümmt ist (z.B. durch einen Anstieg). In diesem Fall ist die Schätzung einer durchschnittlichen Ebene oft erwünscht.
-
Ebenso können z.B. unterschiedliche Fahrzeuge oder allgemein unterschiedliche Objekte, also Typen von Objekten, berücksichtigt werden. Da z.B. Fahrzeuge in der Größe von den angenommenen Durchschnittswerten abweichen können, sollten möglichst verschiedene Fahrzeuge/Beobachtungen verwendet werden. Dies kann z.B. sichergestellt werden, indem Fahrzeuge z.B. auf Basis der erzeugten Draufsicht verfolgt werden. Zudem können verschiedene Fahrzeug- (oder Personen-) Klassen benutzt werden, wenn für sie eine Durchschnittsgröße vorliegt. In diesem Fall gibt es also z.B. insgesamt nicht nur einen vorgegebenen Abstand, sondern je einen pro Fahrzeugklasse (z.B. Pkw und Lkw).
-
Neben den extrinsischen Kameraparametern kann auch eine Fokallänge (z.B. ausgedrückt durch den Öffnungswinkel) als intrinsischer Parameter bestimmt (bzw. mitgeschätzt) werden. Dabei können z.B. perspektivische Effekte der einzelnen 3D-Bounding-Boxen betrachtet werden, also z.B. die Lage der Fluchtpunkte, die sich aus den Verbindungen der Eckpunkte ergeben.
-
Generell lassen sich weitere intrinsische Parameter (z.B. Hauptpunkt, Verzeichnung) mit schätzen. Da jede einzelne projizierte 3D-Bounding-Box (hier insbesondere unter Annahme von mindestens vier Eckpunkten, die nicht in einer Ebene liegen) schon die Bestimmung der extrinsischen Parameter (Winkel und Höhe) zulässt, können die intrinsischen Parameter aus der Beobachtung mehrerer Fahrzeuge und Weltannahmen, wie z.B. einer gemeinsamen Grundebene, bestimmt werden, da in diesem Fall für alle Fahrzeuge die gleichen extrinsischen Kalibrierparameter bestimmt werden müssten. Eine (systematische) Abweichung kann daher zur Bestimmung (Kalibrierung) der intrinsischen Parameter genutzt werden.
-
Vorstehend wurde insbesondere auf vier Eckpunkte am Boden der 3D-Bounding-Box abgestellt und ein durchschnittliches Längen- und Breitenmaß angenommen. Generell ist jedoch nur ein einziges Maß (Abstand), z.B. nur Breite oder Höhe, erforderlich. Gleichzeitig können auch die vier oberen Eckpunkte mitverwendet werden. Diese befinden sich in einer Ebene parallel zur Straße. Vorzugsweise sollten mindestens drei (verbundene) Eckpunkte und zwei Längen oder vier Punkte und eine Länge vorliegen. Es ist jedoch auch möglich, Beobachtungen ohne Längenbezug hinzuzunehmen, z.B. bei Fahrzeugen, die eine höhere Varianz in Länge/Breite/Höhe aufweisen, wie Vans bzw. Nutzfahrzeuge. Dabei wird nur die Rechtwinkligkeit der Schenkel ausgenutzt.
-
Bei den vorstehenden Erläuterungen wurde eine (Haupt-)Ebene (die Fahrbahn) angenommen. Generell ist es jedoch auch möglich, mehrere Ebenen oder gekrümmte Oberflächen anzunehmen. Für gekrümmte Oberflächen können z.B. parametrische Oberflächen (z.B. beschrieben durch Polynome) genutzt werden. Gleichzeitig kann jedes Bild z.B. auch in Gitterzellen zerlegt werden und der wenigstens eine Kameraparameter (insbesondere eine extrinsische Kalibrierung) für jede Gitterzelle bestimmt werden. Dabei können auch Nachbarschaftseigenschaften zwischen Gitterzellen ausgenutzt werden (z.B. eine Glättung, beispielsweise über ein Markov-Random-Field). Für diese Ansätze kann der vorstehend beschriebene Ansatz dahingehend verändert werden, dass jedes Objekt oder Fahrzeug eine Hypothese erzeugt. Diese würden dann lokal geclustert und entsprechende Parameter je Cluster abgeleitet. Damit läge für jedes Cluster, oder jede Gitterzelle, eine eigene, unterschiedliche extrinsische Kalibrierung (mit entsprechenden Kalibrierparametern) vor. Diese können dann auf verschiedene Weisen, z.B. durch Interpolation mit Polynomen, wie eine sich verändernde (Änderung der Höhe und Ausrichtung) Oberfläche genutzt werden.
-
Eine Eigenschaft, die im Rahmen des vorgeschlagenen Verfahrens genutzt wird, ist die Rechtwinkligkeit der 3D-Bounding-Boxen sowie deren Lage am Boden (ein Fahrzeug liegt auf der Fahrbahn auf). Generell lassen sich daher auch 3D-Bounding-Boxen von Personen oder Anhängern oder auch sonstigen Objekten verwenden, nicht nur von Fahrzeugen.
-
Eine bevorzugte Erweiterung des hier präsentierten Ansatzes stellt die Kalibrierung über die zeitliche Verfolgung von Objekten dar. Selbst wenn kein angenommener Längenbezug vorliegt, kann ausgenutzt werden, dass sich die Dimensionen eines Objekts über die Zeit nicht ändern. So können z.B. auf Basis der aktuell angenommenen Kalibrierung bzw. der Kameraparameter Objektdimensionen bestimmt werden. Diese können dann in späteren Bildern verwendet werden. Insbesondere kann dies in einen holistischen Prozess bzw. Schätzer eingebettet werden, wobei die Objektdimensionen mitgeschätzt werden, aber als konstant über die Zeit angenommen werden.
-
Eine weitere Anwendung oder Erweiterung ist z.B. ein automatischer, simultaner Aufbau von Karten, die z.B. Fahrspurinformationen enthalten. Hierfür können einfache Verfahren (z.B. gitterbasiert), auf Basis der erzeugten Draufsicht, verwendet werden.
-
Zusammenfassend werden also einfache und vielseitige 3D-Bounding-Box-Eckpunkt-Detektoren zur vollautomatischen Kalibrierung von (insbesondere stationären) Kameras genutzt. Insbesondere werden dabei die Projektionen von 3D-Bounding-Box-Koordinaten ins Bild genutzt, um eine extrinsische sowie (in Erweiterung) auch intrinsische Kalibrierung abzuleiten. Vorteile sind hierbei insbesondere die direkte Schätzung der Eckpunkte des einhüllenden Quaders (als Keypoints) im Gegensatz zur Schätzung von z.B. speziellen markanten Keypoints an Fahrzeugen (z.B. Reifen, Kennzeichen oder Lichter). Somit ist keine Anpassung auf spezielle Fahrzeugtypen (ggf. über eine Klasse Lkw/Pkw/Van hinausgehend) notwendig und eine Extrapolation auf andere Fahrzeugtypen einfacher möglich. Zudem werden weniger Längenbezüge (lediglich mindestens ein Abstand muss bekannt sein) als bei anderen Ansätzen vorausgesetzt. Klassen mit hoher Variabilität können sogar ohne Längenbezug mitgenutzt werden.
-
Der Ansatz erlaubt generell die Schätzung der Extrinsik bezüglich mehrerer Ebenen oder sogar gekrümmter Oberflächen und Kurven. Die Anzahl benötigter prädizierter Eckpunkte (acht bei einer 3D-Bounding-Box) lässt sich weiter auf drei oder sogar zwei reduzieren. Diese können sich z.B. alle auf dem Boden befinden. Eine Besonderheit liegt auch in der vorgeschlagenen Möglichkeit eines One-Stage-Detektors (gegenüber mehrstufigen Verfahren).
-
Eine erfindungsgemäße Recheneinheit, z.B. Prozessor einer Kamera, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Eine erfindungsgemäße Kamera, insbesondere Verkehrsüberwachungskamera, weist eine erfindungsgemäße Recheneinheit auf. Es sei jedoch erwähnt, dass eine Recheneinheit auch separat von der Kamera vorgesehen sein kann, z.B. durch Auslagerung des Verfahrens auf einen Server als Recheneinheit (z.B. in die sog. Cloud).
-
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. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. 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. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
- 1 zeigt schematisch eine Umgebung mit Kamera zur Erläuterung einer Ausführungsform.
- 2 zeigt ein Bild einer Umgebung zur Erläuterung einer weiteren Ausführungsform.
- 3 zeigt schematisch einen Ablauf einer Ausführungsform.
- 4 zeigt in Diagrammen Kameraparameter, die im Rahmen einer Ausführungsform bestimmt werden können.
-
Ausführungsform(en) der Erfindung
-
In 1 ist schematisch eine Umgebung 110 mit Kamera 100 zur Erläuterung einer Ausführungsform der Erfindung dargestellt. In der Umgebung 110 ist eine Fahrbahn 112 gezeigt, auf der sich beispielhaft ein als Fahrzeug ausgebildetes Objekt 120 befindet. Die Kamera 100 weist eine Recheneinheit 102 auf und wird beispielhaft als Verkehrsüberwachungskamera eingesetzt, d.h. damit sollen die Umgebung 100 und darin vorhandene bzw. auftauchende Objekte, insbesondere Fahrzeuge wie das Fahrzeug 120, beobachtet bzw. überwacht werden. Hierzu kann insbesondere eine Kalibrierung der Kamera 100 nötig sein.
-
Das Fahrzeug 120 weist beispielhaft eine Länge 122 und eine Höhe 124 auf, die in einem Umgebungskoordinatensystem x, y, z definiert sind. Eine Breite des Fahrzeugs 120 ist hier nicht gezeigt.
-
In 2 ist ein Bild 200 einer Umgebung zur Erläuterung einer weiteren Ausführungsform der Erfindung gezeigt. Bei dem Bild 200 kann es sich um ein mittels einer Kamera wie z.B. der Kamera 100 aus 1 aufgenommenes Bild einer Umgebung mit Objekten, insbesondere Fahrzeugen, handeln.
-
Beispielhaft ist in dem Bild 200 eine Fahrbahn 212 zu sehen, ebenso eine Vielzahl an Fahrzeugen als Objekte. Beispielhaft ist ein auf die Kamera, mittels welcher das Bild 200 aufgenommen worden ist, zufahrendes Fahrzeug mit 220 bezeichnet, hier ein Pkw, ein weiteres, auf die Kamera zufahrendes Fahrzeug ist mit 250 bezeichnet, hier ein Lkw. Zudem ist beispielhaft ein von der Kamera wegfahrendes Fahrzeug mit 252 bezeichnet, hier ein Pkw.
-
Anhand des Fahrzeugs 200 soll nun eine sog. 3D-Bounding-Box 230 erläutert werden, wie sie im Rahmen der vorliegenden Erfindung verwendet werden. Bei der 3D-Bounding-Box 230 handelt es sich um einen Quader, der das Fahrzeug 220 (oder allgemein ein Objekt) einhüllt. Die 3D-Bounding-Box bzw. der Quader umfasst damit acht Eckpunkte bzw. ist durch diese Eckpunkte definiert. Beispielhaft sind vier dieser Eckpunkte mit 231, 232, 233 und 234 bezeichnet. Jeweils zwei der Eckpunkte sind durch Linien bzw. Kanten miteinander verbunden (es gibt für einen Quader insgesamt 12 Kanten), wobei beispielhaft drei Kanten mit 241, 242 und 243 bezeichnet sind. Diese Kanten stehen nun an den Eckpunkten senkrecht aufeinander, zudem liegt der Quader bzw. die 3D-Bounding-Box auf einer Ebene auf, die durch die Fahrbahn 212 definiert ist.
-
Dadurch, dass die 3D-Bounding-Box 230 das Fahrzeug 220 einhüllt, entsprechen die Längen bestimmter Kanten korrespondierenden maximalen Abmessungen des Fahrzeugs 220. So entspricht die Länge der Kante 241 (der Abstand zwischen den Eckpunkten 231 und 232) der Breite des Fahrzeugs 220, die Länge der Kante 242 (der Abstand zwischen den Eckpunkten 232 und 233) entspricht der Länge des Fahrzeugs 220 (vgl. auch Länge 122 in 1), und die Länge der Kante 243 (der Abstand zwischen den Eckpunkten 231 und 234) entspricht der Höhe des Fahrzeugs 220 (vgl. auch Höhe 124 in 1).
-
Durch eine Projektion der3D-Bounding-Box 230 weisen die Eckpunkte Koordinaten in der Bildebene y’, z' auf, also einem 2D-Koordinatensystem in der Kameraebene bzw. der Sensorebene. Entsprechend sind diese Koordinaten in 2D, d.h. zweidimensional, während die 3D-Bounding-Box 230 an sich dreidimensional ist. Die 3D-Bounding-Box 230 wird also in die 2D-Ebene projiziert.
-
In gleicher Weise lassen sich für die weiteren Fahrzeuge 3D-Bounding-Boxen mit Eckpunkten definieren, wie in 2 gezeigt. Ebenso können für andere Objekte wie z.B. Personen oder Anhänger 3D-Bounding-Boxen definiert werden. Zudem ist mit 260 ein geschätzter Horizont gezeigt. Die Lage des Horizonts im Bild ist hier zum besseren Verständnis gezeigt, da sich einfach feststellen lässt, ob ein solcher Horizont plausibel ist. Die Lage und Form der Horizontkurve ist aber auch direkt abhängig von den geschätzten Winkeln der Bodenebene sowie den intrinsischen Kameraparametern.
-
In 3 ist schematisch ein Ablauf eines Verfahrens in einer Ausführungsform dargestellt, das nachfolgend, insbesondere unter Bezug auf 2, näher erläutert werden soll.
-
In einem Schritt 300 werden zunächst eines, bevorzugt jedoch mehrere Bilder wie z.B. das Bild 200 bereitgestellt. Hierzu können die Bilder mit der Kamera aufgenommen werden.
-
In einem Schritt 310 werden dann z.B. für jedes der Objekte wie das Fahrzeug 230 in Bild 200 die Koordinaten 312 von Eckpunkten einer jeweiligen projizierten 3D-Bounding-Box bestimmt, und zwar in der Bildebene y', z'. Hierzu kann z.B. ein künstliches neuronales Netz 314 (oder ein anderer Maschinenlernalgorithmus) verwendet werden, das die Bilder 200 als Eingangsdaten erhält. Wie schon erwähnt, können hierbei z.B. die Koordinaten von allen acht Eckpunkten jeder 3D-Bounding-Box bestimmt werden, ebenso sind aber z.B. zwei oder drei Eckpunkte (z.B. 231, 232, 233) ausreichend. Durch die Eckpunkte bzw. deren Koordinaten sind dann auch Abstände zwischen den Eckpunkten definiert, z.B. die Kanten 241, 242.
-
Optional können, in einem Schritt 320, auch Objektparameter 322 der Fahrzeuge bestimmt werden, also z.B. deren Position auf der Fahrbahn 212 sowie deren Orientierung bzw. Drehung um eine Senkrechte zur Fahrbahn 212.
-
In einem Schritt 330 werden dann z.B. einer, vorzugsweise aber mehrere Kameraparameter bestimmt, z.B. die extrinsischen Kameraparameter Rollwinkel 332, Nickwinkel 334 sowie Höhe der Kamera über dem Boden (Fahrbahn) 336, und ein intrinsischer Kameraparameter 338, z.B. die Fokallänge. Dies erfolgt basierend auf den Abständen zwischen Eckpunkten (im Kamerakoordinatensystem x', y`) sowie zumindest einem korrespondierenden, vorgegebenen Abstand wie z.B. der Länge, Höhe oder Breite eines Fahrzeugs (im Umgebungskoordinatensystem x, y, z). Dies kann insbesondere auch im Rahmen eines Optimierungsverfahrens erfolgen. Ebenso können im Rahmen dieses Optimierungsverfahrens die erwähnten Objektparameter 322 optimiert werden.
-
In einem Schritt 340 werden die im Rahmen dieser Kalibrierung erhaltenen Kameraparameter dann bereitgestellt. Sie können bei Bedarf, Schritt 350, dann angewendet werden, um die Kameraeinstellungen anzupassen.
-
In 4 sind in Diagrammen unter anderem die Kameraparameter Rollwinkel 332 (obere Linie) und Nickwinkel 332 (untere Linie), jeweils z.B. in Grad, in Diagramm (A), Höhe 336, z.B. in Meter, in Diagramm (B) und Anzahl 400 erfasster Objekte in Diagramm (C), jeweils über einer Anzahl N an verarbeiteten Bildern bzw. Messungen aufgetragen. Es ist anzunehmen, dass mit zunehmender Anzahl an Bildern bzw. Messungen die Schätzung bzw. Bestimmung der Kameraparameter genauer wird.
-
In Diagramm (D) ist zudem eine Draufsicht bzw. Topview der Umgebung im Umgebungskoordinatensystem (x, y) gezeigt, wobei in einem Sichtfeld 410 der Kamera (diese befindet sich bei x=0, y=0) Fahrzeuge bzw. Objekte gezeigt sind, d.h. deren Positionen und Orientierungen (Objektparameter). Diese Objektparameter und damit eine solche Ansicht kann, wie erwähnt, z.B. im Rahmen der Optimierung erhalten werden. Durch wiederholt bestimmte Draufsichten können somit z.B. Karten der Fahrspuren bestimmt werden, da ein Fahrzeug typischerweise die Fahrspur nicht häufig wechselt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- EP 2044573 B1 [0002]
- EP 2798611 B1 [0002]
- US 20190311494 A1 [0002]