-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft ein System und ein Verfahren zum Erhöhen der Geschwindigkeit von Techniken zur Suche nächster Nachbarn unter Verwendung eines Ansatzes mit KD-Farnen.
-
HINTERGRUND
-
Eine Suche nächster Nachbarn (NN-Suche) wird in verschiedenen Anwendungen verwendet, einschließlich Computervision, Mustererkennung und Objektdetektion. Ein Ziel der NN-Suche ist es, für einen gegebenen Such- oder Abfragepunkt den nächsten Datenpunkt anhand des euklidischen Abstands unter einer Population von Datenpunkten in einem Referenzdatensatz zu finden. Ein Satz von Vektoren repräsentiert alle möglichen euklidischen Abstände. Eine Variante der Basis-NN-Suche ist die k-NN-Suche, bei der die „k“ nächsten Vektoren für einen gegebenen Abfragepunkt gefunden werden. Alternativ findet eine näherungsweise NN-Suche (ANN-Suche) einen Vektor, der näherungsweise so nahe wie der nächste Vektor bei dem Abfragepunkt liegt.
-
Die Datenpunkte, die mittels der NN-Suchtechniken überprüft werden, können beispielsweise visuelle oder andere Muster sein, die bei der Objektdetektion verwendet werden. Somit ist die NN-Suche fundamental für die Ausführung einer Vielzahl von unterschiedlichen Mustererkennungsaufgaben. Beispiele auf dem Gebiet der Computervision umfassen die Objektdetektion und die Bildsuche. In einem relativ hochdimensionalen Raum erfordert das Finden einer exakten Lösung viele Vektorvergleiche, und infolgedessen kann die Berechnung relativ langsam sein, wenn herkömmliche NN-Suchtechniken verwendet werden.
-
Bestehende Verfahren zum Erhöhen der Geschwindigkeit der Basis-NN-Suche umfassen die Verwendung von k-dimensionalen Bäumen (KD-Bäumen), zufällig angeordneten KD-Bäumen und hierarchischen K-Mitteln. KD-Bäume liefern insbesondere einen Typ einer raumteilenden Datenstruktur zum Organisieren von Punkten von Interesse in einem Raum mit gegebener Dimension. Bei einem typischen KD-Baumalgorithmus wird ein binärer Baum erzeugt, bei dem jeder Knoten des Baums eine Teilungsdimension und einen Schwellenwert aufweist. Eine gegebene Ursprungszelle in einem Raum mit einer Dimension wird in zwei Unterzellen geteilt, wobei die Unterzellen wiederum in zwei weitere Unterzellen geteilt werden, bis keine weitere Teilung mehr erfolgt. Die endgültigen Zellen werden als „Blattzellen“ bezeichnet. Unter Verwendung der NN-Suchtechniken können die Punkte in einem KD-Baum gefunden werden, die sich am nächsten bezogen auf einen gegebenen Eingabepunkt befinden, wobei die Verwendung des KD-Baums signifikante Bereiche des Dimensionsraums beseitigt und dadurch den Aufwand bei der Suche verringert. Die Suchgeschwindigkeiten, die mit KD-Bäumen und anderen Ansätzen möglich sind, können jedoch geringer als optimale Geschwindigkeiten bleiben.
-
Aus Zaklouta, F.; Stanciulescu, B: „Real-Time Traffic-Sign Recognition Using Tree Classifiers“, in IEEE Transactions on Intelligent Transportation Systems, 2012, Vol. 13(4), S. 1507 - 1514, ist ein Fahrzeug mit einem System zur Verkehrszeichenerkennung bekannt, bei dem eine Suche nächster Nachbarn mit KD-Bäumen bei einer Kandidatenklassifizierung zum Identifizieren eines Verkehrszeichens verwendet wird.
-
In Zaklouta, F.; Stanciulescu, B; Hamdoun, O.: „Traffic Sign Classification using K-d trees and Radom Forests“, in Proceedings of International Joint Conference on Neural Networks (IJCNN), IEEE, 2011, S. 2151 - 2155, ist ein ähnliches System zur Verkehrszeichenerkennung für ein Fahrzeug beschrieben.
-
Ferner sind in Ramasubramanian, V.; Paliwal, K. K.: „Fast k-Dimensional Tree Algorithms for Nearst Neighbor Search with Application to Vector Quantization Encoding“ Algorithmen zur Beschleunigung einer Suche in KD-Bäumen beschrieben.
-
Özuysal, M.; Calonder, M.; Lepetit, V.; Fua, P.: „Fast keypoint recognition using random ferns“, IEEE transactions on pattern analysis and machine intelligence, 2009, 32. Jg., Nr.3, S. 448 - 461 beschreiben die Konstruktion eines KD-Farns zur Mustererkennung innerhalb eines Bildausschnitts. Dabei werden Klassen und binäre Merkmale festgelegt, und es wird ein seminaiver Bayesscher Ansatz zur Konstruktion des Farns verwendet. Bei der Festlegung der binären Merkmale erfolgt ein Vergleich von Intensitäten zweier Pixel an unterschiedlichen Orten innerhalb des Bildausschnitts.
-
Eine Aufgabe der Erfindung besteht darin, ein Fahrzeug zu schaffen, bei dem die Erkennung eines Objekts in oder vor dem Fahrzeug möglichst schnell ausgeführt wird, um das Fahrzeug in Ansprechen auf die Erkennung des Objekts zu steuern.
-
ZUSAMMENFASSUNG
-
Diese Aufgabe wird durch ein Fahrzeug mit den Merkmalen des Anspruchs 1 gelöst.
-
Ein System und ein Verfahren, wie sie hierin offenbart werden, sind dafür vorgesehen, die möglichen Suchgeschwindigkeiten von bestehenden Techniken zur Suche nächster Nachbarn (NN-Suchtechniken) durch die Verwendung einer Technik zu verbessern, die nachstehend als KD-Farne bezeichnet wird. Beispielhafte Anwendungen des vorliegenden Ansatzes können die Objektdetektion oder die Merkmalsidentifikation umfassen, und daher können KD-Farne eine besondere Nützlichkeit in der Robotertechnik, beim autonomen Fahren, bei der Hindernisdetektion auf einer Fahrbahn, bei der Bildsuche und bei anderen, sich entwickelnden Mustererkennungsanwendungen aufweisen.
-
Bei einer Ausführungsform umfasst ein System einen Prozessor, eine Datenbank und einen Speicher. Die Datenbank enthält eine Vielzahl von Datenpunkten. Anweisungen zum Ausführen einer Suche nächster Nachbarn sind in dem Speicher aufgezeichnet. Ein KD-Farn wird a priori mittels der Datenbank der Datenpunkte unter Verwendung eines Ansatzes erzeugt, wie er hierin dargelegt ist, wobei der erzeugte KD-Farn einen Satz von Knoten als einen geordneten Satz von Teilungsdimensionen und Teilungsschwellenwerten aufweist. Der Empfang eines Abfragedatenpunkts von einer Eingabequelle bewirkt die Ausführung der Anweisungen durch den Prozessor. Alle Knoten auf demselben Niveau des zuvor erzeugten KD-Farns weisen dieselbe Teilungsdimension d und denselben Schwellenwert τ auf. Der Prozessor erzeugt auch unabhängig an jedem der Datenpunkte des KD-Farns ein binäres 0- oder 1-Bit, das eine Schwellenwertentscheidung für diesen speziellen Knoten beschreibt, und er greift anschließend unter Verwendung des Abfragepunkts auf die binäre Abbildung zu. Der Prozessor gibt auch ein Ergebnis des nächsten Nachbarn für den Abfragepunkt anhand der binären Abbildung zurück, wobei der nächste Nachbar der Punkt in der Datenbank ist, der dem Abfragepunkt am nächsten liegt.
-
Ein zugeordnetes Verfahren umfasst, dass ein Abfragedatenpunkt mittels eines Sender-Empfängers von einer Eingabeeinrichtung empfangen wird, nachdem zuerst der vorstehend beschriebene KD-Farn konstruiert wurde. Der Prozessor erzeugt unabhängig für jeden Knoten des KD-Farns ein binäres (0- oder 1-)Bit, das jeweilige Entscheidungen mit Schwellenwertvergleich für diesen speziellen Knoten beschreibt, und er ordnet jeder von einer Vielzahl von binären Adressen in der binären Abbildung einen entsprechenden Index eines nächsten Nachbarn zu, d.h., dass der nächste Nachbar für einen beliebigen Punkt mit einer gegebenen binären Adresse identifiziert wird. Das Verfahren umfasst auch, dass die binäre Adresse des Abfragepunkts ermittelt wird und dass ein Ergebnis des nächsten Nachbarn mittels des Sender-Empfängers zurückgegeben wird, indem der entsprechende nächste Nachbar für den Abfragepunkt anhand der binären Abbildung entnommen wird.
-
Eine Variante des vorliegenden Ansatzes mit zufällig angeordneten KD-Farnen wird ebenso hierin offenbart. Bei diesem alternativen Ansatz werden mehrere solche KD-Farne zufällig a priori erzeugt, und sie geben zusammen mehrere Kandidatenknoten für einen näherungsweisen nächsten Nachbarn zurück. Bei dieser Variante wird, anstatt dass die Teilungsdimension gemäß einer maximalen mittleren Varianz ausgewählt wird, eine feste Anzahl von Dimensionen mit einer maximalen Varianz in Betracht gezogen, und die Teilungsdimension wird unter diesen zufällig ausgewählt. Ein näherungsweise nächster Nachbar wird zurückgegeben, indem die Anzahl der betrachteten Blätter unter den verschiedenen KD-Farnen begrenzt wird.
-
Es wird hierin ebenso ein erfindungsgemäßes Fahrzeug offenbart, das einen Controller, eine Digitalkamera und das System umfasst, das vorstehend beschrieben ist. Die Kamera ist die Eingabeeinrichtung für das System. Der Sender-Empfänger gibt das Ergebnis des nächsten Nachbarn für einen Abfragepunkt an den Controller zurück, nachdem diese Information anhand der binären Abbildung entnommen wurde. Der Controller, beispielsweise ein Brems-, Lenkungs- oder Karosseriesteuermodul, führt eine Steuerungsmaßnahme bezogen auf eine Eigenschaft des Fahrzeugs in Ansprechen auf das zurückgegebene Ergebnis des nächsten Nachbarn aus. Das System, das in dem Fahrzeug verwendet wird, kann bei einer möglichen Ausführungsform den Ansatz mit zufällig angeordneten KD-Farnen verwenden.
-
Die vorstehenden Merkmale und Vorteile sowie andere Merkmale und Vorteile der vorliegenden Erfindung werden anhand der nachfolgenden ausführlichen Beschreibung der besten Weisen zum Ausführen der Erfindung leicht ersichtlich, wenn die Beschreibung mit den begleitenden Zeichnungen in Verbindung gebracht wird.
-
Figurenliste
-
- 1 ist eine schematische Darstellung eines beispielhaften Systems zum Ausführen der auf KD-Farnen basierenden Technik zur Suche nächster Nachbarn (NN-Suchtechnik) der vorliegenden Erfindung.
- 2 ist eine schematische Darstellung von beispielhaften Eingabedaten für das System von 1 in der Form eines Trainingsbildes, das ein ausgewähltes Erscheinungsfragment aufweist.
- 3 ist eine schematische Darstellung einer beispielhaften zweidimensionalen Raumteilung unter Verwendung von KD-Farnen im Gegensatz zu einer Teilung, die unter Verwendung von KD-Bäumen bereitgestellt wird.
- 4 ist ein schematisches Flussdiagramm, das die Anwendung der Technik mit KD-Farnen beschreibt.
- 5 ist eine schematische Darstellung eines beispielhaften Fahrzeugs mit dem System von 1, welche einige mögliche Anwendungen des Ansatzes mit KD-Farnen zeigt, wie er hierin dargelegt ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Unter Bezugnahme auf die Zeichnungen, in denen sich gleiche Bezugszeichen überall in den verschiedenen Ansichten auf die gleichen oder ähnliche Komponenten beziehen, zeigt 1 schematisch ein beispielhaftes System 10. Das System 10 ist ausgebildet, um einen Code von einem zugreifbaren, nichtflüchtigen und computerlesbaren Medium oder Speicher (MEM) mittels einer zentralen Verarbeitungseinheit (CPU) auszuführen, um dadurch die Suchgeschwindigkeit von teilebasierten Objektdetektionsverfahren zu verbessern. Der Ansatz mit KD-Farnen wird nachstehend unter Bezugnahme auf 2 - 4 im Detail beschrieben, wobei beispielhafte Fahrzeuganwendungen für das System 10 unter Bezugnahme auf 5 dargelegt sind.
-
Das System, das in 1 gezeigt ist, kann als ein oder mehrere Computer mit einem Speicher verkörpert werden, für den der computerlesbare, zugreifbare und nichtflüchtige Speicher (MEM) ein Beispiel ist. Beispiele des Speichers (MEM) können einen Festwertspeicher (ROM), einen optischen Speicher, ein Flash-Memory und dergleichen umfassen. Das System 10 kann auch einen flüchtigen Speicher umfassen, wie beispielsweise einen Arbeitsspeicher (RAM) und einen löschbaren, elektrisch programmierbaren Festwertspeicher (EEPROM). Eine Datenbank (DB) der Referenz-Trainingspunkte und eine binäre Abbildung (M), die beide nachstehend in weiterem Detail beschrieben sind, sind in das System 10 eingebunden oder auf andere Weise für die CPU bei der Ausführung der hierin offenbarten Technik mit KD-Farnen zugreifbar. Eine zugeordnete Hardware kann ebenso in das System eingebunden sein, wie beispielsweise ein Hochgeschwindigkeitstaktgeber, Schaltungen zur Analog-Digital-Umwandlung (A/D), Schaltungen zur Digital-Analog-Umwandlung (D/A) und beliebige, erforderliche Eingabe/Ausgabe-Schaltungen und -Einrichtungen (I/O), einschließlich eines Sender-Empfängers (T), wie er gezeigt ist, und auch eine Signalkonditionierungs- und eine Pufferelektronik.
-
Der Sender-Empfänger (T) kann verwendet werden, um Eingabedaten (Pfeil 12) von einer Eingabequelle 14 zu empfangen, beispielsweise ein digitales Bild 12A, wie es in 2 gezeigt und nachstehend beschrieben ist. Bei einer solchen Ausführungsform kann ein Rohbild (Pfeil 11) eines Objekts 15 durch eine Eingabequelle 14 erfasst werden, welches ebenso in 2 gezeigt ist, wobei die Eingabequelle 14 beispielsweise ein Sichtsystem in der Form einer elektrooptischen oder Infrarotkamera ist. Obgleich Bild- oder andere Mustererkennungsanwendungen besonders gut für die vorliegende Technik mit KD-Farnen geeignet sind, sind die Eingabedaten (Pfeil 12) nicht auf die Bild- oder Mustererkennung beschränkt. Fachleute werden einsehen, dass die Technik mit KD-Farnen verwendet werden kann, um die Geschwindigkeit verschiedener anderer teilebasierter Objektdetektionsverfahren zu verbessern, oder tatsächlich bei einem beliebigen Problem, bei dem die Suche nächster Nachbarn (NN-Suche) üblicherweise verwendet wird, wobei ein Ausgabesignal (Pfeil 16) den nächsten Nachbarn identifiziert, der als ein Ergebnis der NN-Suche mit KD-Farnen bereitgestellt wird.
-
Unter Bezugnahme auf 2 ist eine nicht einschränkende beispielhafte Anwendung für die Technik mit KD-Farnen eine solche, bei der ein Muster in den Eingabedaten (Pfeil 12) von 1 analysiert wird. In diesem Fall wird das digitale Bild 12A, das aus mehreren Pixeln 13 besteht, des Objekts 15 erfasst, beispielsweise eines Fahrzeugs, eines Fahrers, eines Hindernisses oder eines beliebigen anderen Merkmals, das erkannt werden soll. Ein Bildfragment 17 wird von dem digitalen Bild 12 entnommen und mittels des Systems 10 von 1 verarbeitet, um den nächsten Nachbarn für einen gegebenen Abfragepunkt bezüglich mehrerer Kandidatenpunkte in einem Trainingssatz zu finden. Der Trainingssatz bildet einen Referenzsatz solcher Datenpunkte und kann in der Datenbank (DB) von 1 enthalten sein.
-
Die Technik mit KD-Farnen schreitet in zwei Stufen voran: (I) Konstruktion der KD-Farne, die a priori vor dem Empfangen eines Abfragepunkts erfolgt, und (II) NN-Suche mit KD-Farnen. Allgemein ausgedrückt umfasst Stufe I das Aufbauen der Datenbank (DB) von 1 mit verschiedenen Datenpunkten (p) in einem n-dimensionalen Raum. Das System 10 verwendet anschließend seine Hardware und seine zugeordnete Logik, um einen oder mehrere KD-Farne aus dem n-dimensionalen Raum als einen Typ eines Entscheidungsbaums zu konstruieren, wie es nachstehend unter Bezugnahme auf 3 und 4 beschrieben ist. Das System 10 erhält einen Abfragepunkt, beispielsweise einen Datenpunkt, der vom Inneren des Bildfragments 17 entnommen wird, das in 2 gezeigt ist, und es findet anschließend schnell den nächstgelegenen Datenpunkt in der Datenbank (DB) von 1 unter Verwendung des vorkonstruierten KD-Farns bzw. der vorkonstruierten KD-Fame von Stufe I.
-
Anders als bestehende NN-Suchtechniken, die KD-Bäume umfassen, ermöglicht die Technik mit KD-Farnen der vorliegenden Erfindung, dass jedes Bit für die verschiedenen NN-Entscheidungen unabhängig ermittelt wird. Bei KD-Bäumen muss man zuerst die Ergebnisse des ersten Bitvergleichs kennen, der ermittelt wird, um weiter fortzufahren, eine Anforderung, welche die Technik mit KD-Bäumen verlangsamen kann, wenn diese in größeren Datensätzen verwendet wird. Der vorliegende Ansatz mit KD-Farnen ermöglicht einem Benutzer auch, auf die zuvor bestückte binäre Abbildung (M) nur einmal zuzugreifen, um das Ergebnis des nächsten Nachbarn für einen gegebenen Abfragepunkt zu ermitteln. Die Technik mit KD-Farnen gibt einfach eine Liste von Dimensionen (V) und entsprechenden Schwellenwerten (τ) aus, und es berechnet für einen gegebenen Abfragepunkt schnell dessen Lage innerhalb des KD-Farns, um dadurch den nächsten Nachbarn zu ermitteln.
-
Das exakte NN-Suchproblem kann prägnant wie folgt dargelegt werden: Wenn eine Datenbank mit Datenpunkten P ⊂ ℜk und ein Abfragevektor q ∈ ℜk gegeben sind, finde arg min p∈P ||q - p||. Wie es in der Technik wohlbekannt ist, erzeugt die Datenstruktur mit KD-Bäumen einen ausgeglichenen binären Baum, der als „Blätter“ des KD-Baums die verschiedenen Trainingspunkte in einer bestückten Datenbank enthält. Jeder „Knoten“ des Baums spezifiziert einen Index für seine Teilungsdimension d ∈ {1, ... k} und einen Schwellenwert τ, der den Teilungswert definiert. Auf diese Weise wird ein n-dimensionaler Raum geteilt, wobei ein Beispiel in 3 gezeigt und nachstehend erläutert ist.
-
Wenn eine Abfrage q gegeben ist, wobei q(d) dessen d-te Abfrage bezeichnet, wird ein KD-Baum auf eine Weise „von Ursprung zum Blatt“ durchlaufen, indem an jedem Knoten der binäre Wert von q(d) > τ berechnet wird und indem anschließend der Zweig auf der rechten Seite bei einem Wert von 1 und der Zweig auf der linken Seite bei einem Wert von 0 verfolgt wird. Sobald ein Blatt-Datensatzpunkt erreicht wird, wird dessen Abstand zu der Abfrage berechnet und gespeichert. Optional kann jeder durchlaufene Knoten, der durch d, τ definiert ist, in eine „Prioritätsschlange“ mit einem Schlüssel eingefügt werden, der gleich dessen Distanz zu der Abfrage ist: |q(d) - τ). Nachdem ein Blatt erreicht ist, wird die Suche mit KD-Bäumen fortgesetzt, indem in dem Baum von dem Knoten mit dem minimalen Schlüssel in der Prioritätsschlange abgestiegen wird. Die Suche wird gestoppt, wenn der minimale Schlüssel in der Prioritätsschlange größer als der minimale gefundene Abstand ist, wodurch sichergestellt wird, dass ein exakter nächster Nachbar zurückgegeben wird.
-
Die Technik mit KD-Farnen, die durch das System 10 von 1 ausgeführt wird, weicht von diesem bestehenden Ansatz mit KD-Bäumen in bestimmten kritischen Aspekten ab, die nun unter Bezugnahme auf die zwei allgemeinen Stufen I und II erläutert werden, die vorstehend erwähnt wurden.
-
Stufe I: Der Algorithmus zur Konstruktion von KD-Farnen
-
In dem Speicher (MEM) des Systems 10 von 1 kann als Teil der Stufe I der gegenwärtig offenbarten Technik mit KD-Farnen die folgende Logik zur Ausführung bei einer beliebigen nachfolgenden NN-Suche aufgezeichnet sein:
- Eingabe: ein Datensatz,
- Ausgabe: ((d1, τ1),.... (dL,τL)): ein geordneter Satz von Teilungsdimensionen und Schwellenwerten, dI ∈ {1...n.}, τ1 ∈ ℜ
- Initialisierung: I = 0(Ursprungsniveau). Für jeden Datensatzpunkt p ∈ P repräsentiert die binäre Zeichenkette B(p) mit der Länge I den Pfad zu dessen gegenwärtiger Blattposition in dem konstruierten binären Baum. Anfänglich ist ∀p.B(p) = ϕ.
- Bezeichnungen: NB(b) = |{p|B(p) = b|}| ist dieselbe Anzahl von Punkten in dem Blatt mit der binären Darstellung b. p(d) ∈ ℜ ist der Eintrag d des Punktes p. Solange ∃p,q, so dass: p ≠ q und B(p)=B(q), ist auszuführen:
- (1) Wähle die Teilungsdimension mit maximaler mittlerer Varianz über die gegenwärtigen Blätter:
- (2) Setze Max_Entropy = 0
- (3) Für jedes τ ∈ p(dl+1 )|p ∈ P }
- a.
- b.
- c. Wenn (Entropy > Max_Entropy), setze τ|+1 = τ, setze B=B'.
- d.
-
Der vorstehende Ansatz ermöglicht, dass der KD-Farn a priori anhand der Datenbank (DB) der Punkte konstruiert wird, d.h. vor dem Empfang beliebiger Abfragen. Das heißt, dass das System von 1 dann, sobald die Datenbank (DB) erzeugt worden ist, den KF-Farn bzw. die KF-Farne konstruieren kann, die bei beliebigen späteren NN-Suchanwendungen verwendet werden sollen.
-
KD-Farne stellen auf effektive Weise eine Variante der zuvor erwähnten Suche mit KD-Bäumen mit der folgenden Eigenschaft bereit: Alle Knoten auf demselben Niveau oder mit derselben Tiefe des KD-Farns weisen dieselbe Teilungsdimension d und denselben Schwellenwert t auf. Die Suche kann aufgrund ihrer beschränkten Form effizienter als eine Suche mit einem KD-Baum implementiert werden. Ein KD-Farn mit einer maximalen Tiefe L kann durch eine geordnete Liste von Dimensionsindizes und Schwellenwerten repräsentiert werden, ((d1 , τ1 ) , ... , (dL, xL)). Somit kann die Ausgabe des KD-Farns eine Liste von Dimensionen und Schwellenwerten umfassen.
-
Wie bei dem Ansatz mit KD-Bäumen wird jeder Datensatzpunkt in ein Baumblatt eingefügt. Für einen Datensatzpunkt oder Knoten p ist B(p) eine binäre Zeichenkette, die dessen Baumposition definiert. Die Technik mit KD-Farnen der vorliegenden Erfindung, wie sie durch das System 10 von 1 ausgeführt wird, zieht eine inverse Abbildung, d.h. die Abbildung (M) in 1 und 4 und in den nachstehend auftretenden Formeln, von binären Zeichenketten mit der Länge <=L auf alle Punkte in P in Betracht. Die Domäne der Abbildung (M) kann für alle binären Zeichenketten der Länge L umgeformt werden, indem kürzere Zeichenketten mit allen möglichen Suffixen verkettet werden und indem diese auf denselben Knoten p abgebildet werden. Wenn eine Abfrage p gegeben ist, wird deren binäre Zeichenkette B(q) erzeugt, indem diese mit jedem Eintrag in der Liste verglichen wird, d.h. B(q) = ((q(d1) > τ1),...,(q(dL) > τL)). p = M (B(q)) ist der Datensatzpunkt in dem Blatt, der mit der Abfrage q erreicht wird.
-
Für ausreichend kleine Datensatzgrößen |P| kann die gesamte Abbildung (M) in dem Speicher (MEM) von 1 gespeichert werden, wie beispielsweise in einer Nachschlagetabelle mit 2L Einträgen, und die Berechnung der inversen Abbildung kann durch einen einzigen Zugriff auf diese Nachschlagetabelle ausgeführt werden. Eine Prioritätsschlange kann ebenso effizient unter der Verwendung bekannter Bin-Sortiertechniken aufgrund der begrenzten Anzahl L von möglichen Werten implementiert werden. Ein ausgeglichener Baum mit der Eigenschaft von KD-Farnen existiert jedoch nicht notwendigerweise, und daher ist die maximale Länge L nicht länger logarithmisch bezüglich |P|. Daher wird der Algorithmus zur Konstruktion von KD-Farnen benötigt, der vorstehend beschrieben ist.
-
Der ursprüngliche Algorithmus zur Konstruktion von KD-Bäumen wird rekursiv auf jeden Knoten p angewendet, wodurch der Datensatz auf die erzeugten Zweige aufgeteilt wird. Für einen gegebenen Knoten p wird die Teilungsdimension d mit der höchsten Varianz ausgewählt, und τ wird auf den Medianwert von p(d) für alle Datensatzpunkte in dem Knoten p gesetzt. Die Technik mit KD-Farnen, die vorstehend beschrieben ist, wählt sequentiell die Dimensionen und Schwellenwerte auf einem Niveau unter Verwendung einer „gierigen Strategie“ aus. Das heißt, dass auf jedem Niveau die Teilungsdimension ausgewählt wird, um die bedingte Varianz zu maximieren, die über alle vorliegenden Knoten für eine zunehmende Diskriminierung gemittelt wird. Der Teilungsschwellenwert (T) wird anschließend derart ausgewählt, dass der resultierende, dazwischenliegende Baum so ausgeglichen wie möglich ist, indem das Entrophiemaß der Verteilung der Datensatzpunkte nach der Aufteilung maximiert wird.
-
Variante mit zufällig angeordneten KD-Farnen
-
Unter kurzer Bezugnahme auf 3 ist die resultierende Aufteilung 22 des Datenraums für KD-Farne (KDF) für einen beispielhaften Datensatz mit sechs Punkten (p) in einem 2-dimensionalen Raum, d.h. für n = 2, entlang einer Teilung mit einem KD-Baum (KDT) gezeigt. Der Ansatz mit KD-Farnen teilt den Dimensionsraum in Orthotope oder Hyper-Rechtecke 25. Gemäß einer Analogie zu zufällig angeordneten KD-Bäumen kann man beispielsweise die vorliegende offenbarte Technik auf zufällig angeordnete KD-Farne ausdehnen, bei welcher verschiedene KD-Farne konstruiert werden. Anstatt die Teilungsdimension gemäß der maximalen mittleren Varianz auszuwählen, wird eine feste Anzahl von Dimensionen Kd mit maximaler Varianz in Betracht gezogen, und die Teilungsdimension (dl) wird zufällig unter diesen ausgewählt. Ein näherungsweise nächster Nachbar wird ausgegeben, indem die Anzahl von betrachteten Blättern begrenzt wird, von denen alle in der Logik des Systems 10 von 1 oder in einem anderen, auf eine ähnliche Weise konstruierten System auftreten können.
-
Stufe II: Suche nächster Nachbarn unter Verwendung von KD-Farnen
-
Unter Bezugnahme auf 4 kann eine Anwendung des konstruierten KD-Farns schematisch bezogen auf einige Stichprobenknoten P1, P2 und P3 dargestellt werden. Das Weitergehen abwärts in dem KD-Farn von dessen Ursprungsknoten P1 ist eine Frage des Vergleichs jeder Dimension (V) der Aufteilung 22, die in 3 gezeigt ist, mit einem gegebenen Schwellenwert (τ1) und des Zugreifens auf die Abbildung oder die binäre Zuordnung (M) von 1 (Pfeil 27), um den entsprechenden Index (INN) des nächsten Nachbarn zu finden. Als Teil der vorstehend beschriebenen Konstruktion zeichnet das System 10 von 1 an jedem Knoten (P) eine binäre Zeichenkettenadresse (Ad) in der binären Abbildung (M) auf. Die Adresse (Ad) der Zeichenkette repräsentiert das Ergebnis an einem inneren Knoten, hier (P1), d.h. an dem unmittelbar zuvor gesuchten Knoten, und der Abstand zu dem Schwellenwert (τ) wird als ein Index (INN) des nächsten Nachbarn erfasst. Der Index (INN) des nächsten Nachbarn identifiziert den nächsten Punkt in der Datenbank (DB) von 1 bezogen auf den Abfragepunkt, d.h. den spezifischen Punkt, der überprüft wird.
-
Unter Bezugnahme auf 5 stellt die Technik mit KD-Farnen, die vorstehend beschrieben ist, einen Ansatz zum Erhöhen der Verarbeitungsgeschwindigkeit in verschiedenen Anwendungen bereit, einschließlich Techniken zur Echtzeit-Mustererkennung. Dies kann beispielsweise bei der Echtzeitdetektion oder Echtzeiterkennung von Objekten unter Verwendung von Computervisions-Technologien besonders nützlich sein. Bei einem möglichen Satz von Anwendungen kann das System 10 von 1 beispielsweise in einem Fahrzeug 50 eingebunden sein. Das Objekt 15 kann bei diesem Beispiel ein Hindernis auf der Fahrbahn sein, wobei ein Fahrzeugcontroller 60 ein Ausgabesignal (Pfeil 16) von dem System 10 als ein Eingabesignal empfängt, das eine geeignete Steuerungsmaßnahme bezogen auf das Fahrzeug 50 auslöst.
-
Beispielhafte Fahrzeugcontroller 60 können einen Controller für ein Antiblockiersystem umfassen, der ein Bremsdrehmoment (TB) automatisch an Bremsaktuatoren 56 und/oder für Fahrzeugbremsen anweist, um das Fahrzeug 10 zu verlangsamen. Auf ähnliche Weise könnte der Fahrzeugcontroller 60 ein Lenksystemcontroller sein, der ein Lenkdrehmoment (Ts) an einen Lenkungsmotor 55 anweist, um dadurch zu bewirken, dass das Fahrzeug 50 dem Objekt 15 ausweicht, z.B. bei einem autonomen Fahrzeug.
-
Bei einer noch anderen Ausführungsform kann der Fahrzeugcontroller 60 von 5 ein Karosseriesteuerungsmodul des Fahrzeugs 50 sein, welches das Ausgabesignal (Pfeil 16) von dem System 10 nach einer Betrachtung des Fahrers des Fahrzeugs 50 empfangen kann, d.h. des Objekts 15, das mit gestrichelten Linien in 5 gezeigt ist, wobei der Fahrer anhand einer Population von möglichen Fahrern automatisch mittels der vorstehenden NN-Suchtechnik mit KD-Farnen identifiziert wird. Das Karosseriesteuermodul kann anschließend verschiedene anpassbare Einstellungen in dem Fahrzeug 50 automatisch einstellen, z.B. Sitz-, Pedal- oder Spiegelpositionen, Radioeinstellungen, HVAC-Einstellungen und dergleichen. Andere Ausführungsformen, sowohl für Fahrzeuge als auch Nicht-Fahrzeuge, können in Betracht gezogen werden, ohne von dem beabsichtigten erfindungsgemäßen Umfang abzuweichen.
-
Obgleich die besten Weisen zum Ausführen der Erfindung im Detail beschrieben wurden, werden Fachleute, welche diese Erfindung betrifft, verschiedene altemative Konstruktionen und Ausführungsformen zum Ausüben der Erfindung innerhalb des Umfangs der beigefügten Ansprüche erkennen.