DE112016006081T5 - Automatische Echtzeit-Fahrzeugkamerakalibrierung - Google Patents

Automatische Echtzeit-Fahrzeugkamerakalibrierung Download PDF

Info

Publication number
DE112016006081T5
DE112016006081T5 DE112016006081.5T DE112016006081T DE112016006081T5 DE 112016006081 T5 DE112016006081 T5 DE 112016006081T5 DE 112016006081 T DE112016006081 T DE 112016006081T DE 112016006081 T5 DE112016006081 T5 DE 112016006081T5
Authority
DE
Germany
Prior art keywords
camera
threshold
lines
road
sequence
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.)
Withdrawn
Application number
DE112016006081.5T
Other languages
English (en)
Inventor
Alexander Bovyrin
Alexander Kozlov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112016006081T5 publication Critical patent/DE112016006081T5/de
Withdrawn 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/02Control of vehicle driving stability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/40Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the details of the power supply or the coupling to vehicle components
    • B60R2300/402Image calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Eine Kamera an der Vorderseite eines Fahrzeugs, während sich das Fahrzeug auf der Straße bewegt, kann durch Empfangen von sequentiellen Bildern von der Kamera kalibriert werden. Bildkernpunkte in dem Bereich, der durch den Straßenort begrenzt ist, werden ausgewählt. Die Kernpunkte werden unter Verwendung eines Verfahrens des optischen Flusses verfolgt. Eine Filterprozedur wird auf die Kernpunkte angewendet, um die geradlinige Bewegung des Fahrzeugs zu identifizieren. Mindestens zwei gerade Linien entsprechen gegenüberliegenden Seiten der Straße. Ein Kalibrierungsalgorithmus wird auf die mindestens zwei Linien angewendet, um einen Fluchtpunkt zu bestimmen. Die Nick- und/oder Gierwinkel der Kamera werden dann berechnet.

