-
INFORMATIONEN ÜBER VERWANDTE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der vorläufigen Anmeldung Nr. 62/250.877, eingereicht am 4. November 2015, die hier durch Bezugnahme vollständig mit aufgenommen ist.
-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf die Bildbearbeitung und spezieller auf das durchgehende vollständig konvolutionelle Erlernen von Merkmalen für geometrische und semantische Übereinstimmungen, ohne jedoch darauf eingeschränkt zu sein.
-
Beschreibung des Standes der Technik
-
In einem Problem der visuellen Übereinstimmung ist eine Menge von Bildern gegeben, die einen überlappenden 3D-Bereich enthalten, wobei gefordert ist, die Stelle der Projektion der 3D-Punkte in allen Bildern zu finden. Dieses Problem ergibt sich in einigen Computer-Sichtanwendungen einschließlich sowohl der Stereodisparität, der Struktur aus der Bewegung, der Panoramazusammenfügung, der Bilddarstellung, der Bildwiedergewinnung als auch komplizierterer Aufgaben, wie z. B. der Klassifikation und der Detektion.
-
Um das Problem der visuellen Übereinstimmung zu lösen, sind viele von Hand entworfene Merkmale vorgeschlagen worden. In letzter Zeit sind viele Forscher mit dem Aufkommen eines leistungsfähigen neuronalen Konvolutionsnetzes (CNN) mit diesem neuen Werkzeug zu dem Problem zurückgekehrt. Anstatt des Erlernens von Merkmalen kann das CNN eine durchgehende Klassifikation der Fleckähnlichkeit ausführen.
-
Sobald das CNN trainiert ist, werden die Merkmale einer dazwischenliegenden Faltungsschicht als ein niedrigdimensionales Merkmal verwendet. Die dazwischenliegenden konvolutionellen Merkmale sind jedoch nicht für die Aufgabe der visuellen Übereinstimmung optimiert. Die Merkmale werden für eine Surrogat-Zielfunktion (die Fleckähnlichkeit) trainiert, wobei die dazwischenliegenden Merkmale nicht notwendigerweise einen metrischen Raum bilden, der für das Ausführen einer visuellen Übereinstimmung förderlich ist. Zusätzlich ist die Fleckähnlichkeit inhärent ineffizient und langsam. Weil sie ein fleckbasiertes Verfahren ist, müssen die Merkmale sogar für die überlappenden Bereiche abermals extrahiert werden. Sie erfordert außerdem O(n2) Vorsteuerungs-Durchgänge, um jeden der n Flecken mit n anderen Flecken in einem anderen Bild zu vergleichen. Dennoch ist die fleckbasierte Ähnlichkeit aus mehreren Gründen ein bevorzugtes Verfahren gewesen. Weil zuerst alle Maßstäbe nur eine Bildfleckähnlichkeit erfordern, würde das Optimieren des Systems für die Fleckähnlichkeit (Fleckklassifikation) bessere Ergebnisse als das Erlernen eines metrischen Raums (das Erlernen einer Metrik) liefern. Weil das neuronale Netz beim Abstrahieren feiner Einzelheiten gut ist, ist das CNN ein geeignetes Werkzeug zum Messen einer globalen Ähnlichkeit.
-
ZUSAMMENFASSUNG
-
Es wird ein System eines neuronalen Konvolutionsnetzes und ein Trainingsverfahren für die visuelle Übereinstimmung dargestellt. Das System setzt ein Bild in dichte Merkmale um, die für verschiedene Übereinstimmungsaufgaben verwendet werden können. Der Merkmalsraum erzeugt einen metrischen Raum, in dem eine Abstandsoperation eine visuelle Ähnlichkeit erfasst. Das System ist vollständig konvolutionell und kann Merkmale für eine Eingabe in beliebiger Größe erzeugen und erlaubt eine effiziente Merkmalsextraktion. Um das Netz zu trainieren, werden ein aktives hartes negatives Gewinnen mit dem Erlernen einer Metrik verwendet.
-
Es wird ein computerimplementiertes Verfahren zum Trainieren eines neuronalen Konvolutionsnetzes (CNN) dargestellt. Das Verfahren enthält das Extrahieren der Koordinaten entsprechender Punkte an der ersten und der zweiten Stelle, das Identifizieren positiver Punkte an der ersten und der zweiten Stelle, das Identifizieren negativer Punkte an der ersten und der zweiten Stelle, das Trainieren von Merkmalen, die den positiven Punkten der ersten und der zweiten Stelle entsprechen, um sie näher zueinander zu bewegen, und das Trainieren der Merkmale, die den negativen Punkten an der ersten und der zweiten Stelle entsprechen, um sie voneinander weg zu bewegen.
-
Es wird ein System zum Trainieren eines neuronalen Konvolutionsnetzes (CNN) dargestellt. Das System enthält einen Speicher und einen Prozessor, der mit dem Speicher in Verbindung steht, wobei der Prozessor konfiguriert ist, um die Koordinaten der entsprechenden Punkte an der ersten und der zweiten Stelle zu extrahieren, die positiven Punkte an der ersten und der zweiten Stelle zu identifizieren, die negativen Punkte an der ersten und der zweiten Stelle zu identifizieren, die Merkmale, die den positiven Punkten der ersten und der zweiten Stelle entsprechen, zu trainieren, um sie näher zueinander zu bewegen, und die Merkmale, die den negativen Punkten an der ersten und der zweiten Stelle entsprechen, zu trainieren, um sie voneinander weg zu bewegen.
-
Es wird ein Nichttransitorisches computerlesbares Speichermedium, das ein computerlesbares Programm zum Trainieren eines neuronalen Konvolutionsnetzes (CNN) umfasst, dargestellt, wobei das computerlesbare Programm, wenn es in einem Computer ausgeführt wird, den Computer veranlasst, die Schritte des Extrahierens der Koordinaten entsprechender Punkte an der ersten und der zweiten Stelle, des Identifizierens positiver Punkte an der ersten und der zweiten Stelle, des Identifizierens negativer Punkte an der ersten und der zweiten Stelle, des Trainierens von Merkmalen, die den positiven Punkten der ersten und der zweiten Stelle entsprechen, um sie näher zueinander zu bewegen, und des Trainierens der Merkmale, die den negativen Punkten an der ersten und der zweiten Stelle entsprechen, um sie voneinander weg zu bewegen, auszuführen.
-
Diese und andere Merkmale und Vorteile werden aus der folgenden ausführlichen Beschreibung ihrer veranschaulichenden Ausführungsformen offensichtlich, die im Zusammenhang mit den beigefügten Zeichnungen gelesen werden soll.
-
Figurenliste
-
Die Offenbarung stellt Einzelheiten in der folgenden Beschreibung bevorzugter Ausführungsformen bezüglich der folgenden Figuren bereit, worin:
- 1 ein vollständiges neuronales Konvolutionsnetz, das eine Folge von Faltungen und einen räumlichen Faltungstransformator enthält, gemäß den Ausführungsformen der vorliegenden Erfindung ist;
- 2 eine graphische Darstellung, die den entsprechenden kontrastiven Verlust veranschaulicht, gemäß den Ausführungsformen der vorliegenden Erfindung ist;
- 3 ein räumlicher Faltungstransformator gemäß den Ausführungsformen der vorliegenden Erfindung ist;
- 4 ein Blockschaltplan/Ablaufplan eines Verfahrens zum Trainieren eines neuronalen Konvolutionsnetzes (CNN) gemäß den Ausführungsformen der vorliegenden Erfindung ist; und
- 5 ein Blockschaltplan eines Verarbeitungssystems gemäß den Ausführungsformen der vorliegenden Erfindung ist.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die Übereinstimmungsschätzung ist das Arbeitspferd, das mehrere fundamentale Probleme in der Computersicht betreibt, wie z. B. die 3D-Rekonstruktion, die Bildwiedergewinnung oder die Objekterkennung. Die Anwendungen, wie z. B. die Struktur aus der Bewegung oder die Panoramazusammenfügung, die eine Sub-Bildpunkt-Genauigkeit verlangen, stützen sich auf spärliche Übereinstimmungen entscheidender Punkte unter Verwendung von Deskriptoren. In anderen Fällen werden dichte Übereinstimmungen in der Form von Stereodisparitäten, eines optischen Flusses oder dichter Trajektorien für Anwendungen, wie z. B. die Oberflächenrekonstruktion, die Verfolgung, die Videoanalyse oder die Stabilisierung, verwendet. In noch anderen Szenarios werden Übereinstimmungen nicht zwischen den Projektionen desselben 3D-Punkts in verschiedenen Bildern, sondern zwischen semantischen Analoga über verschiedene Instanzen innerhalb einer Kategorie, wie z. B. der Schnäbel verschiedener Vögel oder der Scheinwerfer von Autos, gesucht. Folglich überspannt die Vorstellung der Schätzung einer visuellen Übereinstimmung in ihrer allgemeinsten Form den Bereich von dem Abgleich von Merkmalen auf unterster Ebene bis zum Objekt- oder Szenenverständnis auf hoher Ebene.
-
Herkömmlich stützt sich die Übereinstimmungsschätzung auf von Hand entworfene Merkmale oder bereichsspezifische Vorränge. In den letzten Jahren hat es ein zunehmendes Interesse am wirksamen Einsetzen der Leistung neuronaler Konvolutionsnetze (CNNs) gegeben, um visuelle Übereinstimmungen zu schätzen. Ein siamesisches Netz kann z. B. ein Paar von Bildflecken nehmen und ihre Ähnlichkeit als die Ausgabe erzeugen. Die Aktivierungen dazwischenliegender Faltungsschichten von den obigen CNNs sind außerdem als generische Merkmale anwendbar.
-
Derartige dazwischenliegende Aktivierungen sind jedoch nicht für die Aufgabe der visuellen Übereinstimmung optimiert. Derartige Merkmale werden für eine Surrogat-Zielfunktion (eine Fleckähnlichkeit) trainiert und bilden nicht notwendigerweise einen metrischen Raum für die visuelle Übereinstimmung, wobei folglich irgendwelche Metrikoperationen, wie z. B. der Abstand, keine explizite Interpretation aufweisen. Zusätzlich ist die Fleckähnlichkeit inhärent ineffizient, weil die Merkmale sogar für überlappende Bereiche innerhalb der Flecken extrahiert werden müssen. Ferner erfordert sie O(n2) Vorsteuerungs-Durchgänge, um jeden von n Flecken mit n anderen Flecken in einem anderen Bild zu vergleichen.
-
Im Gegensatz dazu stellen die beispielhaften Ausführungsformen das universelle Übereinstimmungsnetz (UCN) dar, einen CNN-basierten generischen unterscheidenden Rahmen, der sowohl geometrische als auch semantische visuelle Übereinstimmungen erlernt. Im Unterschied zu vielen vorhergehenden CNNs für die Fleckähnlichkeit verwenden die beispielhaften Ausführungsformen das tiefgehende metrische Lernen, um die Abbildung oder das Merkmal direkt zu erlernen, die bzw. das die Ähnlichkeit (entweder die geometrische oder die semantische) für die generischen Übereinstimmungen bewahrt. Die Abbildung ist folglich gegen projektive Transformationen, Variationen der Form oder des Aussehens innerhalb der Klasse oder irgendwelche andere Variationen, die für die betrachtete Ähnlichkeit irrelevant sind, invariant. Die beispielhaften Ausführungsformen schlagen einen neuartigen kontrastiven Übereinstimmungsverlust vor, der ein schnelleres Training durch das effiziente gemeinsame Benutzen der Berechnungen und das effektive Codieren der Nachbarschaftsbeziehungen in dem Merkmalsraum ermöglicht. Zum Testzeitpunkt verringert sich die Übereinstimmung auf eine Suche nächster Nachbarn im Merkmalsraum, was effizienter als die Auswertung paarweiser Fleckähnlichkeiten ist.
-
Das UCN ist vollständig konvolutionell, was eine effiziente Erzeugung dichter Merkmale erlaubt. Die beispielhaften Ausführungsformen schlagen eine fliegende aktive harte negative Gewinnungsstrategie für ein schnelleres Training vor. Zusätzlich schlagen die beispielhaften Ausführungsformen eine neuartige Anpassung des räumlichen Transformators, der als der räumliche Faltungstransformator bezeichnet wird, vor, der entworfen ist, um die Merkmale für spezielle Familien von Transformationen invariant zu machen. Durch das Erlernen optimaler Merkmalsräume, die affine Transformationen kompensieren, gewährt der räumliche Faltungstransformator die Fähigkeit, die Fleckennormierung der Deskriptoren nachzuahmen.
-
Die Fähigkeiten des UCN werden mit einigen wichtigen früheren Herangehensweisen verglichen. Empirisch sind die von dem UCN erhaltenen Übereinstimmungen dichter und genauer als die meisten früheren Herangehensweisen, die für eine spezielle Aufgabe spezialisiert sind. Dies wird experimentell durch das Zeigen der Leistungen des Standes der Technik sowohl an der spärlichen SFM (Struktur aus der Bewegung) im KITTI (Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago) als auch der dichten geometrischen oder semantischen Übereinstimmungen sowohl an starren als auch nicht starren Körpern in verschiedenen anderen Datensätzen demonstriert.
-
Zusammengefasst schlagen die beispielhaften Ausführungsformen ein neuartiges durchgehendes System vor, das ein allgemeines Übereinstimmungsziel unabhängig vom Bereich mit den folgenden Hauptbeiträgen optimiert:
-
Ein tiefgehendes metrisches Lernen mit einem effizienten kontrastiven Übereinstimmungsverlust zum Erlernen einer Merkmalsdarstellung, die der Übereinstimmungsaufgabe entspricht.
-
Ein vollständiges Konvolutionsnetz für eine dichte und effiziente Merkmalsextraktion zusammen mit einer schnellen aktiven harten negativen Gewinnung.
-
Ein vollständiger räumlicher Faltungstransformator für die Flecknormierung.
-
Die Übereinstimmungen des Standes der Technik über die spärliche SFM, die dichte Übereinstimmung und die semantische Übereinstimmung, das Einschließen starrer Körper, nicht starrer Körper und der Variationen der Form und des Aussehens innerhalb der Klasse.
-
Nun wird ausführlich auf die Figuren, in denen gleiche Bezugszeichen die gleichen oder ähnlichen Elemente darstellen, und anfangs auf 1 Bezug genommen, in der ein vollständiges neuronales Konvolutionsnetz, das eine Folge von Faltungen und einen räumlichen Faltungstransformator enthält, gemäß den Ausführungsformen der vorliegenden Erfindung gezeigt ist.
-
Das Systemnetz 100 ist ein vollständiges Konvolutionsnetz, das aus einer Folge von Faltungen, um die Merkmals und rektifizierte lineare Einheiten (ReLU) zu erzeugen, und einem räumlichen Faltungstransformator, gefolgt von dem kontrastiven Übereinstimmungsverlust, besteht. Als die Eingaben nimmt das Netz 100 ein Paar von Bildern 110, 120 und die Koordinaten der entsprechenden Punkte in diesen Bildern. Die Merkmale, die den positiven Punkten (von beiden Bildern 110, 120) entsprechen, werden trainiert, um näher zueinander zu kommen, während die Merkmale, die den negativen Punkten entsprechen, trainiert werden, um sich voneinander weg zu bewegen. Das Netz 100 weist einen räumlichen Faltungstransformator 140 auf, der die Flecken normieren kann.
-
Die visuellen Merkmale bilden die grundlegenden Bausteine für viele Computer-Sichtanwendungen. Sorgfältig entworfene Merkmale und Kernverfahren haben viele Gebiete, wie z. B. die Struktur aus der Bewegung, die Objekterkennung und die Bildklassifikation, beeinflusst.
-
In letzter Zeit sind viele CNN-basierte Ähnlichkeitsmaße vorgeschlagen worden. In einem Beispiel kann ein siamesisches Netz verwendet werden, um die Fleckähnlichkeit zu messen. In den neuesten Arbeiten wird ein treibender Datensatz verwendet, um ein CNN für die Fleckähnlichkeit zu trainieren, während andere Arbeiten außerdem ein siamesisches Netz zum Messen der Fleckähnlichkeit für den Stereoabgleich verwenden. Ein an dem ImageNet im Voraus trainiertes CNN kann für eine visuelle und semantische Übereinstimmung analysiert werden. Die Übereinstimmungen werden in verschiedenen Arbeiten sowohl über das Aussehen als auch über eine globale Formdeformation durch das Ausnutzen der Beziehungen in feinkörnigen Datensätzen erlernt. Im Gegensatz erlernen die beispielhaften Ausführungsformen der vorliegenden Erfindung einen metrischen Raum, anstatt das Optimieren bezüglich der Fleckähnlichkeit, wobei sie eine vollständig konvolutionelle Architektur mit einem kontrastiven Übereinstimmungsverlust implementieren, die ein schnelleres Training und Testen erlaubt, und einen räumlichen Faltungstransformator für die lokale Flecknormierung vorschlagen.
-
Neuronale Netze werden zum Erlernen einer Abbildung verwendet, wobei der euklidische Abstand in dem Raum den semantischen Abstand bewahrt. Die Verlustfunktion zum Erlernen einer Ähnlichkeitsmetrik unter Verwendung siamesischer Netze kann anschließend formalisiert werden. In letzter Zeit wurde ein Triplettverlust für die feinkörnige Bildrangordnung verwendet, während der Triplettverlust außerdem für die Gesichtserkennung und die Clusterbildung verwendet wurde. Für das effiziente Training des Netzes können Ministapel verwendet werden.
-
Ein CNN ist gegen einige Typen von Transformationen, wie z. B. eine Translation und eine Skalierung, aufgrund der Faltungs- und Bündelungsschichten invariant. Die explizite Handhabung derartiger Invarianzen in den Formen einer Datenvermehrung oder einer expliziten Netzstruktur liefert jedoch eine höhere Genauigkeit in vielen Aufgaben. In letzter Zeit wurde ein räumliches Transformatornetz vorgeschlagen, um zu lernen, wie ein Objekt von Interesse zu vergrößern ist, ein Objekt von Interesse zu drehen ist oder beliebige Transformationen auf ein Objekt von Interesse anzuwenden sind.
-
Die vollständig verbundenen Schichten werden in 1 x 1-Faltungsfilter umgesetzt, um einen vollständig konvolutionellen Rahmen für die Segmentierung vorzuschlagen. Das Ändern eines regelmäßigen CNN in ein vollständiges Konvolutionsnetz für die Detektion führt zu Geschwindigkeits- und Genauigkeitsgewinnen.
-
Ähnlich zu diesen Arbeiten wird die Effizienz einer vollständig konvolutionellen Architektur durch die Wiederverwendung der Aktivierungen für überlappende Bereiche gewonnen. Weil ferner die Anzahl der Trainingsinstanzen viel größer als die Anzahl der Bilder in einem Stapel ist, wird folglich die Varianz in dem Gradienten verringert, was zu einem schnelleren Training und einer schnelleren Konvergenz führt.
-
2 ist eine graphische Darstellung, die den entsprechenden kontrastiven Verlust 200 gemäß den Ausführungsformen der vorliegenden Erfindung veranschaulicht.
-
Ein universelles Übereinstimmungsnetz (UCN) wird trainiert, um eine Abbildung direkt zu erlernen, die die Ähnlichkeit bewahrt, anstatt sich auf Surrogatmerkmale zu stützen. Es sind sowohl die vollständig konvolutionelle Art der Architektur, ein neuartiger kontrastiver Übereinstimmungsverlust für das schnellere Training und Testen, das aktive harte negative Gewinnen als auch der räumliche Faltungstransformator, der die Flecknormierung ermöglicht, dargestellt.
-
Um das Training zu beschleunigen und die Betriebsmittel effizient zu verwenden, implementieren die beispielhaften Ausführungsformen das vollständig konvolutionelle Erlernen von Merkmalen, was mehrere Vorteile aufweist. Zuerst kann das Netz einige der für die überlappenden Bereiche berechneten Aktivierungen wiederverwenden. Zweitens können mehrere tausend Übereinstimmungen für jedes Bildpaar trainiert werden, was dem Netz einen genauen Gradienten für das schnellere Lernen bereitstellt. Drittens ist das harte negative Gewinnen effizient und geradeaus, was anschließend erörtert wird. Viertens kann es ungleich der fleckbasierten Verfahren verwendet werden, um dichte Merkmale aus Bildern beliebiger Größen effizient zu extrahieren.
-
Während des Testens ist das vollständige Konvolutionsnetz ebenfalls schneller. Die fleckähnlichkeitsbasierten Netze erfordern O(n2) Vorsteuerungs-Durchgänge, wobei n die Anzahl der entscheidenden Punkte in jedem Bild ist, im Vergleich zu nur O(n) für dieses Netz. Es wird angegeben, dass das Extrahieren von Zwischenschichtaktivierungen als eine Surrogatabbildung eine vergleichsweise suboptimale Wahl ist, weil diese Aktivierungen an der Aufgabe der visuellen Übereinstimmung nicht direkt trainiert werden.
-
Das Erlernen eines metrischen Raums für die visuelle Übereinstimmung erfordert das Codieren entsprechender Punkte (in verschiedenen Ansichten), die auf Nachbarpunkte in dem Merkmalsraum abzubilden sind. Um die Beschränkungen zu codieren, wird eine Verallgemeinerung des kontrastiven Verlusts, die als der kontrastive Übereinstimmungsverlust bezeichnet wird, vorgeschlagen. Möge
l(x) das Merkmal im Bild l an der Stelle x = (x, y) bezeichnen. Die Verlustfunktion nimmt die Merkmale aus den Bildern l und l' an den Koordinaten x bzw. x' (
2). Falls die Koordinaten x und x' demselben 3D-Punkt entsprechen, wird das Paar als ein positives Paar verwendet, das unterstützt wird, so dass es im Merkmalsraum nah ist, wobei es andernfalls als ein negatives Paar verwendet wird, das unterstützt wird, so dass es wenigstens eine Spanne m getrennt ist. Ferner wird s = 0 für ein positives Paar bezeichnet, während s = 1 für ein negatives Paar bezeichnet wird. Der vollständige kontrastive Übereinstimmungsverlust ist gegeben durch:
-
Für jedes Bildpaar werden die Übereinstimmungen aus der Trainingsmenge abgetastet. Für einen KITTI-Datensatz können z. B. bis zu 100k Punkte in einem einzigen Bildpaar verwendet werden, falls jeder Laserabtastpunkt verwendet wird. In der Praxis werden jedoch 3k Übereinstimmungen verwendet, um den Speicherverbrauch zu begrenzen. Dies erlaubt genauere Gradientenberechnungen als der herkömmliche kontrastive Verlust, der ein Beispiel pro Bildpaar liefert. Es wird angegeben, dass die Anzahl der Vorsteuerungs-Durchgänge zum Testzeitpunkt O(n) im Vergleich zu O(n
2) für die Varianten siamesischer Netze beträgt. Die im Folgenden widergegebene Tabelle 2 fasst die Vorteile einer vollständig konvolutionellen Architektur mit dem kontrastiven Übereinstimmungsverlust zusammen.
Verfahren | Anzahl der Beispiele pro Bildpaar | Anzahl der Vorsteuerungen pro Test |
siamesisches Netz | 1 | O(N2) |
Triplettverlust | 2 | O(N) |
kontrastiver Verlust | 1 | O(N) |
kontrastiver Ubereinstimmungsverlust | > 103 | O(N) |
-
Der kontrastive Übereinstimmungsverlust in Gl. (1) besteht aus zwei Termen. Der erste Term minimiert den Abstand zwischen den positiven Paaren, während der zweite Term die negativen Paare schiebt, so dass sie wenigstens eine Spanne m voneinander entfernt sind. Folglich ist der zweite Term nur aktiv, wenn der Abstand zwischen den Merkmalen l(xi) und l'(x'i) kleiner als die Spanne m ist. Eine derartige Grenze definiert den metrischen Raum, daher ist es wichtig, die Negativen zu finden, die die Beschränkung verletzen, und das Netz zu trainieren, um die Negativen wegzuschieben. Zufällige negative Paare tragen jedoch nicht zum Training bei, weil sie sich im Allgemeinen in einem Einbettungsraum fern voneinander befinden.
-
Stattdessen werden die negativen Paare des Gewinnens aktiviert, die die Beschränkungen am meisten verletzen, um das Training dramatisch zu beschleunigen. Die Merkmale werden aus dem ersten Bild extrahiert und finden den nächsten Nachbar in dem zweiten Bild. Falls sich die Stelle fern von der Bodendaten-Übereinstimmungsstelle befindet, verwenden die beispielhaften Ausführungsformen das Paar als ein negatives. Der nächste Nachbar wird aus allen Bodendatenpunkten in dem ersten Bild berechnet. Ein derartiger Gewinnungsprozess ist zeitaufwendig, weil er O(mn) Berechnungen für m bzw. n Merkmalspunkte in den beiden Bildern erfordert. Die ausgeführten Experimente verwenden einige tausend Punkte für n, wobei m alle Merkmale in dem zweiten Bild sind, das so groß wie 22000 ist. Die beispielhaften Ausführungsformen der vorliegenden Erfindung verwenden eine GPU-Implementierung, um die K-NN-Suche zu beschleunigen, und betten sie als eine Caffe-Schicht ein, um die harten Negativen aktiv fliegend zu gewinnen.
-
3 ist ein räumlicher Faltungstransformator 300 gemäß den Ausführungsformen der vorliegenden Erfindung.
-
Es ist bekannt, dass die CNNs einen gewissen Grad der Skalierungs- und Drehungsinvarianzen handhaben. Es ist jedoch gezeigt worden, dass die Handhabung der räumlichen Transformationen explizit unter Verwendung der Datenvermehrung oder einer speziellen Netzstruktur bei vielen Aufgaben erfolgreicher ist. Für die visuelle Übereinstimmung ist das Finden der richtigen Skalierung und Drehung entscheidend, was herkömmlich durch die Flecknormierung erreicht wird. Eine Folge einfacher Faltungen und Bündelungen kann derartige komplexe räumliche Transformationen nicht nachahmen.
-
Um die Fleckennormierung nachzuahmen, wird die Idee einer räumlichen Transformatorschicht verwendet. Anstatt einer globalen Bildtransformation kann jeder entscheidende Punkt in dem Bild einer unabhängigen Transformation unterzogen werden. Folglich schlagen die beispielhaften Ausführungsformen eine konvolutionelle Version vor, um die transformierten Aktivierungen zu erzeugen, die als der räumliche Faltungstransformator bezeichnet wird. Dies ist für die Übereinstimmungen über große Formvariationen innerhalb der Klasse besonders wichtig.
-
Der vorgeschlagene Transformator nimmt seine Eingabe von einer unteren Schicht und wendet für jedes Merkmal eine unabhängige räumliche Transformation an. Die Transformationsparameter werden außerdem konvolutionell extrahiert. Weil sie durch eine unabhängige Transformation gehen, werden die transformierten Aktivierungen innerhalb einer größeren Aktivierung ohne eine Überlappung angeordnet, wobei sie dann durch eine aufeinanderfolgende Faltung mit der Schrittweite gehen, um die transformierten Aktivierungen unabhängig zu kombinieren. Die Größe der Schrittweite muss gleich der Größe der Kerngröße des räumlichen Transformators sein. 3 veranschaulicht das Modul des räumlichen Faltungstransformators.
-
4 ist ein Blockschaltplan/Ablaufplan eines Verfahrens zum Trainieren eines neuronalen Konvolutionsnetzes (CNN) gemäß den Ausführungsformen der vorliegenden Erfindung.
-
Im Block 410 werden die Koordinaten der entsprechenden Punkte an der ersten und der zweiten Stelle extrahiert.
-
Im Block 420 werden die positiven Punkte an der ersten und der zweiten Stelle identifiziert.
-
Im Block 430 werden die negativen Punkte an der ersten und der zweiten Stelle identifiziert.
-
Im Block 440 werden die Merkmale, die den positiven Punkten der ersten und der zweiten Stelle entsprechen, trainiert, um sie näher zueinander zu bewegen.
-
Im Block 450 werden die Merkmale, die den negativen Punkten an der ersten und der zweiten Stelle entsprechen, trainiert, um sie voneinander weg zu bewegen.
-
Die Vorteile der vorliegenden Erfindung enthalten (i) eine höhere Genauigkeit bei dem Merkmalsabgleich, weil die Merkmale in einem metrischen Raum direkt erlernt werden, um ein Ziel einer visuellen Übereinstimmung zu optimieren, (ii) ein effizienteres Training durch die Wiederverwendung der Aktivierungen in überlappenden Bereichen, (iii) ein schnelleres Training, weil tausende von Übereinstimmungen für jedes Bildpaar trainiert werden können, und (iv) das harte negative Gewinnen ist effizient und geradeaus, was zu einer höheren Genauigkeit führt. Die entscheidenden Schritte, die die Vorteile für die vorliegende Erfindung ermöglichen, sind (i) eine kontrastive Übereinstimmungsverlustschicht, die eine Metrik im Merkmalsraum direkt erlernt, anstatt ein Ziel einer Surrogat-Fleckähnlichkeit zu optimieren, (ii) die Algorithmen für ein effizientes Training für den kontrastiven Übereinstimmungsverlust mit dem harten negativen Gewinnen für eine vergrößerte Genauigkeit und (iii) die Flecknormierung, die die Drehungs- und Skalierungseffekte durch einen vollständigen räumlichen Faltungstransformator handhaben kann.
-
In den Experimenten wurde ein Caffe-Paket für die Optimierung neuronaler Netze verwendet. Caffe ist ein Rahmen des tiefgehenden Lernens, der mit Blick auf den Ausdruck, die Geschwindigkeit und die Modularität hergestellt wurde. Er wird durch das Berkeley Vision and Learning Center (BVLC) und durch Gemeinschaftsmitarbeiter entwickelt. Caffe ist eine expressive Architektur, die die Anwendung und Innovation fördert. Die Modelle und die Optimierung sind durch die Konfiguration ohne eine feste Codierung definiert. Ein Anwender kann zwischen einer Zentraleinheit (CPU) und einer Graphikverarbeitungseinheit (GPU) durch das Setzen eines einzigen Merkers wechseln, um in einer GPU-Maschine zu trainieren, und es dann in Allerwelts-Clustern oder Mobilvorrichtungen einsetzen. Caffe ist außerdem ein erweiterbarer Code, der eine aktive Entwicklung fördert. Zusätzlich macht die Geschwindigkeit Caffe für Forschungsexperimente und den Industrieeinsatz großartig. Caffe kann über 60M Bilder pro Tag mit einer einzigen NVIDIA K40 GPU (Graphikverarbeitungseinheit) verarbeiten.
-
Weil Caffe die hier vorgeschlagenen neuen Schichten nicht unterstützt, implementieren die beispielhaften Ausführungsformen die kontrastive Übereinstimmungsverlustschicht und die räumliche Faltungstransformatorschicht, die K-NN-Schicht und die kanalweise L2-Normierungsschicht. Die beispielhaften Ausführungsformen verwenden weder eine Abflachungsschicht noch die vollständig verbundene Schicht, um das Netz vollständig konvolutionell zu machen, wobei sie die Merkmale bei jedem vierten Bildpunkt erzeugen. Für eine genaue Lokalisierung extrahieren die beispielhaften Ausführungsformen die Merkmale dicht unter Verwendung einer bilinearen Interpolation, um den Quantisierungsfehler abzuschwächen.
-
Schließlich ist gezeigt worden, dass eine neuartige Herangehensweise zum tiefgehenden metrischen Lernen für die Schätzung der visuellen Übereinstimmung gegenüber den Herangehensweisen vorteilhaft ist, die ein Ziel einer Surrogat-Fleckähnlichkeit optimieren. Die beispielhaften Ausführungsformen schlagen mehrere Innovationen vor, wie z. B. einen kontrastiven Übereinstimmungsverlust in einer vollständig konvolutionellen Architektur, das fliegende aktive harte negative Gewinnen und einen räumlichen Faltungstransformator. Diese verleihen Fähigkeiten, wie z. B. das effizientere Training, die genaueren Gradientenberechnungen, das schnellere Testen und die lokale Flecknormierung, die zu einer verbesserten Geschwindigkeit oder Genauigkeit führen. Die beispielhaften Ausführungsformen demonstrieren in Experimenten, dass die Merkmale an Aufgaben sowohl der geometrischen als auch der semantischen Übereinstimmung sogar ohne die Verwendung irgendwelcher räumlicher Vorränge oder irgendeiner globalen Optimierung besser als der frühere Stand der Technik funktionieren.
-
Die hier beschriebenen Ausführungsformen können vollständig Hardware sein, vollständig Software sein oder sowohl Hardware- als auch Software-Elemente enthalten. In einer bevorzugten Ausführungsform ist die vorliegende Erfindung in Software implementiert, die Firmware, residente Software, Mikrocode usw. enthält, aber nicht darauf eingeschränkt ist.
-
Die Ausführungsformen können ein Computerprogrammprodukt enthalten, das von einem computerverwendbaren oder computerlesbaren Medium zugänglich ist, das Programmcode für die Verwendung durch einen oder in Zusammenhang mit einem Computer oder durch irgendein oder in Zusammenhang mit irgendeinem Befehlsausführungssystem bereitstellt. Ein computerverwendbares oder computerlesbares Medium kann irgendeine Vorrichtung enthalten, die das Programm für die Verwendung durch oder im Zusammenhang mit dem Befehlsausführungssystem, dem Gerät oder der Vorrichtung speichert, überträgt, ausbreitet oder transportiert. Das Medium kann ein magnetisches, optisches, elektronisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder Gerät oder Vorrichtung) oder ein Ausbreitungsmedium sein. Das Medium kann ein computerlesbares Speichermedium, wie z. B. einen Halbleiter- oder Festkörperspeicher, ein Magnetband, eine abnehmbare Computer-Diskette, einen Schreib-Lese-Speicher (RAM), einen Festwertspeicher (ROM), eine starre Magnetplatte und eine optische Platte usw. enthalten.
-
Jedes Computerprogramm kann in maschinenlesbaren Speichermedien oder einer maschinenlesbaren Vorrichtung (z. B. einem Programmspeicher oder einer Magnetplatte) greifbar gespeichert sein, die durch einen programmierbaren Universal- oder Spezialcomputer zum Konfigurieren und Steuern des Betriebs eines Computers lesbar sind, wenn die Speichermedien oder die Speichervorrichtung durch den Computer gelesen werden, um die hier beschriebenen Prozeduren auszuführen. Das System der Erfindung kann außerdem als in einem computerlesbaren Speichermedium verkörpert betrachtet werden, das mit einem Computerprogramm konfiguriert ist, wobei das so konfigurierte Speichermedium einen Computer veranlasst, in einer spezifischen und vorgegebenen Weise zu arbeiten, um die hier beschriebenen Funktionen auszuführen.
-
Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, kann wenigstens einen Prozessor enthalten, der durch einen Systembus direkt oder indirekt an Speicherelemente gekoppelt ist. Die Speicherelemente können einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Speicher, die eine vorübergehende Speicherung von wenigstens etwas Programmcode bereitstellen, um die Anzahl, wie oft Code während der Ausführung aus dem Massenspeicher wiedergewonnen wird, zu verringern, enthalten. Es können Eingabe-/Ausgabe- oder E/A-Vorrichtungen (einschließlich aber nicht eingeschränkt auf Tastaturen, Anzeigen, Zeigevorrichtungen usw.) entweder direkt oder durch dazwischenliegende E/A-Controller an das System gekoppelt sein.
-
An das System können außerdem Netzadapter gekoppelt sein, um es zu ermöglichen, dass das Datenverarbeitungssystem durch dazwischenliegende private oder öffentliche Netze an andere Datenverarbeitungssysteme oder entfernte Drucker oder Speichervorrichtungen gekoppelt wird. Modems, Kabelmodems und Ethernet-Karten sind nur einige der gegenwärtig verfügbaren Typen von Netzadaptern.
-
In 5 ist ein beispielhaftes Verarbeitungssystem 600 gezeigt. Das Verarbeitungssystem 600 enthält wenigstens einen Prozessor (CPU) 604, der über einen Systembus 602 betriebstechnisch an die anderen Komponenten gekoppelt ist. Ein Cache 606, ein Festwertspeicher (ROM) 608, ein Schreib-Lese-Speicher (RAM) 610, ein Eingabe-/Ausgabeadapter (E/A-Adapter) 620, ein Netzadapter 640, ein Anwenderschnittstellenadapter 650 und ein Anzeigeadapter 660 sind betriebstechnisch an den Systembus 602 gekoppelt. Eine Anzeigevorrichtung 662 kann durch den Anzeigeadapter 660 betriebstechnisch an den Systembus 602 gekoppelt sein.
-
Selbstverständlich kann das Verarbeitungssystem 600 sowohl außerdem andere (nicht gezeigte) Elemente enthalten, die durch einen Fachmann auf dem Gebiet leicht in Betracht gezogen werden, als auch bestimmte Elemente weglassen. Es können z. B. verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen in Abhängigkeit von der speziellen Implementierung des Verarbeitungssystem 600 in demselben enthalten sein, wie durch einen Durchschnittsfachmann auf dem Gebiet leicht erkannt wird. Es können z. B. verschiedene Typen von drahtlosen und/oder verdrahteten Eingabe- und/oder Ausgabevorrichtungen verwendet werden. Überdies können zusätzliche Prozessoren, Controller, Speicher usw. in verschiedenen Konfigurationen außerdem verwendet werden, wie durch einen Durchschnittsfachmann auf dem Gebiet leicht erkannt wird. Diese und andere Variationen des Verarbeitungssystems 600 werden durch einen Durchschnittsfachmann auf dem Gebiet in Anbetracht der Lehren der hier bereitgestellten vorliegenden Prinzipien leicht in Betracht gezogen.
-
Das Vorhergehende ist als in jeder Hinsicht veranschaulichend und beispielhaft, aber nicht einschränkend zu verstehen, wobei der Schutzumfang der hier offenbarten Erfindung nicht aus der ausführlichen Beschreibung bestimmt ist, sondern stattdessen aus den Ansprüchen, wie sie gemäß der durch die Patentgesetze erlaubten vollen Breite interpretiert werden. Es wird erkannt, dass die hier gezeigten und beschriebenen Ausführungsformen lediglich die Prinzipien der vorliegenden Erfindung veranschaulichen und dass die Fachleute auf dem Gebiet verschiedene Modifikationen implementieren können, ohne vom Schutzumfang und Erfindungsgedanken der Erfindung abzuweichen. Die Fachleute auf dem Gebiet könnten verschiedene andere Merkmalskombinationen implementieren, ohne vom Schutzumfang und Erfindungsgedanken der Erfindung abzuweichen. Folglich sind die Aspekte der Erfindung mit den Einzelheiten und der Genauigkeit, die durch die Patentgesetze vorgeschrieben sind, beschrieben worden, wobei das, was beansprucht und als durch das Letters Patent geschützt gewünscht wird, in den beigefügten Ansprüchen dargelegt ist.