-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung nimmt die Priorität gegenüber der vorläufigen Patentanmeldung Nr. 62/067,106, eingereicht am 22. Oktober 2014, in Anspruch, deren Inhalte hiermit zur Bezugnahme übernommen werden.
-
TECHNISCHES GEBIET
-
Das technische Gebiet betrifft im Allgemeinen die Objekterkennung und betrifft genauer gesagt Systeme und Verfahren zur videobasierten Objekterkennung von einer bewegten Plattform aus.
-
HINTERGRUND
-
Es ist oft wünschenswert, Objekte vom Standpunkt einer bewegten Plattform aus zu erkennen und zu verfolgen. Moderne Kraftfahrzeuge können beispielsweise eine oder mehrere Kameras umfassen, die in der Lage sind, die Umgebung der Fahrzeuge, einschließlich im Blickfeld der Kameras befindlicher Objekte, wie etwa Fußgänger, zu visualisieren. In solchen Fällen, wenn sich sowohl das Fahrzeug als auch das oder die interessierende(n) Objekt(e) vielleicht relativ zur Umgebung bewegen, kann es für das Fahrzeug schwierig sein, einzelne Objekte in seiner Nähe nur durch die Überprüfung einzelner Kamerabilder zu identifizieren. Eine derartige Objekterkennung kann besonders schwierig sein in Fällen, in denen sich eine große Anzahl von möglichen Objekten im Blickfeld der Kameras befinden kann.
-
Entsprechend ist es wünschenswert, verbesserte Systeme und Verfahren zum Erkennen von Objekten vom Standpunkt einer bewegten Plattform aus, wie etwa von einem Kraftfahrzeug aus, bereitzustellen. Zusätzliche wünschenswerte Merkmale und Kennzeichen der vorliegenden Erfindung werden aus der nachstehenden ausführlichen Beschreibung und den beiliegenden Ansprüchen zusammen mit den beiliegenden Zeichnungen und dem vorstehenden technischen Gebiet und Hintergrund gesehen hervorgehen.
-
ZUSAMMENFASSUNG
-
Ein Verfahren zum Erkennen von Objekten von einer bewegten Plattform aus umfasst gemäß einem Ausführungsbeispiel ein Empfangen eines ersten Einzelbildes von einer Kamera, die mit der bewegten Plattform verbunden ist, und ein Definieren innerhalb des ersten Einzelbildes eines ersten Ziels, welches einen Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wurde. Das Verfahren umfasst weiter ein Bestimmen einer ersten Bewertung, die mit dem ersten Ziel assoziiert ist, ein Empfangen eines zweiten Einzelbildes von der Kamera zeitlich nach dem ersten Einzelbild, und ein Definieren innerhalb des zweiten Einzelbildes eines zweiten Ziels, welches den Standort des Objekts in dem zweiten Einzelbild kennzeichnet. Das Verfahren fährt fort mit einem Bestimmen einer zweiten Bewertung, die mit dem zweiten Ziel assoziiert ist; einem Definieren innerhalb des zweiten Einzelbildes eines ersten vorhergesagten Ziels basierend auf einem Tracking-Prozess, der auf das erste Ziel angewendet wird; einem Bestimmen einer dritten Bewertung, die mit dem ersten vorhergesagten Ziel assoziiert ist; und einem Definieren eines zusammengeführten Ziels, das dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Ein Objekterkennungssystem für eine bewegte Plattform gemäß einem Ausführungsbeispiel umfasst ein visuelles Tracking-Modul, das kommunikativ mit einem Erkennungsmodul gekoppelt ist. Das Erkennungsmodul ist konfiguriert zum: Empfangen von einer Kamera, die mit der bewegten Plattform verbunden ist, eines ersten Einzelbildes und eines zweiten Einzelbildes zeitlich nach dem ersten Einzelbild; Definieren innerhalb des ersten Einzelbildes eines ersten Ziels, welches den Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wird, und Definieren innerhalb des zweiten Einzelbildes eines zweiten Ziels, welches den Standort des Objekts in dem zweiten Einzelbild kennzeichnet; Bestimmen einer ersten Bewertung, die mit dem ersten Ziel assoziiert ist. Das Erkennungsmodul ist weiter konfiguriert zum: Bestimmen einer zweiten Bewertung, die mit dem zweiten Ziel assoziiert ist; Empfangen eines ersten vorhergesagten Ziels von dem visuellen Tracking-Modul basierend auf einem Tracking-Prozess, der auf das erste Ziel angewendet wird; Bestimmen einer dritten Bewertung, die mit dem ersten vorhergesagten Ziel assoziiert ist; und Definieren eines zusammengeführten Ziels, das dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
BESCHREIBUNG DER ZEICHNUNGEN
-
Die beispielhaften Ausführungsbeispiele werden nachstehend in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, in denen die gleichen Bezugszeichen die gleichen Elemente bezeichnen. Es zeigen:
-
1 einen schematischen Überblick einer bewegten Plattform (z.B. eines Fahrzeugs) gemäß einem Ausführungsbeispiel;
-
2 ein schematisches Blockdiagramm eines Objekterkennungssystems gemäß einem Ausführungsbeispiel;
-
3 und 4 aufeinanderfolgende Einzelbilder, die von einer Kamera erzeugt werden, gemäß einem Ausführungsbeispiel;
-
5 eine schematische Abbildung der Bewegungsmerkmalserkennung gemäß diversen Ausführungsbeispielen; und
-
6 ein schematisches Blockdiagramm, das eine Berechnung einer lokalen Bewegung gemäß diversen Ausführungsbeispielen abbildet; und
-
7 ein Flussdiagramm, das ein Objekterkennungsverfahren gemäß diversen Ausführungsbeispielen abbildet.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Der hier beschriebene Gegenstand betrifft im Allgemeinen verbesserte Systeme und Verfahren zum Erkennen von Objekten vom Standpunkt einer bewegten Plattform aus. Als nicht einschränkendes Beispiel können die hier beschriebenen Systeme und Verfahren verwendet werden, um Fußgänger in der Nähe einer bewegten Plattform, wie etwa einem Robotergerät, einem Luftfahrzeug, einem Kraftfahrzeug, einem Rotorflugzeug, einem Zug, einem Schiff oder dergleichen, genauer und zuverlässiger zu erkennen.
-
Die nachstehende ausführliche Beschreibung ist rein beispielhafter Art und nicht dazu bestimmt, die Anwendung und Verwendungen einzuschränken. Weiter ist es nicht beabsichtigt, durch eine ausgedrückte oder bedingte Theorie gebunden zu sein, die in dem vorstehenden technischen Gebiet, dem Hintergrund, der Kurzdarstellung oder der nachstehenden ausführlichen Beschreibung vorgelegt wird. Wie er hier verwendet wird, bezieht sich der Begriff "Modul" auf ein Application Specific Integrated Circuit (ASIC), eine elektronische Schaltung, einen Prozessor (geteilt, dediziert oder gruppiert) und einen Speicher, der eines oder mehrere von Software- oder Firmware-Programmen ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, welche die beschriebene Funktion bereitstellen.
-
1 ist ein schematischer Überblick einer bewegten Plattform (bzw. einfach einer "Plattform") 100 gemäß einem Ausführungsbeispiel. Wie er hier verwendet wird, bezieht sich der Begriff "bewegte Plattform" auf eine beliebige Struktur (z.B. ein Kraftfahrzeug, ein Schiff, ein Luftfahrzeug, einen Roboter oder dergleichen), die in der Lage ist, sich im Verhältnis zu ihrer Umgebung durch Verschiebung und/oder Drehung zu bewegen. Obwohl hier diverse Ausführungsbeispiele ohne Verlust an Allgemeingültigkeit in Zusammenhang mit einer Fußgängererkennung, die von einem Kraftfahrzeug ausgeführt wird, beschrieben werden können, ist der Bereich der möglichen Ausführungsbeispiele in dieser Hinsicht nicht darauf eingeschränkt: Die vorliegenden Systeme und Verfahren können in einem beliebigen Zusammenhang verwendet werden, in dem eine Erkennung und ein Tracking erwünscht sind.
-
Weiter mit Bezug auf 1 umfasst die Plattform 100 eine oder mehrere Kameras 121, 122 und 123, die kommunikativ mit einem Objekterkennungsmodul (bzw. einfach einem "Modul") 110 (z.B. über einen geeigneten Datenbus oder eine andere drahtgebundene oder drahtlose Verbindung) gekoppelt sind. Die Kameras 121 bis 123 können als eine beliebige Kombination von Hardware und/oder Software verwendet werden, die in der Lage ist, mehrere Einzelbilder (z.B. einen Video-Stream) der Umgebung zu erfassen, in der die Plattform 100 funktioniert. Die Kameras 121 bis 123 können beispielsweise als CCD-Kameras mit geeigneter Optik (z.B. Linsen) und dazugehöriger Elektronik, die so konfiguriert ist, dass sie eine Reihe von Einzelbildern erzeugt, die eine Pixelmatrix umfassen, wie es in der Technik bekannt ist, umgesetzt werden.
-
Die Anordnung dieser Kameras 121 bis 123 kann je nach der bestimmten Anwendung, bei der sie verwendet werden, variieren. In 1 beispielsweise, in der die Plattform 100 als Kraftfahrzeug abgebildet ist, wird die Kamera 122 gezeigt, wie sie sich "vorne" an der Plattform 100 befindet (was dem obersten Teil entspricht), wohingegen sich die Kameras 121 und 123 auf gegenüberliegenden Seiten der Plattform 100 befinden. Jede Kamera 121 bis 123 verfügt im Allgemeinen über ein dazugehöriges Blickfeld, d.h. einen Bereich der Umgebung, der für diese Kamera sichtbar ist. Die Kamera 122 verfügt über ein Blickfeld, das gestrichelt angegeben ist. Entsprechend ist die Kamera 122, wie gezeigt, in der Lage, Einzelbilder zu erzeugen, die mit einem interessierenden Objekt (bzw. einfach einem "Objekt") 150 in dem Blickfeld 130 assoziiert sind.
-
Das interessierende Objekt 150 kann im Wesentlichen feststehend sein (z.B. Gebäude, Straßenschilder, Laubwerk und dergleichen) oder kann sich im Verhältnis zur Umgebung bewegen (z.B. gehende oder laufende Menschen, Tiere, andere bewegte Plattformen usw.). Weiter kann eine beliebige Anzahl von Objekten 150 innerhalb der Umgebung vorhanden sein und von einer oder mehreren der Kameras 121 bis 123 erkannt werden. Wie es nachstehend ausführlicher beschrieben wird, ist das Modul 110 in der Lage, ein oder mehrere interessierende Objekte 150 zuverlässig und genau zu erkennen.
-
Das Modul 110 umfasst eine beliebige geeignete Kombination aus Hardware und/oder Software, die in der Lage ist, die hier beschriebenen diversen Prozesse auszuführen. Bei dem abgebildeten Ausführungsbeispiel umfasst das Modul 110 zum Beispiel einen Prozessor 114 sowie einen Speicher 112 zum Speichern von maschinenlesbaren Software-Anweisungen, die, wenn sie von dem Prozessor 114 ausgeführt werden, in der Lage sind, eine Objekterkennung auszuführen, wie es nachstehend beschrieben wird. Bei einigen Ausführungsbeispielen ist das Modul 110 als Teil eines anderen Moduls umgesetzt, das in die Plattform 100 integriert ist, wie etwa als visuelles Verarbeitungsmodul (nicht abgebildet). Bei einigen Ausführungsbeispielen ist die Funktionalität des Moduls 110 auf mehrere Rechenentitäten innerhalb oder außerhalb der Plattform 100 verteilt.
-
2 ist ein schematische Blockdiagramm eines Objekterkennungsmoduls (bzw. einfach eines "Moduls") 200 gemäß einer Umsetzung des Objekterkennungsmoduls 110 aus 1. Im Allgemeinen umfasst das Modul 200 ein Detektormodul 210, ein visuelles Tracking-Modul 220 und ein Ziel-Bewegungsmodul 230. Wie es nachstehend ausführlicher beschrieben wird, sind diese Komponenten (210, 220 und 230) zusammen so konfiguriert, dass sie (z.B. von einer der Kameras 121 bis 123 aus 1) ein Einzelbild (bzw. einfach ein "Bild") 201 empfangen, in dem sich ein oder mehrere interessierende Objekte 205, 206 befinden. Das Modul 210 erzeugt dann Objekterkennungsinformationen, welche die "Ziele" 265 und 266 umfassen, die jeweils interessierenden Objekten (bzw. einfach "Objekten") 205 und 206 entsprechen, sowie die Erkennungsbewertungsdaten 203.
-
Wie er hier verwendet wird, bezieht sich der Begriff "Ziel", wie er mit Bezug auf bestimmte Objekte innerhalb eines Einzelbildes verwendet wird, auf eine beliebige geometrische Form, welche die Größe, Form und/oder Position dieses Objekts innerhalb des Bildes kennzeichnet. In 2 ist das Ziel 265 beispielsweise ein Begrenzungsrechteck, das dem Objekt 205 entspricht, und das Ziel 266 ist ein Begrenzungsrechteck, das dem Objekt 266 entspricht. Dies wird durch das Ziel-Informationsbild 202 angegeben. Die Ausführungsbeispiele sind jedoch nicht auf die Verwendung von Begrenzungsrechtecken eingeschränkt; vielmehr kann eine beliebige geeignete Form (z.B. ein Vieleck, eine gekrümmte geschlossene Kurve oder dergleichen), die das Objekt im Wesentlichen begrenzt oder umgibt, verwendet werden.
-
Die Erkennungsbewertungsdaten 203 (die beispielsweise in dem Speicher 112 aus 1 gespeichert sein können) umfassen einen beliebigen Datensatz, der das Vertrauen kennzeichnet, mit dem das Modul 200 annimmt, dass die Ziele 265 und 266 mit ihren jeweiligen Objekten 205 und 206 assoziiert sind. Beispielsweise könnten die Erkennungsbewertungsdaten 203 eine Zielbewertung von 2 (auf einer Skala von 0 bis 10, wobei 10 das höchste Vertrauen ist) für das Ziel 265 und eine Zielbewertung von 7 für das Ziel 266 umfassen. Die Ausführungsbeispiele sind jedoch nicht auf ganzzahlige Ziel-Bewertungswerte eingeschränkt. Es können reelle Zahlen, alphanumerische Zeichen oder eine beliebige andere Datenart verwendet werden. Die Erkennungsbewertungsdaten 203 können auch eine Ziel-ID (die ein Ziel einzigartig identifiziert), eine Trackingzeit für das Ziel (z.B. die Zeit seit der ersten Erkennung des Ziels) und beliebige andere Attribute, die zur Objekterkennung beitragen könnten, umfassen.
-
Das Detektormodul 210 ist so konfiguriert, dass es das Vorliegen von Objekten innerhalb eines einzigen Bildes 201 unter Verwendung einer beliebigen geeigneten Bildverarbeitungstechnik, die aus dem Stand der Technik bekannt ist, erkennt und dann dem visuellen Tracking-Modul 220 sowie dem Ziel-Bewegungsmodul 230 Informationen über diese Objekte (z.B. Zielinformationen und "Erkennungsbewertungen") bereitstellt. Das Detektormodul 210 empfängt auch Ziele von vorhergehenden Bildern aus dem visuellen Tracking-Modul 220. Wie es nachstehend beschrieben wird, ist das Detektormodul 210 in der Lage, Zielinformationen und Erkennungsbewertungsdaten 203 von einem oder mehreren vorhergehenden Bildern zu verwenden, um die Genauigkeit der Erkennungsbewertungsdaten 203 zu verbessern, die letztendlich durch das visuelle Tracking-Modul 220 erzeugt werden.
-
Das visuelle Tracking-Modul 220 umfasst eine beliebige geeignete Kombination von Hardware und/oder Software, die so konfiguriert ist, dass sie die Position von Zielen in einem zweiten Bild mittels der Zielinformationen aus dem ersten Bild vorhersagt. Das Modul 220 kann beispielsweise einen oder mehrere Prozessoren, Speichergeräte und dergleichen umfassen. Solches Tracking kann auf unterschiedliche Art und Weise durchgeführt werden. In einem Ausführungsbeispiel beispielsweise, in dem die Ziele Begrenzungsrahmen sind (wie etwa 265 und 266), wird ein Kanade-Lucas-Tomasi-(KLT)Merkmal-Tracking-Prozess durchgeführt, um eine Ähnlichkeitstransformation zu bestimmen, die den Ort und die Größe des Begrenzungsrahmens eines bestimmten Ziels in einem zweiten Bild mittels der Zielinformationen aus dem ersten Bild vorhersagt.
-
Gemäß einem Ausführungsbeispiel führt das Modul 200 ein Tracking mit "Non Maximal Suppression" (NMS) aus, um die Genauigkeit der Objekterkennung zu verbessern (d.h. die Genauigkeit der Erkennungsbewertungsdaten 203, die mit den Zielen 265 und 266 assoziiert sind). Wie es nachstehend ausführlicher beschrieben wird, umfasst das NMS-Tracking im Allgemeinen das "Zusammenführen" von Erkennungsbewertungsdaten von mehreren erkannten Zielen, wenn diese Ziele innerhalb des Einzelbildes 201 räumlich nah genug sind, z.B. wenn sich die Ziele um einen vorbestimmten Betrag überlappen.
-
Das Ziel-Bewegungsmodul 230 umfasst im Allgemeinen eine beliebige geeignete Kombination aus Hardware und Software, die so konfiguriert ist, dass sie lokale Bewegungswerte für jedes Ziel bestimmt, um eine höhere Zielbewertung für Objekte bereitzustellen, die eine anscheinende relative Bewegung im Verhältnis zur Umgebung zeigen. Daher die Erkennung eines Objekts 205 oder 206, das sich im Verhältnis zu einer Mauer, einer Fahrbahn oder einem anderen Teil der Umgebung bewegt, eine höhere Wahrscheinlichkeit aufweist, ein gültiges "interessierendes Objekt" (z.B. 150) zu sein, und folglich kann die Zielbewertung für dieses Objekt (wie sie in den Erkennungsbewertungsdaten 203 gespeichert ist) ebenso mit Bezug auf ihre "grundlegende" Zielbewertung erhöht werden, wie es zuvor beschrieben wurde. Das Zielbewegungsmodul 230 kann diverse Daten bezüglich der Plattform 100 empfangen, wozu odometrische Daten 231 gehören, welche die Position und/oder Geschwindigkeit der Plattform 100 kennzeichnen.
-
Nun mit Bezug auf 3 und 4, die aufeinanderfolgende Einzelbilder (bzw. einfach "Bilder") 301 und 302 abbilden, die von einer Kamera (z.B. 121) gemäß einem Beispiel erzeugt werden, wird nun das NMS-Tracking ausführlicher beschrieben.
-
Wie gezeigt, umfasst das Bild 301 zwei erkannte Ziele: das Ziel 312 und das Ziel 314, die jeweils als Begrenzungsrahmen abgebildet sind. Wie es nachstehend ausführlicher beschrieben wird, können diese Ziele 312, 314 unter Verwendung einer beliebigen geeigneten Kamera oder einem anderen Erkennungsgerät erkannt werden. In dem nachfolgenden Bild 302 (d.h. nachdem eine gewisse Zeit verstrichen ist, zusammen mit der Bewegung der entsprechenden Objekte sowie der bewegten Plattform 100 selber), berücksichtigt das Detektormodul 210 auch die vorhergesagten (bzw. "transformierten") Ziele 413 und 415, die jeweils den Zielen 312 und 314 entsprechen. Die vorhergehenden Positionen der Ziele 312 und 314 sind in 4 als punktierte Rechtecke 412 und 414 dargestellt. Daher werden die Ziele 413 und 415 von dem visuellen Tracking-Modul 220 erzeugt und entsprechen dem vorhergesagten Standort der Ziele basierend auf ihrer zuvor bestimmten Geschwindigkeit, Beschleunigung usw. Weiter wurden drei neue Ziele in dem Einzelbild 302 erkannt: das Ziel 422, das Ziel 424 und das Ziel 426. Wie es ersichtlich ist, überlappen sich die Ziele 424, 413 und 422 mehr oder weniger. Ähnlich überlappen sich die Ziele 215 und 426, so dass sich das Ziel 415 ganz innerhalb des Begrenzungsrechtecks befindet, das von dem Ziel 426 definiert wird.
-
Gemäß dem NMS-Tracking kann bzw. können ein oder mehrere Ziele in dem Bild 302 basierend auf ihren jeweiligen Zielbewertungen und darauf, ob und wie viel sich die Ziele überlappen oder anderweitig nahe aneinander liegen, zusammengeführt werden. Bei einem Ausführungsbeispiel können zwei Ziele als sich ausreichend überlappend angesehen werden, wenn die Schnittfläche größer als ein vorbestimmter Faktor ist, der mit dem geometrischen Mittelwert der Zielfläche multipliziert wird. Wenn beispielsweise ein erstes Ziel eine Fläche von 2,0 (unter Verwendung beliebiger geeigneter Einheiten) aufweist, und das zweite Ziel eine Fläche von 8,0 aufweist, dann ist der geometrische Mittelwert ihrer Flächen Wurzel aus (2,0·8,0) bzw. 4,0. Wenn der vorbestimmte Faktor beispielsweise 0,4 ist, dann werden die beiden Ziele (zum Zweck des NMS-Tracking) als ausreichend überlappend angesehen, wenn die Schnittmenge der beiden Ziele größer als 1,6 ist. Bei einigen Ausführungsbeispielen wird ein Proximitätsmaß (z.B. der Abstand zwischen den Mittelpunkten usw.), das mit dem zweiten Ziel und dem ersten vorhergesagten Ziel assoziiert ist, getestet, um zu bestimmen, ob es oberhalb eines vorbestimmten Schwellenwertes liegt.
-
Weiter mit Bezug auf 4 wird der Fall berücksichtigt, bei dem die Zielbewertung für das Ziel 413 gleich 4 ist, die Zielbewertung für das Ziel 415 gleich 6 ist, die Zielbewertung für das Ziel 422 gleich 3 ist, die Zielbewertung für das Ziel 424 gleich 1 ist, und die Zielbewertung für das Ziel 426 gleich 7 ist. Unter Verwendung des NMS-Trackings bleibt das Ziel 413 übrig, und die Zieldaten, die mit den Zielen 422 und 424 assoziiert sind, werden zu den Zieldaten zusammengeführt, die mit dem Ziel 413 assoziiert sind (da das Ziel 413 die höchste Bewertung hatte). Ähnlich bleibt das Ziel 426 übrig, und die Zieldaten, die mit dem Ziel 415 assoziiert sind, werden zu den Daten zusammengeführt, die mit dem Ziel 426 assoziiert sind. D.h. die Erkennungsbewertungsdaten 203, wie in 2 gezeigt, werden derart vereinfacht, dass sie (nach der Analyse des Bildes 302) nur Daten umfassen, die mit den Zielen 413 und 426 assoziiert sind. In dieser Hinsicht können die Erkennungsbewertungsdaten 203 in ein Speichergerät zum anschließenden Abruf und zur Analyse gespeichert werden. Bei einigen Ausführungsbeispielen wird die Bewertung des zusammengeführten Ziels basierend auf einem Kursverlauf geändert, der mit dem zusammengeführten Ziel assoziiert ist.
-
Die Zieldaten werden insofern zusammengeführt, dass die Ziel-ID des "verbleibenden" Ziels zusammen mit der Trackingzeit des ältesten der zusammengeführten Ziele gespeichert wird. Falls die mehreren Ziele die gleiche ID aufweisen, wird eine neue ID für alle Ziele außer den Zielen, welche die höchste Bewertung aufweisen, bereitgestellt. Zusätzlich kann die Zielbewertung um eine Konstante erhöht werden, solange sie nicht die "anfängliche" Bewertung dieses Ziels überschreitet. Die Ziele können auch aus den Erkennungsbewertungsdaten 203 entfernt werden, wenn ihre Bewertungen unterhalb eines gewissen vorbestimmten Schwellenwertes (z.B. einer Zielbewertung von 2) liegen.
-
Bei diversen Ausführungsbeispielen werden die Erkennungsbewertungsdaten 203 (die z.B. in dem Speicher 112 abgelegt sind) verbessert, indem ähnliche "Reduzierungs-"Prozesse angewendet werden. Beispielsweise können Ziele entfernt (oder ihre Zielbewertungen reduziert) werden, wenn sie während einer vorbestimmten Anzahl von N Bildern nicht erkannt wurden, oder wenn sie in mindestens M der letzten N Bilder nicht erkannt wurden. Bei einem anderen Beispiel kann ein Ziel entfernt oder seine Zielbewertung reduziert werden, basierend auf dem Zielverlauf, wie etwa Geschwindigkeit, Gesamtbewegung, Zeit seit der ersten Erkennung, Größenänderung, durchschnittliche Zielbewertung, maximale/minimale Bewertung oder eine beliebige andere derartige Statistik, die mit dem Ziel assoziiert ist.
-
Wie zuvor erwähnt, umfasst das Ziel-Bewegungsmodul 230 im Allgemeinen eine beliebige geeignete Kombination aus Hardware und Software, die so konfiguriert ist, dass sie lokale Bewegungswerte für jedes Ziel bestimmt, um eine höhere Zielbewertung für die Objekte bereitzustellen, die eine anscheinende relative Bewegung im Verhältnis zur Umgebung zeigen. In dieser Hinsicht wird die Umgebung untersucht, um dazu beizutragen, eine wirkliche Zielbewegung und eine Bewegung, die durch die eigene Bewegung der Kamera verursacht wird, zu unterscheiden.
-
Bei einem Ausführungsbeispiel wird die lokale Bewegung folgendermaßen berechnet. Zuerst wird ein dichter Bildfluss in der Zielfläche berechnet, beispielsweise unter Verwendung eines Farneback-Algorithmus, wie er in der Technik bekannt ist. Alternativ kann man andere Rechenverfahren und einen spärlichen Ablauf verwenden. 5 ist eine schematische Abbildung der Bewegungsmerkmalserkennung gemäß einem Ausführungsbeispiel und bildet ein Objekt 505 und ein Vektorfeld 515 der Bewegung bezüglich des Objekts 505 ab. Das Vektorfeld 515 gibt die augenblickliche Bewegung verschiedener Punkte innerhalb des Bildes des Objekts 505 an und wird basierend auf dem Abbild des aktuellen Bildes (z.B. des Bildes 302 aus 4) und dem Abbild eines Bildes (oder einiger Bilder) davor (z.B. Bild 301 in 3) berechnet. Der Ablauf (z.B. die Bewegung) in glatten Flächen kann vernachlässigt werden, da der Ablauf in diesen Flächen typischerweise eine geringe Zuverlässigkeit aufweist. Die Glattheit kann durch die lokale Standardabweichung, Eckenerkennung oder auf eine beliebige andere Art und Weise bestimmt werden.
-
6 ist ein schematisches Diagramm, das nützlich ist, um die Berechnung einer lokalen Bewegung gemäß einem Ausführungsbeispiel zu beschreiben, wie etwa einem Ausführungsbeispiel, bei dem das interessierende Objekt ein Fußgänger ist. Insbesondere wird für jedes Ziel 600 eine Zielbewertung basierend auf der gefundenen lokalen Bewegung auf der X-Achse berechnet. Bei einem Beispiel wird die Bewertung in der Mitte der Spur (610) berechnet, um den Hintergrund, der die Fläche des Ziels umgibt, zu minimieren oder zu verhindern, dass er bei den Berechnungen verwendet wird. Für jede Pixelreihe 620 innerhalb des Abbildes wird die Bewegung außerhalb des Ziels 600 geschätzt, indem man die minimale und maximale Bewegung in einer Fläche an der Seite des Ziels 600 nimmt. Beispielsweise misst man das Minimum und das Maximum in zwei Flächen, die 8 Pixel breit und 32 Pixel hoch sind, und zwar eine Fläche 630 rechts von dem Ziel 600 und eine Fläche 640 links von dem Ziel 600.
-
Es können diverse Techniken verwendet werden, um die Bewegung außerhalb des Ziels
600 zu schätzen. Bei einem Ausführungsbeispiel wird die lokale Bewegung (val) jedes Pixels in der Reihe
620 mit den maximalen (max) und den minimalen (min) Werten der Flächen
630 und
640 wie folgt verglichen:
-
Dieser Vergleich wird für die Bewegung entlang den X- und Y-Achsen getrennt ausgeführt, und die lokale Bewegung jedes Pixels wird dem euklidischen Abstand des Vergleichsergebnisses der X- und Y-Achsen zugeteilt. Pixel mit unbekannter Bewegung (z.B. innerhalb von glatten Flächen) werden bei der Berechnung des Minimums und des Maximums nicht verwendet. Von allen getesteten Pixeln in dem Ziel 600 werden die oberen 85 % (oder ein anderer Schwellenwert) als Bewegungsbewertung genommen. Dies geschieht, um den Hintergrund weiter zu reduzieren und eine Bewegung der Glieder eines Fußgängers und dergleichen einzufangen.
-
Die lokale Bewegungsbewertung LM (d.h. die "neue Bewertung", die mit dem zweiten Bild assoziiert ist) kann mit der Fußgänger-Erkennungsbewertung (d.h. die zuvor als "Zielbewertung" bezeichnet wurde) PD auf unterschiedliche Art und Weise kombiniert werden, wie etwa: Neue Bewertung = PD + α·LM Neue Bewertung = PD + α·max(LM, β) Neue Bewertung = PD + α·(LM > 0) (1 wenn LM > 0 und sonst 0) Neue Bewertung = PD + β·e–α·LM Wobei α und β Konstanten sind.
-
Wenn die Kamerabewegung stark ist (wie etwa wenn sich die Plattform schnell bewegt), kann in der Szene eine starke lokale Bewegung von den Objekten 150, die nicht an Mauern angrenzen (wie beispielsweise Verkehrsschilder), erzielt werden. Um diesen Effekt zu reduzieren, kann der Beitrag der lokalen Bewegung zwangsläufig herabgesetzt werden, wenn die Kamerabewegung zunimmt. Die Reduzierung kann durch Multiplizieren mit einem geeigneten Faktor, wie etwa e–γ·Eigenbewegung, erreicht werden, wobei γ·Eigenbewegung die Bewegung der Kamera, wie etwa der Kamera 121, ist.
-
Bei diesem Beispiel wird der Beitrag zur Fußgänger-Erkennungsbewertung oder der Zielbewertung gegeben durch: Neue Bewertung = PD + α·(LM > 0)·e–γ·Eigenbewegung
-
Gemäß einem anderen Ausführungsbeispiel geht man davon aus, dass Ziele (z.B. die Objekte 150) näher an der Kamera 121 bis 123 zuverlässiger sind. Entsprechend werden die Zielbewertungen für nahegelegene Ziele erhöht. Der Kamera-Zielabstand kann als euklidischer Abstand zwischen dem Ziel und der Kamera 121 bis 123 oder als der Zielabstand, der auf die Kamerasichtachse projiziert wird (als Tiefe bezeichnet), gemessen werden. Die Bewertungszunahme kann beispielsweise durch Multiplizieren der Zielbewertung mit β·e–α·Tiefe erreicht werden.
-
7 ist ein Flussdiagramm eines Objekterkennungsverfahrens 700 gemäß einem Ausführungsbeispiel und wird in Verbindung mit 1 bis 4 beschrieben. Zu Beginn bei 702 wird ein erstes Einzelbild (z.B. 301) von einer Kamera empfangen, die mit einer bewegten Plattform (z.B. der Kamera 122 in 1) verbunden ist. Dann wird bei 704 ein erstes Ziel 312 innerhalb des ersten Einzelbildes 301 definiert, das den Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wurde. Ebenfalls bei 704 wird eine erste Bewertung 415 (z.B. eine Bewertung, die das Vertrauensniveau des Ziels kennzeichnet), die mit dem ersten Ziel assoziiert ist, bestimmt. Bei 706 wird ein zweites Einzelbild 302 zeitlich nach dem ersten Einzelbild 301 empfangen. Ein zweites Ziel 413, das den Standort des Objekts in dem zweiten Einzelbild kennzeichnet, wird dann zusammen mit einer zweiten Bewertung bestimmt, die mit dem zweiten Ziel assoziiert ist, bei 708. Bei 710 wird ein erstes vorhergesagtes Ziel 422 basierend auf einem Tracking-Prozess, der auf das erste Ziel 312 angewendet wird, bestimmt. Daher werden eine erwartete Position und Größe des Ziels basierend auf der verfolgten Bewegung des ersten Ziels von dem ersten Bild zum zweiten Bild bestimmt. Eine dritte Bewertung, die mit dem ersten vorhergesagten Ziel 422 assoziiert ist, wird ebenfalls bei 710 bestimmt. Schließlich wird bei 712 ein zusammengeführtes Ziel (z.B. 422), das dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und der Überlappungsbereich des zweiten Ziels 413 und des ersten vorhergesagten Ziels 424 größer als ein vorbestimmter Schwellenwert ist, definiert.
-
Beispiele
-
Beispiel 1. Ein Verfahren zum Erkennen von Objekten von einer bewegten Plattform aus, wobei das Verfahren folgende Schritte umfasst:
Empfangen eines ersten Einzelbildes von einer Kamera, die mit der bewegten Plattform verbunden ist,;
Definieren innerhalb des ersten Einzelbildes eines ersten Ziels, welches den Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wird;
Bestimmen einer ersten Bewertung, die mit dem ersten Ziel assoziiert ist;
Empfangen eines zweiten Einzelbildes von der Kamera zeitlich nach dem ersten Einzelbild;
Definieren innerhalb des zweiten Einzelbildes eines zweiten Ziels, welches den Standort des Objekts in dem zweiten Einzelbild kennzeichnet;
Bestimmen einer zweiten Bewertung, die mit dem zweiten Ziel assoziiert ist;
Definieren eines ersten vorhergesagten Ziels innerhalb des zweiten Einzelbildes basierend auf einem Tracking-Prozess, der auf das erste Ziel angewendet wird;
Bestimmen einer dritten Bewertung, die mit dem ersten vorhergesagten Ziel assoziiert ist; und
Definieren eines zusammengeführten Ziels, das dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und ein Proximitätsmaß zwischen dem zweiten Ziel und dem ersten vorhergesagten Ziel oberhalb eines vorbestimmten Schwellenwertes liegt.
-
Beispiel 2. Das Verfahren nach Beispiel 1, weiter umfassend ein Definieren des zusammengeführten Ziels, so dass es dem ersten vorhergesagten Ziel entspricht, wenn die dritte Bewertung größer als die zweite Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Beispiel 3. Das Verfahren nach Beispiel 1 oder 2, wobei die bewegte Plattform ein Fahrzeug ist.
-
Beispiel 4. Das Verfahren nach einem der Beispiele 1 bis 3, weiter umfassend ein Erhöhen der Bewertung des zusammengeführten Ziels basierend auf einer lokalen Bewegung, die in mindestens einem von dem ersten Einzelbild und dem zweiten Einzelbild erkannt wird.
-
Beispiel 5. Das Verfahren nach Beispiel 4, weiter umfassend das Verringern der Bewertung des zusammengeführten Ziels, wenn eine Geschwindigkeit der bewegten Plattform oberhalb eines Schwellenwertes liegt.
-
Beispiel 6. Das Verfahren nach einem der Beispiele 1 bis 5, weiter umfassend ein Ignorieren des zweiten Ziels, wenn es während einer vorbestimmten Anzahl von Bildern nicht erkannt wurde.
-
Beispiel 7. Das Verfahren nach einem der Beispiele 1 bis 6, weiter umfassend ein Ändern der Bewertung des zusammengeführten Ziels basierend auf einem Abstand von der Kamera zu einem Objekt, das dem zusammengeführten Ziel entspricht.
-
Beispiel 8. Das Verfahren nach einem der Beispiele 1 bis 7, weiter umfassend ein Ändern der Bewertung des zusammengeführten Ziels basierend auf einem Kursverlauf, der mit dem zusammengeführten Ziel assoziiert ist.
-
Beispiel 9. Ein Objekterkennungssystem für eine bewegte Plattform, wobei das System Folgendes umfasst:
Ein visuelles Tracking-Modul; und
ein Erkennungsmodul, das kommunikativ mit dem visuellen Tracking-Modul gekoppelt ist, wobei das Erkennungsmodul konfiguriert ist zum:
Empfangen eines ersten Einzelbildes von einer Kamera, die mit der bewegten Plattform verbunden ist, und eines zweiten Einzelbildes zeitlich nach dem zweiten Einzelbild;
Definieren innerhalb des ersten Einzelbildes eines ersten Ziels, welches einen Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wird, und Definieren innerhalb des zweiten Einzelbildes eines zweiten Ziels, welches den Standort des Objekts in dem zweiten Einzelbild kennzeichnet;
Bestimmen einer ersten Bewertung, die mit dem ersten Ziel assoziiert ist;
Bestimmen einer zweiten Bewertung, die mit dem zweiten Ziel assoziiert ist;
Empfangen eines ersten vorhergesagten Ziels von dem visuellen Tracking-Modul basierend auf einem Tracking-Prozess, der auf das erste Ziel angewendet wird;
Bestimmen einer dritten Bewertung, die mit dem ersten vorhergesagten Ziel assoziiert ist; und
Definieren eines zusammengeführten Ziels, welches dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Beispiel 10. Das System nach Beispiel 9, wobei das Erkennungsmodul weiter so konfiguriert ist, dass es das zusammengeführte Ziel so definiert, das dem ersten vorhergesagten Ziel entspricht, wenn die dritte Bewertung größer als die zweite Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Beispiel 11. Das System nach Beispiel 9 oder 10, wobei die bewegte Plattform ein Fahrzeug ist.
-
Beispiel 12. Das System nach einem der Beispiele 9 bis 11, weiter umfassend ein Zielbewegungsmodul, das so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels basierend auf einer lokalen Bewegung erhöht, die in mindestens einem von dem ersten Einzelbild und dem zweiten Einzelbild erkannt wird.
-
Beispiel 13. Das System nach Beispiel 12, wobei das Ziel-Bewegungsmodul so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels verringert, wenn eine Geschwindigkeit der bewegten Plattform über einem Schwellenwert liegt.
-
Beispiel 14. Das System nach einem der Beispiele 9 bis 13, weiter umfassend ein Ignorieren des zweiten Ziels, wenn es während einer vorbestimmten Anzahl von Bildern nicht erkannt wurde.
-
Beispiel 15. Das System nach einem der Beispiele 9 bis 14, wobei das Erkennungsmodul so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels ändert basierend auf einem Abstand von der Kamera zu einem Objekt, das dem zusammengeführten Ziel entspricht.
-
Beispiel 16. Das System nach einem der Beispiele 9 bis 15, wobei das Erkennungsmodul so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels basierend auf einem Kursverlauf ändert, der mit dem zusammengeführten Ziel assoziiert ist.
-
Beispiel 17. Ein Fahrzeug, umfassend:
Eine Kamera, die so konfiguriert ist, dass sie eine Vielzahl von Einzelbildern erzeugt, die mit einer Umgebung in der Nähe des Fahrzeugs assoziiert sind;
ein Objekterkennungssystem, das kommunikativ mit der Kamera gekoppelt ist, wobei das System Folgendes umfasst:
ein visuelles Tracking-Modul; und
ein Erkennungsmodul, das kommunikativ mit dem visuellen Tracking-Modul gekoppelt ist, wobei das Erkennungsmodul konfiguriert ist zum:
Empfangen eines ersten Einzelbildes von einer Kamera, die mit der bewegten Plattform verbunden ist, und eines zweiten Einzelbildes zeitlich nach dem zweiten Einzelbild;
Definieren innerhalb des ersten Einzelbildes eines ersten Ziels, welches einen Standort eines Objekts kennzeichnet, das in dem ersten Einzelbild erkannt wird, und Definieren innerhalb des zweiten Einzelbildes eines zweiten Ziels, welches den Standort des Objekts in dem zweiten Einzelbild kennzeichnet;
Bestimmen einer ersten Bewertung, die mit dem ersten Ziel assoziiert ist;
Bestimmen einer zweiten Bewertung, die mit dem zweiten Ziel assoziiert ist;
Empfangen von dem visuellen Tracking-Modul eines ersten vorhergesagten Ziels basierend auf einem Tracking-Prozess, der auf das erste Ziel angewendet wird;
Bestimmen einer dritte Bewertung, die mit dem ersten Ziel assoziiert ist; und
Definieren eines zusammengeführten Ziels, welches dem zweiten Ziel entspricht, wenn die zweite Bewertung größer als die dritte Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Beispiel 18. Das Fahrzeug nach Beispiel 17, wobei das Erkennungsmodul weiter so konfiguriert ist, dass es das zusammengeführte Ziel, das dem ersten vorhergesagten Ziel entspricht, definiert, wenn die dritte Bewertung größer als die zweite Bewertung ist und der Überlappungsbereich des zweiten Ziels und des ersten vorhergesagten Ziels größer als ein vorbestimmter Schwellenwert ist.
-
Beispiel 19. Das Fahrzeug nach Beispiel 17 oder 18, wobei das Objekterkennungssystem ein Ziel-Bewegungsmodul umfasst, das so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels basierend auf einer lokalen Bewegung, die in mindestens einem von dem ersten Einzelbild und dem zweiten Einzelbild erkannt wird, erhöht.
-
Beispiel 20. Das Fahrzeug nach einem der Beispiele 17 bis 19, wobei das Erkennungsmodul so konfiguriert ist, dass es die Bewertung des zusammengeführten Ziels basierend auf einem Abstand von der Kamera zu einem Objekt, das dem zusammengeführten Ziel entspricht, ändert.
-
Obwohl mindestens ein Ausführungsbeispiel in der vorstehenden ausführlichen Beschreibung vorgelegt wurde, versteht es sich, dass zahlreiche Variationen existieren. Es versteht sich ebenfalls, dass das Ausführungsbeispiel oder die Ausführungsbeispiele rein erläuternd ist bzw. sind und nicht dazu gedacht ist bzw. sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung auf irgendeine Art und Weise einzuschränken. Vielmehr wird die vorstehende ausführliche Beschreibung dem Fachmann eine praktische Anleitung bereitstellen, um das Ausführungsbeispiel oder die Ausführungsbeispiele umzusetzen. Es versteht sich, dass diverse Änderungen an der Funktion und Anordnung der Elemente vorgenommen werden können, ohne den Umfang der Offenbarung zu verlassen, wie er in den beiliegenden Ansprüchen und ihren rechtlichen Äquivalenten dargelegt wird.