Description

  • Hintergrund
  • Dies bezieht sich auf fortschrittliche Fahrerassistenzsysteme (ADAS) und auf das Kalibrieren einer Kamera an der Vorderseite eines Fahrzeugs, während sich das Fahrzeug auf der Straße bewegt.
  • Da die Leistung von vielen Sicherheitsmerkmalen, wie z. B. Auffahrunfallwarnung (FCW) und Fahrspurhaltewarnung (LDW), von der Korrektheit von Kameraparametern abhängen, ist die Kamerakalibrierung für fortgeschrittene Fahrerassistenzsysteme (ADAS) sehr wichtig. Während intrinsische Kameraparameter für Kameraspezifikationen bekannt sein können, müssen extrinsische Parameter während der ADAS-Systeminstallation gemessen werden. Es gibt viele Kalibrierungsalgorithmen, aber die meisten von ihnen werden nicht in Echtzeit durchgeführt und erfordern spezielle Kalibrierungsmuster und komplexe Handlungen vom Benutzer, die nicht immer möglich sind.
  • Figurenliste
  • Einige Ausführungsformen werden mit Bezug auf die folgenden Figuren beschrieben:
    • 1 zeigt die Kernpunkttrajektorien im dreidimensionalen Raum gemäß einer Ausführungsform;
    • 2 zeigt schematisch die Struktur eines Fahrzeugkamerakalibrierungsalgorithmus gemäß einer Ausführungsform;
    • 3 zeigt schematisch den Kalibrierungsprüfalgorithmus gemäß einer Ausführungsform;
    • 4 ist eine Systemdarstellung für eine Ausführungsform; und
    • 5 ist ein Vorderseitenaufriss eines Systems gemäß einer Ausführungsform.
  • Ausführliche Beschreibung
  • Extrinsische Kameraparameter wie z. B. Kameranickwinkel und Kameragierwinkel können in einem Echtzeitsystem auf der eingebetteten Plattform abgeschätzt werden. Es wird angenommen, dass der Kamerarollwinkel einen Wert von nahezu null aufweist. Dies gilt in den meisten Fällen. Eine gewisse Abweichung des Kamerarollwinkels von null wirkt sich überdies nicht wesentlich auf andere ADAS-Module aus.
  • Extrinsische Fahrzeugkameraparameter werden aus Sequenzen von Bildern, die von einem sich bewegenden Fahrzeug aus aufgenommen werden, in Echtzeit auf einer eingebetteten Plattform abgeschätzt. Ein Verfolgungsalgorithmus verfolgt Kernpunkte auf der Straße und erhält Trajektorien von Kernpunkten für die Fluchtpunktabschätzung. Der Verfolgungsalgorithmus kann auf der Berechnung des optischen Flusses einer kleinen Teilmenge von relevanten Punkten basieren, so dass das System in Echtzeit auf dem eingebetteten System laufen kann. Ein optischer Fluss ist ein Muster einer scheinbaren Bewegung eines Objekts, die durch eine relative Bewegung zwischen einem Beobachter (d. h. Fahrzeugkamera) und der Szene (d. h. der Straße) verursacht wird. Verfahren des optischen Flusses berechnen die Bewegung zwischen zwei Bildrahmen zu Zeiten t und t+Dt in jeder Voxelposition.
  • Um den Fluchtpunkt abzuschätzen, werden Kernpunkttrajektorien gefiltert und eine Akkumulation von Linienkreuzungen wird durchgeführt. Dies kann durch optimales Anpassen einer Linie an jede Kernpunkttrajektorie und Finden von Schnittpunkten aller Paare dieser Linien durchgeführt werden. In 1 bewegt sich ein Fahrzeug V auf einer Fahrbahn R. Fahrbahnmarkierungen M (gezackte Linien) auf der Basis von Trajektorien der Fahrbahnmarkierungspunkte können an Linien L (d. h. die Linien Linie 1, Linie 2, Linie 3) angepasst werden. Diese Markierungen können auf der relativen Bewegung zwischen den Fahrzeugbasiskernpunkten und Fahrspurindikatoren (nicht dargestellt), die auf die Fahrbahnoberfläche aufgebracht sind, basieren.
  • Das automatische Kalibrierungssystem kann mit sequentiellen Bildern von einer Fahrzeugvideokamera arbeiten und kann in einigen Ausführungsformen vollständig automatisch arbeiten. Dies bedeutet, dass das System Entscheidungen über das Starten der Kalibrierung oder Beenden der Kalibrierung durchführen kann oder es den Benutzer benachrichtigen kann, dass eine Kalibrierung erforderlich ist oder dass ein aktueller Kalibrierungsprozess beendet ist.
  • Die folgende Erörterung ist für ein automatisches Kalibrierungsmodul und Kalibrierungsprüfmodul allgemein und sie beschreibt eine Methode auf der Basis der Verwendung eines optischen Flusses, um gerade Straßenlinien für die Fluchtpunktabschätzung zu erhalten. Wenn der Kalibrierungsprozess aktiviert wird, findet das System Bildkernpunkte auf der Fahrbahn für eine weitere Verfolgung, beispielsweise unter Verwendung eines herkömmlichen Algorithmus. (Siehe z. B. J. Shi, et al., „Good features to track", Computer Vision and Pattern Recognition, 1994, Proceedings CVPR '94, 1994 IEEE Computer Society Conference on IEEE, 1994). Kernpunkte werden in einem Bereich betrachtet, der durch den ungefähren Straßenort begrenzt ist. Dies kann die Kernpunktberechnungszeit verringern und ermöglichen, dass irrelevante Kernpunkte ausgefiltert werden. Nachdem Kernpunkte gefunden sind, werden sie verfolgt, beispielsweise unter Verwendung des Lucas-Kanade-Verfahrens des optischen Flusses. (Siehe z. B. Jean-Yves Bouguet, „Pyramidal implementation of the Lucas-Kanade feature tracker“, Microsoft Research Labs., Tech. Rep. (1999)). Andere Differentialverfahren umfassen die Horn-Schunck-, Buxton-Buxton- und Block-Jepson-Verfahren. Nicht-Differential-Verfahren können auch verwendet werden.
  • Wenn die Verfolgung beendet ist, wird eine Filterprozedur auf alle Kernpunkte auf der Basis der Voraussetzung angewendet, dass eine Richtung eines Vektors, der von einem Verfolgungspunkt konstruiert ist, und seine anfängliche Position einer geradlinigen Bewegung des Fahrzeugs entsprechen sollten. Der Kernpunktort sollte sich auch im Straßenbereich befinden. Danach wird jede Kernpunkttrajektorie Ti (siehe gezackte Linien M in 1) durch eine neue Position aktualisiert. Dann wird die Linie Li (siehe Linien L in 1) an jede Kernpunkttrajektorie Ti angepasst. Die Trajektorie Ti wird nicht berücksichtigt, wenn sie nicht gut zur Linie Li passt. Die Linie Li wird aus der weiteren Analyse ausgeschlossen, wenn die Kernpunktabweichung über die Linie Li einen gewissen Schwellenwert T überschreitet. Diese Filterprozeduren sind für einen Echtzeitalgorithmus nützlich, da die Ausreißer fallen gelassen werden können, wodurch die Rechenzeit verringert wird und die Kalibrierungsqualität erhöht wird.
  • Der Kalibrierungsalgorithmus (siehe 2) kreuzt alle Linien Li (konstruiert, wie vorstehend beschrieben) und akkumuliert Ergebnisse der Kreuzung in einer speziellen Karte M, deren Größe dieselbe wie die Eingangsbildgröße ist. Das Ergebnis der Kreuzung von zwei Linien Linie 1 und Linie 2 (1) ist der Punkt P. Der Wert (Länge(Trajektorie 1) + Länge (Trajektorie 2))/2 wird in den Punkt P in der Karte M hinzugefügt, wobei Länge(Trajektorie 1) eine Länge der Kernpunkttrajektorie ist, die der Linie 1 entspricht. Über die Zeit wachsen die Kartenwerte an. Der Kalibrierungsprozess wird beendet, wenn ein Maximalwert der Karte M größer ist als ein definierter Schwellenwert Tm. Ein Fluchtpunkt VP ist ein Punkt, der dem Maximalwert der Karte M entspricht.
  • In 1 ist die Straße gerade, so dass sich die Linien wie z. B. Linien 1 und 2 nicht kreuzen. Der Punkt, an dem sich die Linien in einem gekrümmten Pfad kreuzen, wird Fluchtpunkt genannt.
  • Die Sequenz 10 zum Kalibrieren einer Fahrzeugkamera kann in Software, Firmware und/oder Hardware implementiert werden. In Software- und Firmware-Ausführungsformen kann sie durch computerausgeführte Befehle implementiert werden, die in einem oder mehreren nichttransitorischen computerlesbaren Medien wie z. B. einem magnetischen, optischen oder Halbleiterspeicher gespeichert sind.
  • Die Sequenz 10 beginnt mit dem Aufnehmen eines Bildes 12 und Bestimmen, ob eine Kernpunktliste (z. B. eine Liste von verfolgbaren Fahrbahnmarkierungen) nicht leer ist, in der Raute 14.
  • Wenn die Kernpunktliste nicht leer ist, dann werden die Kernpunkte verfolgt, wie bei 16 angegeben. Ansonsten findet die Suche weiterhin Punkte zur Verfolgung, wie im Block 18 angegeben.
  • Eine Prüfung in der Raute 20 bestimmt, ob jeder neue Punkt gültig ist (d. h. innerhalb der Fahrbahn). Wenn ja, bestimmt eine Prüfung in der Raute 22, ob die Spur gültig ist (d. h. entspricht die Spur der geradlinigen Bewegung des Fahrzeugs). Wenn ja, werden die Linien angepasst und sie werden im Block 24 gekreuzt. Wenn die Spur nicht gültig ist, wie in der Raute 26 bestimmt, wird die Spur im Block 32 fallen gelassen.
  • Wenn der neue Punkt nicht gültig ist, wie in der Raute 20 bestimmt, bestimmt eine Prüfung in der Raute 28, ob die alte Spur noch gültig ist. Wenn nicht, wird die Spur fallen gelassen, wie bei 30 angegeben. Ansonsten fährt der Ablauf zum Block 24 weiter und Linien werden an die Daten (z. B. Markierungen M in 1) angepasst und Linienkreuzungen werden detektiert. Schließlich wird die Fluchtpunktkarte aktualisiert, wie im Block 26 angegeben.
  • Da der Fluchtpunkt bekannt ist, können Nick- und Gierwinkel der extrinsischen Kameraparameter berechnet werden wie folgt: p i t c h = a r c t g ( V p + c y f y ) y a w = a r c t g ( ( U p c x ) cos ( p i t c h ) f x ,
    Figure DE112016006081T5_0001
    wobei (Up,Vp) Bildkoordinaten eines Fluchtpunkts sind und fx, fy und (cx,cy) Brennweiten bzw. Koordinaten des Bildmittelpunkts der Kamera sind. Der Bildmittelpunkt ist dort, wo die optische Achse die Kameraebene kreuzt.
  • Die Kalibrierungsprüfung 40, die in 3 gezeigt ist, verwendet denselben Algorithmus, um Linien an Kernpunkttrajektorien anzupassen, sie verwendet jedoch diese in einer anderen Weise. Zuallererst findet sie eine Darstellung jeder Linie im dreidimensionalen Raum. Die Hauptidee besteht darin, dass der Prototyp der Linie im Fahrzeugkoordinatensystem zur Fahrzeugbewegungsrichtung oder zur Z-Achse parallel sein sollte, wie in 1 gezeigt.
  • Die in 3 gezeigte Sequenz 40 kann in Software, Firmware und/oder Hardware implementiert werden. In Software- und Firmware-Ausführungsformen kann die Sequenz durch computerausgeführte Befehle implementiert werden, die in einem oder mehreren nichttransitorischen computerlesbaren Medien wie z. B. einem magnetischen, optischen oder Halbleiterspeicher gespeichert sind.
  • Die Sequenz beginnt 40 mit dem Empfangen eines Bildes 42. Im Block 44 werden Kernpunkte verfolgt und ihre Trajektorien werden erhalten. Kernpunkte können durch irgendein Eckenpunktdetektionsverfahren erhalten werden, beispielsweise den FAST-Eckendetektor oder HARRIS-Eckendetektor. Dann werden Linien an die Trajektorien angepasst, wie im Block 46 angegeben. Als nächstes werden die Tangenten der Trajektorienlinien im Block 48 berechnet.
  • Eine Prüfung in der Raute 50 bestimmt, ob die Tangente größer ist als ein Schwellenwert. Eine Linie wird übersprungen, wenn die Tangente geringer ist als ein Schwellenwert. Spezielle Schwellenwerte können auf der Basis von Testdaten ausgewählt werden. Wenn die Tangente größer ist als ein Schwellenwert, wird eine schlechte Linie bei 52 angegeben und das Verhältnis R der Anzahl von schlechten Linien zu einer Anzahl von gefundenen Linien in einer aktuellen Runde wird berechnet, wie im Block 54 angegeben.
  • Kameraparameter werden nur geprüft, wenn die Fahrzeugbewegung stabil ist und die Fahrzeugbewegungsrichtung während der letzten zwei Rahmen nicht geändert wurde. Um diese Bewegungsstabilität zu prüfen, wird ein Tangentenvorzeichen gefunden, das einer Mehrheit von Tangentenvorzeichen („dominiertes Vorzeichen“) entspricht. Dieses Vorzeichen wird mit dem Vorzeichen im vorherigen Rahmen verglichen. Wenn sie gleich sind, dann wird entschieden, dass sich das Fahrzeug in derselben Richtung bewegt, und somit ist der Kameraprüfprozess noch gültig.
  • Dann bestimmt in der Raute 56 eine Prüfung, ob das Verhältnis R größer ist als ein Schwellenwert und ob das Vorzeichen der Tangente der Mehrheit von Vorzeichen von vorherigen Tangenten entspricht. Der Verhältnisschwellenwert kann empirisch auf der Basis von Testdaten ausgewählt werden. Wenn ja, wird der Fehlerzähler um eins inkrementiert und der Kein-Fehler-Zähler wird auf null gesetzt, wie im Block 58 angegeben.
  • Dann bestimmt eine Prüfung in der Raute 60, ob der Fehlerzähler größer ist als ein Schwellenwert. Wenn ja, werden die Gesamtfehler um eins inkrementiert und der Fehlerzähler wird auf null gesetzt, wie im Block 62 angegeben. Wenn der „Fehlerzähler“ geringer ist als ein Schwellenwert, dann wird der „Gesamtfehler“-Zähler, der der Anzahl von Fällen entspricht, in denen falsche Kameraparameter beobachtet wurden, nicht erhöht.
  • Als nächstes bestimmt eine Prüfung in der Raute 64, ob die Gesamtfehler einen Schwellenwert überschreiten. Wenn ja, sind die Kameraparameter falsch, wie im Block 66 bestimmt. Wenn die „Gesamtfehler“-Anzahl geringer ist als ein Schwellenwert, fährt die Prüfung von Parametern fort, da die Parameterfalschheit nicht über genügend Zeit beobachtet wurde (nicht ausreichende Anzahl von Rahmen mit falschen Kameraparametern, um eine Entscheidung zu treffen).
  • Wenn das Verhältnis R nicht größer ist als der Schwellenwert und das Vorzeichen im Wesentlichen nicht gleich dem vorherigen Vorzeichen ist, wie in der Raute 56 bestimmt, wird im Block 68 der Kein-Fehler-Zähler um eins inkrementiert und der Fehlerzähler wird auf null gesetzt. Dann bestimmt eine Prüfung in der Raute 70, ob der Kein-Fehler-Zähler größer ist als ein Schwellenwert. Wenn ja, wird im Block 72 die Gesamtzahl von Fehlern um eins verringert und der Kein_Fehler_Zähler wird gleich null gesetzt und der Ablauf fährt in der Raute 64 fort. Der „Kein-Fehler-Zähler“ entspricht der Anzahl von aufeinander folgenden Rahmen, in denen die Entscheidung darin bestand, dass die Kameraparameter korrekt sind. Wenn der „Kein-Fehler-Zähler“ groß genug ist, wird die globale Variable „Gesamtfehler“ verringert, was dem entspricht, wie viele Fälle von falschen Kameraparametern gefunden wurden.
  • Unter Verwendung dieser Tatsache wird die folgende Handlung durchgeführt, um Tangenten der Linie in Bezug auf die Z-Achse zu erhalten:
    • - zuerst wird eine schnelle perspektivische Entfernungsprozedur durchgeführt, um den Linienprototyp im Fahrzeugkoordinatensystem zu erhalten; und
    • - dann werden Tangentenwerte für die orthogonale Projektion der Linienprototypen auf die OXZ-Ebene berechnet.
  • In einer schnellen perspektivischen Entfernungsprozedur (FPR) werden pw, ein Punkt im Fahrzeugkoordinatensystem, und pi, seine perspektivische Projektion auf die Bildebene, durch den folgenden Ausdruck beschränkt: pi = M pw, wobei M die Kameramatrix (A*[R|t]) ist.
  • In Anbetracht der Linienparameter L = [ABC]t ist die Liniengleichung: [ A B C ] t [ x y 1 ] = 0
    Figure DE112016006081T5_0002
  • Li soll eine Bildlinie (in einem Bildkoordinatensystem) sein und Lw soll eine Straßenlinie in Weltkoordinaten sein.
  • Die perspektivische Entfernung kann gemäß dem folgenden Ausdruck (2) durchgeführt werden: L i t p i = 0,   d a n n   L i t   M  p w =0   L w t = L i t  M p i = M p w
    Figure DE112016006081T5_0003
  • Sobald die FPR durchgeführt ist, können die Tangenten der Linien durch Berechnen der Tangente des Winkels zwischen der Straßenlinienprojektion in das WeltKoordinatensystem Cw und der optischen Achse der Kamera im Weltkoordinatensystem Aw berechnet werden: t a n g e n t ( L w ) = C w / A w
    Figure DE112016006081T5_0004
  • Danach werden Tangenten unter Verwendung der bereits beschriebenen Kriterien geprüft.
  • Der Kalibrierungsprüfalgorithmus wird in Runden unterteilt und eine neue Runde beginnt in einer Ausführungsform alle 10 Sekunden. Diese Methode ermöglicht die Detektion von irgendeiner wesentlichen Parameterabweichung und sie wirkt sich nicht auf die Leistung von anderen ADAS-Modulen aus. In jeder Prüfung wird Folgendes durchgeführt:
    • - Gerade Linien werden erhalten, wie vorstehend beschrieben, und Tangenten dieser Linien werden unter Verwendung von M. Miksch, et al., „Automatic extrinsic camera self-calibration based on homography and epipolar geometry“ (2010) berechnet.
    • - Tangentenwerte werden gegenüber dem Schwellenwert T1 geprüft. Wenn ein Tangentenwert den Schwellenwert T1 überschreitet, wird dies als „schlecht“ definiert.
    • - Dann wird das folgende Verhältnis berechnet: R = (Anzahl von „schlechten“ Linien)/(Anzahl von gefundenen Linien in der aktuellen Runde).
    • - Wenn dieses Verhältnis R größer ist als 0,5, wird der aktuelle Fehlerzähler Ce inkrementiert, der aktuelle „Kein Fehler“-Zähler Cne wird auf null dekrementiert (Cne = 0). Die Vorzeichen von Steigungen von dominierten „schlechten“ Linien werden auch berücksichtigt. Wenn das Vorzeichen in der vorherigen Runde nicht gleich dem Vorzeichen der aktuellen Runde ist, dann wird der aktuelle Fehlerzähler Ce auf 1 gesetzt (Ce = 1).
    • - Wenn das Verhältnis R geringer als oder gleich 0,5 ist, wird ansonsten der aktuelle „Kein Fehler“-Zähler Cne inkrementiert und der aktuelle Fehler Ce wird auf null dekrementiert (Ce = 0).
    • - Wenn während der regulären Runde der aktuelle Fehlerzähler Ce einen Schwellenwert T2 überschreitet, wird der Gesamtfehlerzähler TCe inkrementiert und der aktuelle Fehlerzähler wird auf null gesetzt (Ce = 0). Wenn der aktuelle „Kein Fehler“-Zähler Cne den Schwellenwert T3 überschreitet, dann wird der Gesamtfehlerzähler Tce dekrementiert.
    • - Kameraparameter werden als falsch definiert, wenn der Gesamtfehlerzähler TCe seinen eigenen Schwellenwert T4 erreicht. Wenn TCe < T4, werden die aktuellen Kameraparameter als gültig betrachtet.
  • Wenn das Kalibrierungsprüfsystem definiert, dass die Parameter falsch sind, kann es den Benutzer benachrichtigen, dass die ADAS-Module nicht zur Verwendung bereit sind und die Kamera kalibriert werden sollte. Oder es kann automatisch die vorstehend beschriebene Kamerakalibrierungsprozedur betreiben.
  • 4 stellt eine Ausführungsform eines Systems 700 dar. In Ausführungsformen kann das System 700 ein Sender sein, obwohl das System 700 nicht auf diesen Zusammenhang begrenzt ist. Das System 700 kann beispielsweise in einen Personalcomputer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Berührungsfeld, einen tragbaren Computer, einen in der Hand gehaltenen Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Mobiltelefon/PDA-Kombination, ein Fernsehgerät, eine intelligente Vorrichtung (z. B. ein Smartphone, ein intelligentes Tablet oder ein intelligentes Fernsehgerät), eine mobile Internet-Vorrichtung (MID), eine Nachrichtenvorrichtung, eine Datenkommunikationsvorrichtung und so weiter eingebaut sein.
  • In Ausführungsformen umfasst das System 700 eine Plattform 702, die mit einer Anzeige 720 gekoppelt ist. Die Plattform 702 kann Inhalt von einer Inhaltsvorrichtung wie z. B. (einer) Inhaltsdienstvorrichtung(en) 730 oder Inhaltsabgabevorrichtung(en) 740 oder anderen ähnlichen Inhaltsquellen empfangen. Eine Navigationssteuereinheit 750 mit einem oder mehreren Navigationsmerkmalen kann verwendet werden, um mit beispielsweise der Plattform 702 und/oder Anzeige 720 zusammenzuwirken. Jede dieser Komponenten wird nachstehend genauer beschrieben.
  • In Ausführungsformen kann die Plattform 702 irgendeine Kombination eines Chipsatzes 705, eines Prozessors 710, eines Arbeitsspeichers 712, eines Speichers 714, eines Graphikuntersystems 715, von Anwendungen 716 und/oder eines Funkgeräts 718 umfassen. Der Chipsatz 705 kann eine gegenseitige Kommunikation zwischen dem Prozessor 710, dem Arbeitsspeicher 712, dem Speicher 714, dem Graphikuntersystem 715, den Anwendungen 716 und/oder dem Funkgerät 718 bereitstellen. Der Chipsatz 705 kann beispielsweise einen Speicheradapter (nicht dargestellt) umfassen, der in der Lage ist, eine gegenseitige Kommunikation mit dem Speicher 714 bereitzustellen.
  • Der Prozessor 710 kann als Prozessoren eines Computers mit komplexem Befehlssatz (CISC) oder Computers mit verringertem Befehlssatz (RISC), mit dem x86-Befehlssatz kompatible Prozessoren, Mehrkern- oder irgendein anderer Mikroprozessor oder eine Zentraleinheit (CPU) implementiert werden. In Ausführungsformen kann der Prozessor 710 (einen) Dualkern-Prozessor(en), mobile(n) Dualkern-Prozessor(en) und so weiter umfassen. Der Prozessor kann die Sequenzen von 2 und 3 zusammen mit dem Arbeitsspeicher 712 implementieren.
  • Der Arbeitsspeicher 712 kann als flüchtige Arbeitsspeichervorrichtung implementiert werden, wie z. B., jedoch nicht begrenzt auf einen Direktzugriffsarbeitsspeicher (RAM), dynamischen Direktzugriffsarbeitsspeicher (DRAM) oder statischen RAM (SRAM).
  • Der Speicher 714 kann als nichtflüchtige Speichervorrichtung implementiert werden, wie z. B., jedoch nicht begrenzt auf ein magnetisches Plattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk, eine interne Speichervorrichtung, eine befestigte Speichervorrichtung, einen Flash-Arbeitsspeicher, einen batteriegestützten SDRAM (synchronen DRAM) und/oder eine netzzugängliche Speichervorrichtung. In Ausführungsformen kann der Speicher 714 eine Technologie umfassen, um den in der Speicherleistung verstärkten Schutz für wertvolle digitale Medien zu erhöhen, wenn beispielsweise mehrere Festplattenlaufwerke enthalten sind.
  • Das Graphikuntersystem 715 kann die Verarbeitung von Bildern wie z. B. Standbild oder Video für die Anzeige durchführen. Das Graphikuntersystem 715 kann beispielsweise eine Graphikverarbeitungseinheit (GPU) oder eine visuelle Verarbeitungseinheit (VPU) sein. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Graphikuntersystem 715 und die Anzeige 720 kommunikativ zu koppeln. Die Schnittstelle kann beispielsweise irgendeine von mit einer hochauflösenden Multimediaschnittstelle, DisplayPort, drahtloser HDMI und/oder drahtlosem HD kompatiblen Techniken sein. Das Graphikuntersystem 715 könnte in den Prozessor 710 oder Chipsatz 705 integriert sein. Das Graphikuntersystem 715 könnte eine eigenständige Karte sein, die mit dem Chipsatz 705 kommunikativ gekoppelt ist.
  • Die hier beschriebenen Graphik- und/oder Videoverarbeitungstechniken können in verschiedenen Hardwarearchitekturen implementiert werden. Eine Graphik- und/oder Videofunktionalität kann beispielsweise in einen Chipsatz integriert sein. Alternativ kann ein diskreter Graphik- und/oder Videoprozessor verwendet werden. Als noch andere Ausführungsform können die Graphik- und/oder Videofunktionen durch einen Universalprozessor, einschließlich eines Mehrkernprozessors, implementiert werden. In einer weiteren Ausführungsform können die Funktionen in einer Verbraucherelektronikvorrichtung implementiert werden.
  • Das Funkgerät 718 kann ein oder mehrere Funkgeräte umfassen, die in der Lage sind, Signale unter Verwendung von verschiedenen geeigneten drahtlosen Kommunikationstechniken zu senden und zu empfangen. Solche Techniken können Kommunikationen über ein oder mehrere drahtlose Netze beinhalten. Beispielhafte drahtlose Netze umfassen (sind jedoch nicht begrenzt auf) drahtlose lokale Netze (WLANs), drahtlose persönliche Netze (WPANs), ein drahtloses Großraumnetz (WMANs), zellulare Netze und Satellitennetze. Bei der Kommunikation über solche Netze kann das Funkgerät 718 gemäß einem oder mehreren anwendbaren Standards in irgendeiner Version arbeiten.
  • In Ausführungsformen kann die Anzeige 720 irgendeinen Fernsehtypmonitor oder irgendeine Fernsehtypanzeige umfassen. Die Anzeige 720 kann beispielsweise einen Computeranzeigebildschirm, eine Berührungsbildschirmanzeige, einen Videomonitor, eine fernsehartige Vorrichtung und/oder ein Fernsehgerät umfassen. Die Anzeige 720 kann digital und/oder analog sein. In Ausführungsformen kann die Anzeige 720 eine holographische Anzeige sein. Die Anzeige 720 kann auch eine transparente Oberfläche sein, die eine visuelle Projektion empfangen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten übermitteln. Solche Projektionen können beispielsweise eine visuelle Überlagerung für eine Anwendung von mobiler erweiterter Realität (MAR) sein. Unter der Steuerung von einer oder mehreren Softwareanwendungen 716 kann die Plattform 702 eine Benutzerschnittstelle 722 auf der Anzeige 720 anzeigen.
  • In Ausführungsformen kann (können) die Inhaltsdienstvorrichtung(en) durch irgendeinen nationalen, internationalen und/oder unabhängigen Dienst beherbergt sein und folglich für die Plattform 702 beispielsweise über das Internet zugänglich sein. Die Inhaltsdienstvorrichtung(en) 730 kann (können) mit der Plattform 702 und/oder der Anzeige 720 gekoppelt sein. Die Plattform 702 und/oder die Inhaltsdienstvorrichtung(en) können mit einem Netz 760 gekoppelt sein, um Medieninformationen zum und vom Netz 760 zu übermitteln (z. B. senden und/oder empfangen). Die Inhaltsabgabevorrichtung(en) 740 kann (können) auch mit der Plattform 720 und/oder mit der Anzeige 720 gekoppelt sein.
  • In Ausführungsformen kann (können) die Inhaltsdienstvorrichtung(en) 730 einen Kabelfernsehkasten, einen Personalcomputer, ein Netz, ein Telefon, Internet-fähige Vorrichtungen oder ein Gerät, das in der Lage ist, digitale Informationen und/oder digitalen Inhalt zu liefern, und irgendeine andere ähnliche Vorrichtung, die zur unidirektionalen oder bidirektionalen Übermittlung von Inhalt zwischen Inhaltsanbietern und der Plattform 702 und/oder Anzeige 720 über das Netz 760 oder direkt in der Lage ist, umfassen. Es ist zu erkennen, dass der Inhalt unidirektional und/oder bidirektional zu und von irgendeiner der Komponenten im System 700 und einem Inhaltsanbieter über das Netz 760 übermittelt werden kann. Beispiele von Inhalt können beliebige Medieninformationen umfassen, einschließlich beispielsweise Video, Musik, medizinische und Spielinformationen und so weiter.
  • Die Inhaltsdienstvorrichtung(en) 730 empfängt (empfangen) Inhalt wie z. B. ein Kabelfernsehprogramm, einschließlich Medieninformationen, digitale Informationen und/oder anderen Inhalt. Beispiele von Inhaltsanbietern können beliebige Kabel- oder Satellitenfernseh- oder Radio- oder Internet-Inhaltsanbieter umfassen. Die bereitgestellten Beispiele sollen die anwendbaren Ausführungsformen nicht begrenzen.
  • In Ausführungsformen kann die Plattform 702 Steuersignale von der Navigationssteuereinheit 750 mit einem oder mehreren Navigationsmerkmalen empfangen. Die Navigationsmerkmale der Steuereinheit 750 können verwendet werden, um beispielsweise mit der Benutzerschnittstelle 722 zusammenzuwirken. In Ausführungsformen kann die Navigationssteuereinheit 750 eine Zeigevorrichtung sein, die eine Computerhardwarekomponente (insbesondere Menschschnittstellenvorrichtung) sein kann, die ermöglicht, dass ein Benutzer räumliche (z. B. kontinuierliche und mehrdimensionale) Daten in einen Computer eingibt. Viele Systeme wie z. B. graphische Benutzerschnittstellen (GUI) und Fernsehgeräte und Monitore ermöglichen, dass der Benutzer unter Verwendung von körperlichen Gesten einen Computer oder ein Fernsehgerät steuert und Daten zu diesen liefert.
  • Bewegungen der Navigationsmerkmale der Steuereinheit 750 können auf einer Anzeige (z. B. Anzeige 720) durch Bewegungen eines Zeigers, Cursors, Fokusrings oder von anderen visuellen Indikatoren, die auf der Anzeige angezeigt werden, wiedergegeben werden. Unter der Steuerung von Softwareanwendungen 716 können beispielsweise die Navigationsmerkmale, die an der Navigationssteuereinheit 750 angeordnet sind, auf virtuelle Navigationsmerkmale abgebildet werden, die beispielsweise auf der Benutzerschnittstelle 722 angezeigt werden. In Ausführungsformen kann die Steuereinheit 750 keine separate Komponente sein, sondern in die Plattform 702 und/oder Anzeige 720 integriert sein. Ausführungsformen sind jedoch nicht auf die Elemente oder in dem hier gezeigten oder beschriebenen Zusammenhang begrenzt.
  • In Ausführungsformen können Treiber (nicht dargestellt) eine Technologie umfassen, um Benutzern zu ermöglichen, die Plattform 702 wie ein Fernsehgerät mit der Berührung einer Taste nach dem anfänglichen Hochfahren, wenn freigegeben, beispielsweise unverzüglich ein- und auszuschalten. Die Programmlogik kann ermöglichen, dass die Plattform 702 Inhalt zu Medienadaptern oder (einer) anderen Inhaltsdienstvorrichtung(en) oder Inhaltsabgabevorrichtung(en) 740 streamt, wenn die Plattform „aus“-geschaltet ist. Außerdem kann der Chipsatz 705 beispielsweise eine Hardware- und/oder Softwareunterstützung für 5.1-Raumklangaudio und/oder 7.1-Raumklangaudio mit hoher Auflösung umfassen. Treiber können einen Graphiktreiber für integrierte Graphikplattformen umfassen. In Ausführungsformen kann der Graphiktreiber eine Peripheriekomponenten-Verbindungsexpress-Graphikkarte (PCI-Express-Graphikkarte) umfassen.
  • In verschiedenen Ausführungsformen können irgendeine oder mehrere der Komponenten, die im System 700 gezeigt sind, integriert sein. Die Plattform 702 und die Inhaltsdienstvorrichtung(en) 730 können beispielsweise integriert sein oder die Plattform 702 und die Inhaltsabgabevorrichtung(en) 740 können integriert sein oder die Plattform 702, die Inhaltsdienstvorrichtung(en) 730 und die Inhaltsabgabevorrichtung(en) 740 können beispielsweise integriert sein. In verschiedenen Ausführungsformen können die Plattform 702 und Anzeige 720 eine integrierte Einheit sein. Die Anzeige 720 und die Inhaltsdienstvorrichtung(en) 730 können integriert sein oder die Anzeige 720 und die Inhaltsabgabevorrichtung(en) 740 können beispielsweise integriert sein. Diese Beispiele sollen nicht für den Schutzbereich begrenzend sein.
  • In verschiedenen Ausführungsformen kann das System 700 als drahtloses System, verdrahtetes System oder Kombination beider implementiert werden. Wenn es als drahtloses System implementiert wird, kann das System 700 Komponenten und Schnittstellen umfassen, die für die Kommunikation über drahtlose geteilte Medien geeignet sind, wie z. B. eine oder mehrere Antennen, Sender, Empfänger, Sender/Empfänger, Verstärker, Filter, eine Steuerlogik und so weiter. Ein Beispiel von drahtlosen geteilten Medien kann Abschnitte eines drahtlosen Spektrums wie z. B. des HF-Spektrums und so weiter umfassen. Wenn es als verdrahtetes System implementiert wird, kann das System 700 Komponenten und Schnittstellen umfassen, die für die Kommunikation über verdrahtete Kommunikationsmedien geeignet sind, wie z. B. Eingabe/Ausgabe-Adapter (E/A-Adapter), physikalische Verbindungselemente, um den E/A-Adapter mit einem entsprechenden verdrahteten Kommunikationsmedium zu verbinden, eine Netzschnittstellenkarte (NIC), eine Plattensteuereinheit, eine Videosteuereinheit, eine Audiosteuereinheit und so weiter. Beispiele von verdrahteten Kommunikationsmedien können einen Draht, ein Kabel, Metallzuleitungen, eine gedruckte Leiterplatte (PCB), eine Rückwandplatine, eine Schaltmatrix, ein Halbleitermaterial, eine verdrillte Leitung, ein Koaxialkabel, Faseroptik und so weiter umfassen.
  • Die Plattform 702 kann einen oder mehrere logische oder physikalische Kanäle aufbauen, um Informationen zu übermitteln. Die Informationen können Medieninformationen und Steuerinformationen umfassen. Medieninformationen können sich auf beliebige Daten beziehen, die einen Inhalt darstellen, der für einen Benutzer bestimmt ist. Beispiele von Inhalt können beispielsweise Daten von einer Sprachkonversation, einer Videokonferenz, Streamen von Video, einer Nachricht von elektronischer Post („E-Mail“), einer Sprachmitteilungsnachricht, von alphanumerischen Symbolen, Graphiken, eines Bildes, von Video, Text und so weiter umfassen. Daten von einer Sprachkonversation können beispielsweise Sprachinformationen, Ruheperioden, Hintergrundgeräusch, Komfortgeräusch, Töne und so weiter sein. Steuerinformationen können sich auf beliebige Daten, die Befehle, Anweisungen oder Steuerworte darstellen, die für ein automatisiertes System bestimmt sind, beziehen. Steuerinformationen können beispielsweise verwendet werden, um Medieninformationen durch ein System zu lenken oder einen Knoten anzuweisen, die Medieninformationen in einer vorbestimmten Weise zu verarbeiten. Die Ausführungsformen sind jedoch nicht auf die Elemente oder in dem Zusammenhang, der in 5 gezeigt oder beschrieben ist, begrenzt.
  • Wie vorstehend beschrieben, kann das System 700 in variierenden physikalischen Stilen oder Formfaktoren verkörpert sein. 5 stellt Ausführungsformen einer Vorrichtung 800 mit kleinem Formfaktor dar, in der das System 700 verkörpert sein kann. In Ausführungsformen kann die Vorrichtung 800 beispielsweise als mobile Rechenvorrichtung mit drahtlosen Fähigkeiten implementiert werden. Eine mobile Rechenvorrichtung kann sich auf irgendeine Vorrichtung mit einem Verarbeitungssystem und einer mobilen Leistungsquelle oder Leistungsversorgung wie beispielsweise einer oder mehreren Batterien beziehen.
  • Wie in 5 gezeigt, kann die Vorrichtung 800 ein Gehäuse 802, eine Anzeige 804 und 810, eine Eingabe/Ausgabe-Vorrichtung (E/A-Vorrichtung) 806 und eine Antenne 808 umfassen. Die Vorrichtung 800 kann auch Navigationsmerkmale 812 umfassen. Die Anzeige 804 kann irgendeine geeignete Anzeigeeinheit zum Anzeigen von Informationen umfassen, die für eine mobile Rechenvorrichtung geeignet sind. Die E/A-Vorrichtung 806 kann irgendeine geeignete E/A-Vorrichtung zum Eingeben von Informationen in eine mobile Rechenvorrichtung umfassen. Beispiele für die E/A-Vorrichtung 806 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Berührungsfeld, Eingabetasten, Knöpfe, Schalter, Kippschalter, Mikrophone, Lautsprecher, eine Spracherkennungsvorrichtung und Spracherkennungssoftware und so weiter umfassen. Informationen können auch in die Vorrichtung 800 durch ein Mikrophon eingegeben werden. Solche Informationen können durch eine Spracherkennungsvorrichtung digitalisiert werden. Die Ausführungsformen sind nicht in diesem Zusammenhang begrenzt.
  • Die folgenden Absätze und/oder Beispiele betreffen weitere Ausführungsformen:
  • Eine Beispielausführungsform kann ein Verfahren zum Kalibrieren einer Kamera an der Vorderseite eines Fahrzeugs, während sich das Fahrzeug auf der Straße bewegt, sein, umfassend das Empfangen von sequentiellen Bildern von der Kamera, das Finden von Bildkernpunkten in einem Bereich, der durch einen Ort der Straße begrenzt ist, das Verfolgen der Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses, das Anwenden einer Filterprozedur auf die Kernpunkte, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren, das Anwenden eines Kalibrierungsalgorithmus auf die mindestens zwei Linien, um einen Fluchtpunkt zu bestimmen, und Berechnen von Nick- oder Gierwinkeln der Kamera. Das Verfahren kann auch das Bestimmen, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen, umfassen. Das Verfahren kann auch das Anpassen von geraden Linien an Trajektorien von Straßenmarkierungen umfassen. Das Verfahren kann auch das Identifizieren eines Orts, an dem sich die geraden Linien kreuzen, umfassen. Das Verfahren kann auch das Bestimmen einer Fahrzeugbewegungsstabilität umfassen. Das Verfahren kann auch das Bestimmen, ob Tangenten unterhalb eines Schwellenwerts liegen, um die Fahrzeugbewegungsstabilität zu bestimmen, umfassen. Das Verfahren kann auch das Vergleichen eines Tangentenvorzeichens mit einer Mehrheit von Tangentenvorzeichen umfassen. Das Verfahren kann auch das Berechnen eines Verhältnisses von nicht gefundenen Linien zu gefundenen Linien umfassen. Das Verfahren kann auch das Bestimmen, ob das Verhältnis einen Schwellenwert überschreitet, umfassen. Das Verfahren kann auch, wenn der Schwellenwert überschritten wird, das Inkrementieren eines Fehlerzählwerts umfassen. Das Verfahren kann auch, wenn ein Fehlerzählwert einen Schwellenwert erreicht, das Bestimmen, dass die vorgeschlagenen Kameraparameter falsch sind, umfassen.
  • Eine andere Beispielausführungsform kann ein oder mehrere nichttransitorische computerlesbare Medien sein, die Befehle speichern, um eine Sequenz durchzuführen, umfassend das Empfangen von sequentiellen Bildern von der Kamera, das Finden von Bildkernpunkten in einem Bereich, der durch einen Ort der Straße begrenzt ist, das Verfolgen der Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses, das Anwenden einer Filterprozedur auf die Kernpunkte, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren, das Anwenden eines Kalibrierungsalgorithmus auf die mindestens zwei Linien, um einen Fluchtpunkt zu bestimmen, und Berechnen von Nick- oder Gierwinkeln der Kamera. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Bestimmen, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen, durchzuführen. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Anpassen von geraden Linien an Trajektorien von Straßenmarkierungen durchzuführen. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Identifizieren eines Orts, an dem sich die geraden Linien kreuzen, durchzuführen. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Bestimmen einer Fahrzeugbewegungsstabilität durchzuführen. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Bestimmen, ob Tangenten unterhalb eines Schwellenwerts liegen, um die Fahrzeugbewegungsstabilität zu bestimmen, durchzuführen. Das Medium kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Vergleichen eines Tangentenvorzeichens mit einer Mehrheit von Tangentenvorzeichen durchzuführen. Das Verfahren kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Berechnen eines Verhältnisses von nicht gefundenen Linien zu gefundenen Linien durchzuführen. Das Verfahren kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit dem Bestimmen, ob das Verhältnis einen Schwellenwert überschreitet, durchzuführen. Das Verfahren kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit, wenn der Schwellenwert überschritten wird, dem Inkrementieren eines Fehlerzählwerts durchzuführen. Das Verfahren kann auch das weitere Speichern von Befehlen umfassen, um eine Sequenz mit, wenn ein Fehlerzählwert einen Schwellenwert erreicht, dem Bestimmen, dass die vorgeschlagenen Kameraparameter falsch sind, durchzuführen.
  • Eine andere Beispielausführungsform kann eine Einrichtung mit einem Prozessor, um sequentielle Bilder von der Kamera zu empfangen, Bildkernpunkte in einem Bereich, der durch einen Ort der Straße begrenzt ist, zu finden, die Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses zu verfolgen, eine Filterprozedur auf die Kernpunkte anzuwenden, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren, einen Kalibrierungsalgorithmus auf die mindestens zwei Linien anzuwenden, um einen Fluchtpunkt zu bestimmen, und Nick- oder Gierwinkel der Kamera zu berechnen, und einem Arbeitsspeicher, der mit dem Prozessor gekoppelt ist, sein. Die Einrichtung kann den Prozessor umfassen, um zu bestimmen, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen. Die Einrichtung kann den Prozessor umfassen, um gerade Linien an Trajektorien von Straßenmarkierungen anzupassen. Die Einrichtung kann den Prozessor umfassen, um einen Ort, an dem sich die geraden Linien kreuzen, zu identifizieren. Die Einrichtung kann den Prozessor umfassen, um eine Fahrzeugbewegungsstabilität zu bestimmen. Die Einrichtung kann den Prozessor umfassen, um zu bestimmen, ob Tangenten unterhalb eines Schwellenwerts liegen, um die Fahrzeugbewegungsstabilität zu bestimmen. Die Einrichtung kann den Prozessor umfassen, ein Tangentenvorzeichen mit einer Mehrheit von Tangentenvorzeichen zu vergleichen. Die Einrichtung kann den Prozessor umfassen, um ein Verhältnis von nicht gefundenen Linien zu gefundenen Linien zu berechnen.
  • Die hier beschriebenen Graphikverarbeitungstechniken können in verschiedenen Hardwarearchitekturen implementiert werden. Die Graphikfunktionalität kann beispielsweise in einen Chipsatz integriert sein. Alternativ kann ein diskreter Graphikprozessor verwendet werden. Als noch andere Ausführungsform können die Graphikfunktionen durch einen Universalprozessor, einschließlich eines Mehrkernprozessors, implementiert werden.
  • Bezugnahmen in dieser ganzen Patentbeschreibung auf „eine einzelne Ausführungsform“ oder „eine Ausführungsform“ bedeuten, dass ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben ist, in mindestens einer Implementierung enthalten ist, die innerhalb der vorliegenden Offenbarung umfasst ist. Folglich beziehen sich Erscheinungen des Ausdrucks „eine einzelne Ausführungsform“ oder „in einer Ausführungsform“ nicht notwendigerweise auf dieselbe Ausführungsform. Ferner können die speziellen Merkmale, Strukturen oder Eigenschaften in anderen geeigneten Formen eingesetzt werden als der speziellen dargestellten Ausführungsform und alle solchen Formen können innerhalb der Ansprüche der vorliegenden Anmeldung umfasst sein.
  • Obwohl eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, erkennt der Fachmann auf dem Gebiet zahlreiche Modifikationen und Veränderungen davon. Es ist beabsichtigt, dass die beigefügten Ansprüche alle solchen Modifikationen und Variationen abdecken, die in den wahren Gedanken und Schutzbereich dieser Offenbarung fallen.
  • 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 Nicht-Patentliteratur
    • J. Shi, et al., „Good features to track“, Computer Vision and Pattern Recognition, 1994, Proceedings CVPR '94, 1994 IEEE Computer Society Conference on IEEE, 1994 [0008]

Claims (30)

  1. Verfahren zum Kalibrieren einer Kamera an der Vorderseite eines Fahrzeugs, während das Fahrzeug sich auf der Straße bewegt, das Folgendes umfasst: Empfangen von sequentiellen Bildern von der Kamera; Finden von Bildkernpunkten in einem Bereich, der durch einen Ort der Straße begrenzt ist; Verfolgen der Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses; Anwenden einer Filterprozedur auf die Kernpunkte, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren; Anwenden eines Kalibrierungsalgorithmus auf die mindestens zwei Linien, um einen Fluchtpunkt zu bestimmen; und Berechnen von Nick- oder Gierwinkeln der Kamera.
  2. Verfahren nach Anspruch 1 mit dem Bestimmen, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen.
  3. Verfahren nach Anspruch 1 mit dem Anpassen von geraden Linien an Trajektorien von Straßenmarkierungen.
  4. Verfahren nach Anspruch 3 mit dem Identifizieren eines Orts, an dem sich die geraden Linien kreuzen.
  5. Verfahren nach Anspruch 3 mit dem Bestimmen einer Fahrzeugbewegungsstabilität.
  6. Verfahren nach Anspruch 5 mit dem Bestimmen, ob Tangenten unter einem Schwellenwert liegen, um die Fahrzeugbewegungsstabilität zu bestimmen.
  7. Verfahren nach Anspruch 6 mit dem Vergleichen eines Tangentenvorzeichens mit einer Mehrheit von Tangentenvorzeichen.
  8. Verfahren nach Anspruch 7 mit dem Berechnen eines Verhältnisses von nicht gefundenen Linien zu gefundenen Linien.
  9. Verfahren nach Anspruch 8 mit dem Bestimmen, ob das Verhältnis einen Schwellenwert überschreitet.
  10. Verfahren nach Anspruch 9 mit, falls der Schwellenwert überschritten wird, dem Inkrementieren eines Fehlerzählwerts.
  11. Verfahren nach Anspruch 10 mit, wenn ein Fehlerzählwert einen Schwellenwert erreicht, dem Bestimmen, dass vorgeschlagene Kameraparameter falsch sind.
  12. Nichttransistorisches computerlesbares Medium oder mehrere nichttransitorische computerlesbare Medien, die Befehle speichern, um eine Sequenz durchzuführen, die Folgendes umfasst: Empfangen von sequentiellen Bildern von der Kamera; Finden von Bildkernpunkten in einem Bereich, der durch einen Ort der Straße begrenzt ist; Verfolgen der Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses; Anwenden einer Filterprozedur auf die Kernpunkte, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren; Anwenden eines Kalibrierungsalgorithmus auf die mindestens zwei Linien, um einen Fluchtpunkt zu bestimmen; und Berechnen von Nick- oder Gierwinkeln der Kamera.
  13. Medium nach Anspruch 12, das ferner Befehle speichert, um eine Sequenz mit dem Bestimmen, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen, durchzuführen.
  14. Medium nach Anspruch 12, das ferner Befehle speichert, um eine Sequenz mit dem Anpassen von geraden Linien an Trajektorien von Straßenmarkierungen durchzuführen.
  15. Medium nach Anspruch 14, das ferner Befehle speichert, um eine Sequenz mit dem Identifizieren eines Orts, an dem sich die geraden Linien kreuzen, durchzuführen.
  16. Medium nach Anspruch 14, das ferner Befehle speichert, um eine Sequenz mit dem Bestimmen einer Fahrzeugbewegungsstabilität durchzuführen.
  17. Medium nach Anspruch 16, das ferner Befehle speichert, um eine Sequenz mit dem Bestimmen, ob Tangenten unter einem Schwellenwert liegen, um die Fahrzeugbewegungsstabilität zu bestimmen, durchzuführen.
  18. Medium nach Anspruch 17, das ferner Befehle speichert, um eine Sequenz mit dem Vergleichen eines Tangentenvorzeichens mit einer Mehrheit von Tangentenvorzeichen durchzuführen.
  19. Medium nach Anspruch 18, das ferner Befehle speichert, um eine Sequenz mit dem Berechnen eines Verhältnisses von nicht gefundenen Linien zu gefundenen Linien durchzuführen.
  20. Medium nach Anspruch 19, das ferner Befehle speichert, um eine Sequenz mit dem Bestimmen, ob das Verhältnis einen Schwellenwert überschreitet, durchzuführen.
  21. Medium nach Anspruch 20, das ferner Befehle speichert, um eine Sequenz mit, wenn der Schwellenwert überschritten wird, dem Inkrementieren eines Fehlerzählwerts durchzuführen.
  22. Medium nach Anspruch 21, das ferner Befehle speichert, um eine Sequenz mit, wenn ein Fehlerzählwert einen Schwellenwert erreicht, dem Bestimmen, dass vorgeschlagene Kameraparameter falsch sind, durchzuführen.
  23. Einrichtung, die Folgendes umfasst: einen Prozessor, um sequentielle Bilder von der Kamera zu empfangen, Bildkernpunkte in einem Bereich, der durch einen Ort der Straße begrenzt ist, zu finden, die Kernpunkte unter Verwendung eines Verfahrens des optischen Flusses zu verfolgen, eine Filterprozedur auf die Kernpunkte anzuwenden, um die geradlinige Bewegung des Fahrzeugs und mindestens zwei gerade Linien, die gegenüberliegenden Seiten der Straße entsprechen, zu identifizieren, einen Kalibrierungsalgorithmus auf die mindestens zwei Linien anzuwenden, um einen Fluchtpunkt zu bestimmen, und Nick- oder Gierwinkel der Kamera zu berechnen; und einen Arbeitsspeicher, der mit dem Prozessor gekoppelt ist.
  24. Einrichtung nach Anspruch 23, wobei der Prozessor bestimmen soll, ob die Nick- oder Gierwinkel der Kamera innerhalb eines vorbestimmten annehmbaren Schwellenwerts liegen.
  25. Einrichtung nach Anspruch 23, wobei der Prozessor gerade Linien an Trajektorien von Straßenmarkierungen anpassen soll.
  26. Einrichtung nach Anspruch 25, wobei der Prozessor einen Ort identifizieren soll, an dem sich die geraden Linien kreuzen.
  27. Einrichtung nach Anspruch 25, wobei der Prozessor eine Fahrzeugbewegungsstabilität bestimmen soll.
  28. Einrichtung nach Anspruch 27, wobei der Prozessor bestimmen soll, ob Tangenten unter einem Schwellenwert liegen, um die Fahrzeugbewegungsstabilität zu bestimmen.
  29. Einrichtung nach Anspruch 28, wobei der Prozessor ein Tangentenvorzeichen mit einer Mehrheit von Tangentenvorzeichen vergleichen soll.
  30. Einrichtung nach Anspruch 28, wobei der Prozessor ein Verhältnis von nicht gefundenen Linien mit gefundenen Linien vergleichen soll.
DE112016006081.5T 2015-12-28 2016-11-11 Automatische Echtzeit-Fahrzeugkamerakalibrierung Withdrawn DE112016006081T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562271935P 2015-12-28 2015-12-28
US62/271,935 2015-12-28
PCT/US2016/061467 WO2017116570A1 (en) 2015-12-28 2016-11-11 Real-time automatic vehicle camera calibration

Publications (1)

Publication Number Publication Date
DE112016006081T5 true DE112016006081T5 (de) 2018-09-06

Family

ID=59225510

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016006081.5T Withdrawn DE112016006081T5 (de) 2015-12-28 2016-11-11 Automatische Echtzeit-Fahrzeugkamerakalibrierung

Country Status (4)

Country Link
US (1) US10694175B2 (de)
CN (1) CN108450058B (de)
DE (1) DE112016006081T5 (de)
WO (1) WO2017116570A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201600094414A1 (it) * 2016-09-20 2018-03-20 St Microelectronics Srl Un procedimento per rilevare un veicolo in sorpasso, relativo sistema di elaborazione, sistema di rilevazione di un veicolo in sorpasso e veicolo
US10304210B2 (en) * 2017-05-25 2019-05-28 GM Global Technology Operations LLC Method and apparatus for camera calibration
US11089288B2 (en) * 2017-09-11 2021-08-10 Tusimple, Inc. Corner point extraction system and method for image guided stereo camera optical axes alignment
US11158088B2 (en) 2017-09-11 2021-10-26 Tusimple, Inc. Vanishing point computation and online alignment system and method for image guided stereo camera optical axes alignment
US10565714B2 (en) 2018-05-25 2020-02-18 Denso Corporation Feature tracking for visual odometry
CN110858405A (zh) 2018-08-24 2020-03-03 北京市商汤科技开发有限公司 车载摄像头的姿态估计方法、装置和***及电子设备
CN109345593B (zh) * 2018-09-04 2022-04-26 海信集团有限公司 一种摄像机姿态的检测方法及装置
CN113486796B (zh) * 2018-09-07 2023-09-05 百度在线网络技术(北京)有限公司 无人车位置检测方法、装置、设备、存储介质及车辆
US11282225B2 (en) 2018-09-10 2022-03-22 Mapbox, Inc. Calibration for vision in navigation systems
WO2020055767A1 (en) * 2018-09-10 2020-03-19 Mapbox, Inc. Mapping objects detected in images to geographic positions
CN111220143B (zh) * 2018-11-26 2021-12-17 北京图森智途科技有限公司 一种成像设备的位置和姿态确定方法及装置
CN109492609B (zh) 2018-11-27 2020-05-15 上海芯仑光电科技有限公司 一种检测车道线的方法和车辆、及计算设备
JP7191671B2 (ja) * 2018-12-19 2022-12-19 フォルシアクラリオン・エレクトロニクス株式会社 キャリブレーション装置、キャリブレーション方法
US11010641B2 (en) 2019-03-14 2021-05-18 Mapbox, Inc. Low power consumption deep neural network for simultaneous object detection and semantic segmentation in images on a mobile computing device
JP7217577B2 (ja) * 2019-03-20 2023-02-03 フォルシアクラリオン・エレクトロニクス株式会社 キャリブレーション装置、キャリブレーション方法
WO2021046578A1 (en) 2019-09-05 2021-03-11 NetraDyne, Inc. Vehicular sensor system calibration
CN111783597B (zh) * 2020-06-24 2022-12-13 中国第一汽车股份有限公司 行车轨迹线的标定方法、装置、计算机设备和存储介质
CN112862899B (zh) * 2021-02-07 2023-02-28 黑芝麻智能科技(重庆)有限公司 用于图像获取设备的外参标定方法、装置和***
CN118056226A (zh) 2021-08-06 2024-05-17 埃沃卡尔戈有限责任公司 校准外部摄像机参数的方法
US11893799B2 (en) 2021-11-18 2024-02-06 Volkswagen Aktiengesellschaft Computer vision system for object tracking and time-to-collision
US11919508B2 (en) 2021-11-18 2024-03-05 Volkswagen Aktiengesellschaft Computer vision system for object tracking and time-to-collision
US20230154013A1 (en) * 2021-11-18 2023-05-18 Volkswagen Aktiengesellschaft Computer vision system for object tracking and time-to-collision
CN115103123A (zh) * 2022-07-07 2022-09-23 上海智能交通有限公司 基于车道线识别的车载云台相机自动布控方法及***
US11967112B2 (en) * 2022-09-07 2024-04-23 AitronX Inc. Method and apparatus for detecting calibration requirement for image sensors in vehicles
CN116193108B (zh) * 2023-04-24 2023-07-07 知行汽车科技(苏州)股份有限公司 一种摄像头在线自校准方法、装置、设备及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720580B2 (en) * 2004-12-23 2010-05-18 Donnelly Corporation Object detection system for vehicle
EP2168079B1 (de) * 2007-01-23 2015-01-14 Valeo Schalter und Sensoren GmbH Verfahren und system zur universellen strassenbegrenzungserkennung
US20110115912A1 (en) * 2007-08-31 2011-05-19 Valeo Schalter Und Sensoren Gmbh Method and system for online calibration of a video system
US8373763B2 (en) 2008-05-22 2013-02-12 GM Global Technology Operations LLC Self calibration of extrinsic camera parameters for a vehicle camera
EP2377094B1 (de) 2008-10-01 2014-06-11 Connaught Electronics Limited Verfahren und system zum kalibrieren einer bilderfassungsanordnung
US8259174B2 (en) * 2009-02-06 2012-09-04 GM Global Technology Operations LLC Camera auto-calibration by horizon estimation
JP5747482B2 (ja) * 2010-03-26 2015-07-15 日産自動車株式会社 車両用環境認識装置
WO2012139636A1 (en) 2011-04-13 2012-10-18 Connaught Electronics Limited Online vehicle camera calibration based on road surface texture tracking and geometric properties
WO2012145818A1 (en) 2011-04-25 2012-11-01 Magna International Inc. Method and system for dynamically calibrating vehicular cameras
EP2662828B1 (de) 2012-05-11 2020-05-06 Veoneer Sweden AB Sichtsystem und -verfahren für ein Kraftfahrzeug
JP5926645B2 (ja) * 2012-08-03 2016-05-25 クラリオン株式会社 カメラパラメータ演算装置、ナビゲーションシステムおよびカメラパラメータ演算方法
JP6260891B2 (ja) * 2013-08-08 2018-01-17 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
CN103927754B (zh) * 2014-04-21 2016-08-31 大连理工大学 一种车载摄像机的标定方法
DE102014209137B4 (de) * 2014-05-14 2023-02-02 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Kalibrierung eines Kamerasystems eines Kraftfahrzeugs
US9986173B2 (en) * 2014-05-16 2018-05-29 GM Global Technology Operations LLC Surround-view camera system (VPM) online calibration

Also Published As

Publication number Publication date
CN108450058A (zh) 2018-08-24
WO2017116570A1 (en) 2017-07-06
US10694175B2 (en) 2020-06-23
CN108450058B (zh) 2022-07-26
US20180324415A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
DE112016006081T5 (de) Automatische Echtzeit-Fahrzeugkamerakalibrierung
KR101569600B1 (ko) 증강 현실 표현을 위한 2차원 이미지 캡쳐
US11715238B2 (en) Image projection method, apparatus, device and storage medium
DE112016004135T5 (de) Teleportation in einer Augmented- und/oder Virtual-Reality Umgebung
DE102018121808A1 (de) Verfeinern von synthetischen daten mit einem generative adversarial network unter verwendung von hilfseingaben
DE112018004527T5 (de) Selbstportraits in erweiterter realität
DE112018007721T5 (de) Aufnehmen und modifizieren von 3D-Gesichtern unter Verwendung neuronaler Bild-und Zeitverfolgungsnetze
DE112016004109T5 (de) Echtzeit-mehrfach-fahrzeugdetektion und -tracking
DE112016004216T5 (de) Allgemeine Sphärische Erfassungsverfahren
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE102014106579A1 (de) Besondere Gesten für Kamerasteuerungs- und Bildverarbeitungsverfahren
DE102021118479A1 (de) Einbetten von komplexen 3d-objekten in eine erweiterte realitätsszene unter verwendung einer bildsegmentierung
DE112013002200T5 (de) Automatische Anpassung von Bildern
DE102017009121A1 (de) Priorisierendes kachelbasiertes virtuelle Realität-Videostreaming mittels adaptiver Ratenzuweisung
DE112016006873T5 (de) Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
DE112009005074T5 (de) Techniken für schnelle stereo-rekonstruktion aus bildern
DE102015002218A1 (de) Vermeiden des Sendens unveränderlicher Gebiete zur Anzeige
DE112017001545T5 (de) Virtuelles überlagerungssystem und verfahren für verdeckte objekte
KR20180107271A (ko) 전방향 미디어 텍스처 매핑 메타데이터를 생성하는 방법 및 장치
DE102020128899A1 (de) Adaptive virtuelle kamera für indirect-sparse-simultaneous-localization- und mapping-systeme
DE102015002023B4 (de) Kompakte Tiefenebenendarstellung zum Sortieren letzter Architekturen
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE102017012116A1 (de) Vorschauerzeugung aus panoramischen Bildern
DE112013004618T5 (de) Tiefenpufferung
DE102015108004A1 (de) Darstellen einer Nutzerschnittstelle auf einem ersten Gerät basierend auf der Erfassung eines zweiten Gerätes in einer Umgebung des ersten Geräts

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee