-
GEBIET
-
Ausführungsformen der vorliegenden Offenbarung betreffen ein System zur Objektdetektion, ein Verfahren zur Objektdetektion und ein nichtflüchtiges computerlesbares Speicherungsmedium. Ausführungsformen der vorliegenden Offenbarung betreffen insbesondere die Untersuchung von Merkmalen niedriger Ebene in faltenden neuronalen Netzwerken (CNN Convolutional Neural Networks) für Verkehrszeichendetektion und -erkennung.
-
HINTERGRUND
-
Fahrassistenzsysteme für automatisiertes Fahren werden zunehmend wichtig. Automatisiertes Fahren kann mit verschiedenen Automatisierungsgraden stattfinden. Beispiele für Automatisierungsgrade sind unterstütztes, semiautomatisiertes, hochautomatisiertes oder vollautomatisiertes Fahren. Das Fahrerassistenzsystem für automatisiertes Fahren verwendet Sensoren, die die Umgebung wahrnehmen. Die Sensoren können zum Beispiel eine Kamera, ein Radar und/oder ein LiDAR sein. Neben hochgenauen Karten sind dies die Quellen für Fahrassistenzsysteme für automatisiertes Fahren. Eine genaue Detektion des Umfelds des Fahrzeugs kann jedoch eine Herausforderung sein. Das Verstehen von Verkehrszeichen ist eine der Grundanforderungen für ein selbstfahrendes Auto, um autonom in Szenarien der realen Welt zu fahren. Es muss in der Lage sein, diese Aufgabe mit einer Fehlerrate ähnlich zu der oder geringer als die eines Menschen zu erreichen. Gegenwärtig sind in der Kraftfahrzeugindustrie die meisten visionsbasierten Algorithmen auf eine Geometrie und Farbe von Verkehrszeichen angewiesen, um die Verkehrszeichen zu detektieren und zu klassifizieren. Obwohl diese Ansätze in einigen Fällen für Autobahnszenarien geeignet sind, wenn es nicht viele Hintergrundobj ekte gibt, sind sie nicht robust genug, um mit der enormen und verschiedenartigen Anzahl von Objekten umzugehen, die in städtischen Szenarien vorgefunden werden kann.
-
Angesichts des Obenstehenden sind neue Systeme zur Objektdetektion, Verfahren zur Objektdetektion und nichtflüchtige computerlesbare Speicherungsmedien vorteilhaft, die zumindest manche der Probleme des Stands der Technik überwinden.
-
KURZFASSUNG
-
Angesichts des Obenstehenden sind ein System zur Objektdetektion, ein Verfahren zur Objektdetektion und ein nichtflüchtiges computerlesbares Speicherungsmedium bereitgestellt.
-
Ein Ziel der vorliegenden Offenbarung besteht darin, ein System zur Objektdetektion mit minimalem Aufwand, und insbesondere mit reduzierten Rechenressourcen zu modifizieren.
-
Gemäß einem unabhängigen Aspekt der vorliegenden Offenbarung ist ein System zur Objektdetektion bereitgestellt. Das System beinhaltet einen Detektionsteil, der dazu ausgelegt ist, eine Position eines Objekts in einem Bild unter Verwendung eines ersten trainierten neuronalen Netzwerks zu bestimmen; einen Klassifikationsteil, der dazu ausgelegt ist, das detektierte Objekt unter Verwendung eines zweiten trainierten neuronalen Netzwerks zu klassifizieren; und ein Trainingsmodul, das dazu ausgelegt ist, den Klassifikationsteil neu zu trainieren oder zu ersetzen, während der Detektionsteil unverändert bleibt.
-
Das erste trainierte neuronale Netzwerk und das zweite trainierte neuronale Netzwerk können als Teile eines neuronalen Netzwerks des Systems verstanden werden, wie etwa das eines CNN-basierten Einzelstufen-Objektdetektionsmodells. Das erste trainierte neuronale Netzwerk und das zweite trainierte neuronale Netzwerk werden parallel anstatt aufeinanderfolgend ausgeführt.
-
Gemäß der vorliegenden Erfindung wird nur der Klassifikationsteil des neuronalen Netzwerks neu trainiert oder ersetzt, und der Detektionsteil des neuronalen Netzwerks bleibt unverändert. Mit anderen Worten wird nicht das gesamte neuronale Netzwerk des Detektorsystems neu trainiert oder ersetzt, wodurch weniger Rechenressourcen benötigt werden. Wenn beispielsweise ein neues Verkehrszeichen detektiert werden muss, kann ein vorhandener CNN-basierter Verkehrszeichendetektor neu trainiert/fein abgestimmt werden, um dieses neue Verkehrszeichen zu detektieren. Dies kann sehr rechenintensiv sein. Gemäß der vorliegenden Erfindung kann der Detektionsteil des CNN-Modells unverändert bleiben, und nur der Klassifikationsteil wird neu trainiert. Dies kann durch Trennen/Modularisieren des Detektions- und Klassifikationszweigs eines CNN-basierten Einzelstufen-Objektdetektionsmodells durchgeführt werden. Der gesamte Neutrainingsprozess kann als den trainierten Klassifizierer „ersetzend“ angesehen werden. Dies ist ein viel effizienterer Prozess, da ein Klassifizierer nur aus wenigen Faltungsschichten besteht.
-
Vorzugsweise ist der Klassifikationsteil dazu ausgelegt, das detektierte Objekt basierend auf einer ersten Gruppe bekannter Objekte zu klassifizieren.
-
Vorzugsweise ist das Trainingsmodul dazu ausgelegt, das zweite trainierte neuronale Netzwerk neu zu trainieren, um mindestens ein weiteres Objekt zu der ersten Gruppe bekannter Objekte hinzuzufügen. Mit anderen Worten wird die erste Gruppe erweitert, zum Beispiel um ein neues Verkehrszeichen.
-
Vorzugsweise ist das Trainingsmodul dazu ausgelegt, den Klassifikationsteil durch einen Klassifikationsteil zu ersetzen, der dazu ausgelegt ist, das detektierte Objekt basierend auf einer zweiten Gruppe bekannter Objekte zu klassifizieren, die sich von der ersten Gruppe bekannter Objekte unterscheidet. Mit anderen Worten kann die erste Gruppe mit einer Gruppe anderer Objekte ersetzt werden.
-
Vorzugsweise wird das Objekt aus der Gruppe ausgewählt, die ein Schild, ein Verkehrszeichen, eine Ampel und Kombinationen davon beinhaltet. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt, und das Objekt kann ein anderes Objekt oder Merkmal sein, das in einem Bild identifizierbar ist.
-
Vorzugsweise beinhaltet das System ein CNN-basiertes Objektdetektionsmodul mit dem Detektionsteil und dem Klassifikationsteil. Der Detektionsteil und der Klassifikationsteil können als unterschiedliche Zweige des CNN-basierten Objektdetektionsmoduls konfiguriert sein. Beispielsweise können der Detektionsteil und der Klassifikationsteil getrennt und/oder modularisiert sein.
-
Vorzugweise ist der Detektionsteil dazu ausgelegt, einen Begrenzungsrahmen (Englisch: bounding box) für das Objekt im Bild zu bestimmen.
-
Vorzugsweise beinhaltet das System ferner einen Merkmalsextraktor, der dazu ausgelegt ist, das Objekt aus dem Bild zu extrahieren. Der Merkmalsextraktor kann dazu ausgelegt sein, dem Detektionsteil und dem Klassifikationsteil das extrahierte Bild bereitzustellen.
-
Gemäß einem anderen Aspekt der vorliegenden Offenbarung ist ein Verfahren zur Objektdetektion bereitgestellt. Das Verfahren beinhaltet Bestimmen einer Position eines Objekts in einem Bild unter Verwendung eines ersten trainierten neuronalen Netzwerks eines Detektionsteils; Klassifizieren des detektierten Objekts unter Verwendung eines zweiten trainierten neuronalen Netzwerks eines Klassifikationsteils, und Neutrainieren oder Ersetzen des Klassifikationsteils, während der Detektionsteil unverändert bleibt.
-
Das Verfahren kann die mit Bezug auf das System der vorliegenden Ausführungsformen beschriebenen Aspekte implementieren.
-
Gemäß einem anderen Aspekt der vorliegenden Offenbarung ist ein computerlesbares Speicherungsmedium bereitgestellt. Das flüchtige computerlesbare Speicherungsmedium speichert ein oder mehrere Programme, wobei das eine oder die mehreren Programme Anweisungen beinhalten, die bei Ausführung durch einen oder mehrere Prozessoren eines Systems veranlassen, dass das System Folgendes ausführt: Bestimmen einer Position eines Objekts in einem Bild unter Verwendung eines ersten trainierten neuronalen Netzwerks eines Detektionsteils; Klassifizieren des detektierten Objekts unter Verwendung eines zweiten trainierten neuronalen Netzwerks eines Klassifikationsteils; und Neutrainieren oder Ersetzen des Klassifikationsteils, während der Detektionsteil unverändert bleibt.
-
Im Zusammenhang dieses Dokuments kann ein computerlesbares Speicherungsmedium ein beliebiges Medium sein, das ein Programm zur Verwendung durch ein oder in Verbindung mit einem Anwendungsausführungssystem enthalten oder speichern kann.
-
Ausführungsformen sind auch auf Systemteile zum Ausführen der offenbarten Verfahren gerichtet und beinhalten Systemteile zum Durchführen jedes beschriebenen Verfahrensaspekts. Diese Verfahrensaspekte können mittels Hardwarekomponenten, eines durch geeignete Software programmierten Computers, durch eine beliebige Kombination der beiden oder in einer beliebigen anderen Weise durchgeführt werden. Ferner sind Ausführungsformen der Erfindung auch auf Verfahren zum Betreiben des beschriebenen Systems gerichtet. Es beinhaltet Verfahrensaspekte zum Ausführen jeder Funktion des Systems.
-
Figurenliste
-
Damit die Art und Weise der oben dargelegten Merkmale der vorliegenden Offenbarung im Detail verstanden werden können, kann eine spezifischere Beschreibung der Offenbarung, die oben kurz zusammengefasst wurde, mit Bezug auf die Ausführungsformen vorgenommen werden. Die begleitenden Zeichnungen beziehen sich auf Ausführungsformen der Offenbarung und sind nachstehend beschrieben:
- 1 zeigt mehrere Variationen von SSD-Modellen mit einer Backbone-Struktur, die durch ein beliebiges Klassifikationsnetzwerk wie etwa VGG und Resnet ersetzt werden kann;
- 2 zeigt eine schematische Ansicht des Systems zur Objektdetektion gemäß hierin beschriebenen Ausführungsformen; und
- 3 zeigt ein Flussdiagramm eines Verfahrens zur Objektdetektion gemäß hierin beschriebenen Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Nun wird ausführlich Bezug auf die verschiedenen Ausführungsformen der Offenbarung genommen, von denen ein oder mehr Beispiele in den Figuren veranschaulicht sind. In der folgenden Beschreibung der Zeichnungen beziehen sich die gleichen Bezugsziffern auf die gleichen Komponenten. Allgemein sind nur die Unterschiede in Bezug auf die einzelnen Ausführungsformen beschrieben. Jedes Beispiel ist mittels Erläuterung der Offenbarung bereitgestellt und soll keine Beschränkung der Offenbarung darstellen. Ferner können Merkmale, die als Teil einer Ausführungsform veranschaulicht oder beschrieben sind, bei oder in Verbindung mit anderen Ausführungsformen verwendet werden, um noch eine andere Ausführungsform zu erzielen. Es wird beabsichtigt, dass die Beschreibung derartige Modifikationen und Variationen einschließt.
-
Das Trainieren eines gesamten CNN-Modells zur Verkehrszeichendetektion und -klassifikation ist rechnerisch aufwendig. Aufgrund der Beschaffenheit des CNN muss, falls ein neues Verkehrszeichen detektiert wird, allgemein das gesamte CNN-Modell neu trainiert werden. Dies erweist sich als ein herausforderndes Problem, da fast jedes Land seine eigenen Verkehrszeichen aufweist. Gemäß der vorliegenden Erfindung wird nur der Klassifikationsteil des neuronalen Netzwerks neu trainiert oder ersetzt, und der Detektionsteil des neuronalen Netzwerks bleibt unverändert. Mit anderen Worten wird nicht das gesamte neuronale Netzwerk des Detektorsystems neu trainiert oder ersetzt, wodurch weniger Rechenressourcen benötigt werden.
-
Der folgende Abschnitt A beschreibt ein CNN-Modell zur Verkehrszeichendetektion und -klassifikation. Dann beschreibt Abschnitt B Ausführungsformen der vorliegenden Erfindung, die auf dem in Abschnitt A beschriebenen CNN-Modell basieren oder auf dieses angewendet werden können.
-
CNN-Modell
-
Das CNN-Modell der vorliegenden Offenbarung spricht zwei spezielle Probleme an, nämlich eine geringe klassenübergreifende Variation von Verkehrszeichen und eine kleine Größe der Verkehrszeichen in Bildern. Um diese Probleme anzusprechen, teilt die Architektur die Detektions- und Klassifikationszweige eines CNN-basierten Objektdetektors. Diese Architektur nutzt Merkmale geringer Ebene zur Klassifikation aus, während Merkmale hoher Ebene zur Detektion in einem einzelnen Vorwärtsdurchlauf verwendet werden. Dadurch kann die durchschnittliche Präzision der Detektionsergebnisse um 5 % bis 19 % bei öffentlichen Datensätzen erhöht werden.
-
1 zeigt mehrere Variationen von SSD-Modellen mit einer Backbone-Struktur, die durch ein beliebiges Klassifikationsnetzwerk wie etwa VGG und Resnet ersetzbar ist. Rahmen und Klass. beziehen sich auf die Begrenzungsrahmendetektion und Klassifikation des detektierten Objekts im Rahmen. (a) ist das ursprüngliche SSD-Modell von Liu et al. (b) ist ein SSD+FPN-Modell. (c) ist das SSD+FPN+ITA-Modell, das bei der Ausführungsform der vorliegenden Offenbarung verwendet wird, bei der die Detektions- und Klassifikations-Heads getrennt sind. Der Klassifikations-Head verwendet die Merkmale niedriger Ebene vom Backbone und teilt sich in unterschiedliche Zweige mit der gleichen räumlichen Auflösung wie die Detektionszweige. Dies ist nachstehend ausführlicher erläutert.
-
Einführung
-
Ein selbstfahrendes Auto muss in der Lage sein, Verkehrszeichen zu detektieren und zu erkennen. Dies ist eine äußerst wichtige Aufgabe, da Verkehrszeichen eine wichtige Rolle bei der Regelung des Verkehrsverhaltens spielen, was die Sicherheit auf der Straße gewährleistet und den reibungslosen Durchgang von Fahrzeugen und Fußgängern anleitet. Obwohl dies eine triviale Aufgabe für einen menschlichen Fahrer ist, haben Computervisionsalgorithmen damit zu kämpfen, eine Genauigkeit auf menschlichem Niveau zu erzielen, insbesondere, wenn die Größe des Verkehrszeichens klein ist. Verkehrszeichen sind gewöhnlich an den Seiten eines Bildes aufzufinden und sind im Vergleich zu der Gesamtgröße des Bildes relativ klein. Die Fähigkeit der Detektion kleiner Verkehrszeichen ist sehr vorteilhaft, da es den Zeitraum eines selbstfahrenden Autos zum Ausführen der Pfadplanung direkt erweitert. Die Herausforderung, kleine Verkehrszeichen zu detektieren, wird in städtischen Szenarien in Anbetracht der unendlichen Anzahl von in der Szene erscheinenden Hintergrundobjekten, wie etwa Werbetafeln, Graffiti an Wänden und Ladenschildern, noch größer. Herkömmliche Computervisionsalgorithmen, die für die Detektion von der Farbe und Geometrie der Verkehrszeichen abhängen, sind gegenüber diesen Hintergrundobjekten, die in verschiedenen Formen, Größen und Farben vorkommen, nicht robust genug.
-
Ansatz
-
Die Ausführungsformen der vorliegenden Offenbarung basieren auf dem von W. Liu et al. eingeführten Einzelaufnahme-Multibox-Detektormodell (SSD: Single Shot Multibox Detector Model). SSD nutzt einen Einzelstufen-Ansatz zum Ausführen einer Objektdetektion unter Verwendung eines CNN (faltenden neuronalen Netzwerks). Ein vortrainiertes VGG-16-Backbone kann als der Merkmalsextraktor für SSD verwendet werden. Um eine Objektdetektion durchzuführen, werden Merkmalskarten von unterschiedlichen Schichten des Merkmalsextraktors verwendet, um Multiskalen-Detektionszweige zu bilden. Jeder dieser Zweige führt gleichzeitig eine Begrenzungsrahmenregression und eine Objektklassifikation mithilfe eines Satzes fest bemessener Rahmen aus. Diese Rahmen werden an jeder Position im Bild platziert, was zu einer dichten Objektvorhersage führt. Ein NMS(Non-Maximum-Suppression)-Schritt wird dann verwendet, um überlappende Vorhersagen herauszufiltern und Vorhersagen mit hoher Konfidenz auszuwählen.
-
Um die Leistungsfähigkeit des SSD zu erhöhen, können zwei weitere Verbesserungen vorgenommen werden. Ein pyramidenartiger Merkmalsextraktor namens FPN (Feature Pyramid Network) kann eingeführt werden, bei dem Merkmalskarten von höheren (tieferen) Schichten zu denen in der nächstniedrigeren (flacheren) Schicht hinzugefügt werden. Dies ermöglicht, dass Informationen mit geringfügigen Kosten für die Gesamtberechnung zwischen den Multiskalen-Merkmalskarten fließen. Ferner kann eine Art von Verlust namens Fokalverlust verwendet werden, um das Problem des extremen Ungleichgewichts zwischen negativen und positiven Detektionen während des Trainings von Einzelstufen-Detektoren zu lösen. Fokalverlust ist eine modifizierte Version von Kreuzentropieverlust, der sich weniger auf Fälle konzentriert, die mit hoher Konfidenz detektiert werden. Mit diesen Modifikationen sind Einzelstufen-Detektoren zur Erzielung einer Präzision vergleichbar zu der eines Zweistufen-Ansatzes in der Lage, während sie weiterhin eine schnelle Inferenzzeit aufweisen.
-
Trotz der durch SSD mit diesen Modifikationen erzielten Genauigkeit bei der generischen Objektdetektionsaufgabe erzeugt es unterdurchschnittliche Ergebnisse, wenn es bei der spezifischen Aufgabe der Verkehrszeichendetektion angewendet wird. Aufgrund der Tatsache, dass Verkehrszeichen eine sehr geringe klassenübergreifende Variation aufweisen und gewöhnlich bezüglich des Bildes selbst sehr klein sind, wird die Komprimierung von Merkmalen durch das Merkmalsextraktor-Backbone der Detektionsgenauigkeit des Modells zwangsläufig schaden. Um diese Probleme zu lösen, modifiziert die vorliegende Offenbarung die Architektur des SSD.
-
Invertierte T-Architektur
-
Im ursprünglichen SSD-Modell werden Begrenzungsrahmenregression und Klassifikation in einem einzelnen Detektionszweig kombiniert. Dies funktioniert am besten, wenn die klasseübergreifende Variation der Objekte hoch ist. Für die Aufgabe der Verkehrszeichendetektion, bei der die Verkehrszeichen eine sehr geringe klasseübergreifende Variation aufweisen, sollten der Regressions- und Klassifikationsschritt im Detektionszweig getrennt werden. Dies wird durch das derartige Erweitern des SSD-Modells erzielt, dass es einen neuen Klassifikations-Head beinhaltet, wie in 1(c) gezeigt. Der Klassifikations-Head besteht aus mehreren Zweigen, die unter Verwendung einer Teilungsschicht gebildet werden, und passt die Größe der Merkmalskarten niedriger Ebene räumlich an, damit sie mit der räumlichen Größe der Merkmalskarten in den Detektionszweigen übereinstimmen. Dies resultiert in einer Modellarchitektur mit einem einzelnen Detektionszweig für mehrere Schichten und mehreren Klassifikationszweigen, die eine einzelne Schicht verwenden, daher der Name umgekehrte T-Architektur (ITA).
-
Bei genauerer Betrachtung der ITA ist zu erkennen, dass diese Architektur für die Aufgabe der Verkehrszeichendetektion vorteilhaft ist. Erstens wird der Multiskalen-Detektions-Head behalten. Dies ist äußerst wichtig, da es dem Modell ermöglicht, Objekte verschiedener Größe besser zu detektieren. Aufgrund der gestapelten Faltungsschichten im Merkmalsextraktor und der Merkmalspyramidenstruktur weist das Modell außerdem ein großes rezeptives Feld für jeden Zweig im Detektions-Head auf. Das große rezeptive Feld wird vom Modell benötigt, um herauszufinden, wo im Bild sich die Objekte befinden. Zweitens verwendet der Klassifikations-Head nur Merkmale niedriger Ebene. Diese Merkmale niedriger Ebene kommen vom ursprünglichen Merkmalsextraktor-Backbone und nicht dem FPN. Dadurch kann gewährleistet werden, dass das Modell die Merkmale niedriger Ebene behält, die zur Unterscheidung von Objekten mit geringer klasseübergreifender Variation benötigt werden. Im Vergleich zu dem Detektions-Head bedeutet die Verwendung von Merkmalen niedriger Ebene, dass das rezeptive Feld des Klassifikations-Head viel kleiner ist. Dies ist zur Verkehrszeichenklassifikation vorteilhaft, da die Position eines Verkehrszeichens sehr wenig Informationen über das Verkehrszeichen selbst liefert.
-
Da das Modell eine dichte Objektvorhersage ausführt, bei der die räumliche Abmessung die Anzahl möglicher Objektvorhersagen bestimmt, muss jeder Detektionszweig einen entsprechenden Klassifikationszweig mit der gleichen räumlichen Abmessung aufweisen. Dies bedeutet jedoch nicht, dass sich der Detektions-Head und der Klassifikations-Head dieselben Grundmerkmalskarten teilen müssen. Daher führen die für die ITA vorgenommenen Modifikationen nicht zu irgendwelchen Änderungen der Verlustfunktionen, die zum Trainieren des Modells verwendet werden, und des NMS während der Inferenz.
-
Klassifikations-Head
-
Um sich mit den Regressions-Begrenzungsrahmen vom Detektions-Head räumlich auszurichten, wird eine Teilungsschicht im Klassifikations-Head eingeschlossen (1(c)). Die Teilungsschicht teilt die Merkmale niedriger Ebene vom Merkmalsextraktor-Backbone in mehrere Zweige, die den Zweigen im Multiskalen-Detektions-Head entsprechen, und passt deren Größe an. Zwei mögliche Weisen der Durchführung können verwendet werden, Max-Pooling und Faltung mit großen Filtern. Max-Pooling ist gut, da es nur die dominantesten Merkmale behält, während Faltung mit großen Filtern in der Lage ist, eine Projektion von einer großen Merkmalskarte zu einer kleineren Merkmalskarte räumlich zu erlernen.
-
Neutrainingsprozess
-
2 zeigt ein System 200 zur Objektdetektion gemäß Ausführungsformen der vorliegenden Offenbarung.
-
Das System 200 beinhaltet einen Detektionsteil 210, der dazu ausgelegt ist, eine Position eines Objekts in einem Bild unter Verwendung eines ersten trainierten neuronalen Netzwerks zu bestimmen; einen Klassifikationsteil 220, der dazu ausgelegt ist, das detektierte Objekt unter Verwendung eines zweiten trainierten neuronalen Netzwerks zu klassifizieren; und ein Trainingsmodul 230, das dazu ausgelegt ist, den Klassifikationsteil neu zu trainieren oder zu ersetzen, während der Detektionsteil unverändert bleibt.
-
Wenn beispielsweise ein neues Verkehrszeichen detektiert werden muss, kann ein vorhandener CNN-basierter Verkehrszeichendetektor neu trainiert/fein abgestimmt werden, um dieses neue Verkehrszeichen zu detektieren. Dies kann sehr rechenintensiv sein. Gemäß der vorliegenden Erfindung kann der Detektionsteil 210 des CNN-Modells unverändert bleiben, und nur der Klassifikationsteil 220 wird neu trainiert. Dies kann durch Trennen/Modularisieren der Detektions- und Klassifikationszweige eines CNN-basierten Einzelstufen-Objektdetektionsmodells durchgeführt werden. Der gesamte Neutrainingsprozess kann als den trainierten Klassifizierer „ersetzend“ angesehen werden. Dies ist ein viel effizienterer Prozess, da ein Klassifizierer nur aus wenigen Faltungsschichten besteht.
-
Das System 200 kann ein CNN-basiertes Objektdetektionsmodul mit dem Detektionsteil und dem Klassifikationsteil beinhalten. Insbesondere kann das System 200 auf einem Einzelstufen-Objektdetektormodell (SDD) aufgebaut sein. Der Detektionsteil 210 und der Klassifikationsteil 220 können als unterschiedliche Zweige des CNN-basierten Objektdetektionsmoduls konfiguriert sein. Beispielsweise können der Detektionsteil 210 und der Klassifikationsteil 220 getrennt und/oder modularisiert sein.
-
Bei manchen Ausführungsformen beinhaltet das System 200 ferner einen Merkmalsextraktor, der dazu ausgelegt ist, das Objekt aus dem Bild zu extrahieren. Das Bild kann ein Kamerabild sein. Der Merkmalsextraktor kann dazu ausgelegt sein, dem Detektionsteil und dem Klassifikationsteil das extrahierte Bild bereitzustellen (siehe die Pfeile in 2).
-
Der Klassifikationsteil 220 kann dazu ausgelegt sein, das detektierte Objekt basierend auf einer ersten Gruppe bekannter Objekte zu klassifizieren. Bei manchen Ausführungsformen ist das Trainingsmodul 230 dazu ausgelegt, das zweite trainierte neuronale Netzwerk neu zu trainieren, um mindestens ein weiteres Objekt zu der ersten Gruppe bekannter Objekte hinzuzufügen. Mit anderen Worten wird die erste Gruppe erweitert, zum Beispiel um ein neues Verkehrszeichen.
-
Bei einer weiteren Ausführungsform ist das Trainingsmodul 230 dazu ausgelegt, den Klassifikationsteil 220 durch einen Klassifikationsteil zu ersetzen, der dazu ausgelegt ist, das detektierte Objekt basierend auf einer zweiten Gruppe bekannter Objekte zu klassifizieren, die sich von der ersten Gruppe bekannter Objekte unterscheidet. Mit anderen Worten kann die erste Gruppe mit einer Gruppe anderer Objekte ersetzt werden. Beispielsweise kann der für einen gewissen Satz von Objekten trainierte Klassifikationszweig durch einen anderen Zweig ersetzt werden, der für einen anderen Satz von Objekten trainiert ist. All dies wird durchgeführt, während der Merkmalsextraktor- und Detektionszweig „gesperrt“ und unangerührt sind.
-
Gemäß manchen Ausführungsformen, die mit anderen hierin beschriebenen Ausführungsformen kombiniert werden können, wird das Objekt aus der Gruppe ausgewählt, die ein Schild, ein Verkehrszeichen, eine Ampel und Kombinationen davon beinhaltet. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt, und das Objekt kann ein anderes Objekt oder Merkmal sein, das in einem Bild identifizierbar ist.
-
Bei manchen Implementierungen ist der Detektionsteil 210 dazu ausgelegt, einen Begrenzungsrahmen für das Objekt im Bild zu bestimmen. Ein Begrenzungsrahmen umschließt das Objekt zum Beispiel genau als ein Rechteck, und kann mit zusätzlichen Informationen ausgestattet sein, wie etwa einer Objektklasse oder einem Zweck des Objekts.
-
3 zeigt ein Flussdiagramm eines Verfahrens 300 zur Objektdetektion gemäß hierin beschriebenen Ausführungsformen.
-
Das Verfahren 300 beinhaltet in Block 310 ein Bestimmen einer Position eines Objekts in einem Bild unter Verwendung eines ersten trainierten neuronalen Netzwerks eines Detektionsteils; in Block 320 ein Klassifizieren des detektierten Objekts unter Verwendung eines zweiten trainierten neuronalen Netzwerks eines Klassifikationsteils; und in Block 330 ein Neutrainieren oder Ersetzen des Klassifikationsteils, während der Detektionsteil unverändert bleibt.
-
Gemäß hierin beschriebenen Ausführungsformen kann das Verfahren mittels Computerprogrammen, Software, Computersoftwareprodukten und den in Beziehung stehenden Steuerungen durchgeführt werden, die eine CPU, GPU, einen Speicher, eine Benutzeroberfläche und Eingabe- und Ausgabemittel aufweisen können, die mit den entsprechenden Komponenten des Systems zur Objektdetektion in Kommunikation stehen.
-
Gemäß der vorliegenden Erfindung wird nur der Klassifikationsteil des neuronalen Netzwerks neu trainiert oder ersetzt, und der Detektionsteil des neuronalen Netzwerks bleibt unverändert. Mit anderen Worten wird nicht das gesamte neuronale Netzwerk des Detektorsystems neu trainiert oder ersetzt, wodurch weniger Rechenressourcen benötigt werden. Wenn beispielsweise ein neues Verkehrszeichen detektiert werden muss, kann ein bestehender CNN-basierter Verkehrszeichendetektor neu trainiert/fein abgestimmt werden, um dieses neue Verkehrszeichen zu detektieren. Dies kann sehr rechenintensiv sein. Gemäß der vorliegenden Erfindung kann der Detektionsteil des CNN-Modells unverändert bleiben, und nur der Klassifikationsteil wird neu trainiert. Dies kann durch Trennen/Modularisieren des Detektions- und Klassifikationszweigs eines CNN-basierten Einzelstufen-Objektdetektionsmodells durchgeführt werden. Der gesamte Neutrainingsprozess kann als den trainierten Klassifizierer „ersetzend“ angesehen werden. Dies ist ein viel effizienterer Prozess, da ein Klassifizierer nur aus wenigen Faltungsschichten besteht.
-
Obwohl das Vorstehende auf Ausführungsformen der Offenbarung gerichtet ist, können andere und weitere Ausführungsformen der Offenbarung entwickelt werden, ohne von deren grundlegendem Schutzumfang abzuweichen, und deren Schutzumfang wird durch die folgenden Ansprüche bestimmt.