DE102021122964A1 - Erlernen und weitergeben von visuellen attributen - Google Patents

Erlernen und weitergeben von visuellen attributen Download PDF

Info

Publication number
DE102021122964A1
DE102021122964A1 DE102021122964.2A DE102021122964A DE102021122964A1 DE 102021122964 A1 DE102021122964 A1 DE 102021122964A1 DE 102021122964 A DE102021122964 A DE 102021122964A DE 102021122964 A1 DE102021122964 A1 DE 102021122964A1
Authority
DE
Germany
Prior art keywords
points
features
generate
pairwise
unstructured
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021122964.2A
Other languages
English (en)
Inventor
Sifei Liu
Shalini De Mello
Varun Jampani
Jan Kautz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102021122964A1 publication Critical patent/DE102021122964A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

In einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zur Durchführung eines räumlichen Weitergebens beschrieben. Das Verfahren weist ein Erzeugen eines ersten gerichteten azyklischen Graphen (DAG) auf, indem räumlich benachbarte Punkte, welche in einer Menge von unstrukturierten Punkten enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbunden werden. Das Verfahren weist auch ein Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder auf, welche der Menge von unstrukturierten Punkten zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von unstrukturierten Punkten zu erzeugen und um (ii) eine Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, welche durch die gerichteten Kanten verbunden sind, zu erzeugen. Das Verfahren weist darüber hinaus ein Erzeugen einer Menge von Kennzeichen für die Menge von unstrukturierten Punkten auf, indem die Menge von Merkmalen abhängig von der Menge von paarweisen Affinitäten über den ersten DAG weitergegeben wird.

Description

  • HINTERGRUND
  • Gebiet der verschiedenen Ausführungsformen
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich allgemein auf ein räumliches Weitergeben und insbesondere auf ein Erlernen und Weitergeben von visuellen Attributen in beliebig strukturierten Daten.
  • Beschreibung des Standes der Technik
  • Beim Computer Vision bzw. computerbasierten Sehen weist eine Affinitätsmatrix eine generische Matrix auf, die die Ähnlichkeit oder Nähe von zwei Punkten in einem Raum charakterisiert. Eine Affinitätsmatrix kann zum Beispiel einen Satz von Gewichten für Pixelpaare in einem Bild speichern. Jedes Gewicht kann eine semantische Ähnlichkeit oder Nähe zwischen dem entsprechenden Paar von Pixeln darstellen; ein Gewicht, das näher bei 0 liegt, zeigt eine fehlende semantische Ähnlichkeit oder Nähe an, während ein Gewicht, das näher bei 1 liegt, eine hohe semantische Ähnlichkeit oder Nähe anzeigt.
  • Die Affinitätsmatrix kann dann verwendet werden, um eine Vielzahl von Bildverarbeitungs- oder Computer-Vision-Aufgaben durchzuführen und/oder zu verbessern. Beispielsweise können paarweise Affinitäten zwischen Pixeln in einem Bild verwendet werden, um eine semantische Segmentierung, Färbung, Filterung, Clusterbildung und/oder andere Operationen, die mit der Zuweisung von Werten zu den Pixeln zusammenhängen, durchzuführen oder zu verfeinern. Insbesondere können die paarweisen Affinitäten zur Steuerung der Weitergabe von Attributen (z. B. Klassenbezeichnungen, Farben usw.) verwendet werden, die mit den Operationen bei den Pixeln zusammenhängen. Während dieser Weitergabe wird das Attribut eines bestimmten Pixels aktualisiert, indem die Attribute der anderen Pixel durch die Affinitäten zwischen dem Pixel und den anderen Pixeln skaliert werden.
  • Bestehende Verfahren zum Erlernen von Affinitäten und zum Weitergeben von Informationen auf der Grundlage der Affinitäten arbeiten jedoch in der Regel mit strukturierten Daten, z. B. mit Pixeln, die in regelmäßigen Rastern in Bildern oder Videos angeordnet sind. Infolgedessen sind diese Vorgehen möglicherweise nicht für die Verwendung mit Punktwolken und/oder anderen unstrukturierten Daten geeignet, die keine feste Topologie und/oder Ordnung aufweisen, was die Fähigkeit einschränkt, eine Interferenz oder eine Weitergabe von Klassenbezeichnungen, Farben und/oder anderen Arten von Attributen für die unstrukturierten Daten durchzuführen.
  • Wie die vorangegangenen Ausführungen zeigen, werden nach dem Stand der Technik Vorgehen zum Bestimmung von Affinitäten zwischen unstrukturierten Datenpunkten und zum Weitergeben von Attributen über diese hinweg benötigt.
  • ZUSAMMENFASSUNG
  • In einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zur Durchführung einer räumlichen Weitergabe beschrieben. Das Vorgehen weist ein Erzeugen eines ersten gerichteten azyklischen Graphen (DAG) auf, indem räumlich benachbarte Punkte, die in einer Menge unstrukturierter Punkte enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbunden werden. Das Vorgehen weist auch ein Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder auf, die der Menge von unstrukturierten Punkten zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von unstrukturierten Punkten und (ii) eine Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, die durch die gerichteten Kanten verbunden sind, zu erzeugen. Das Vorgehen weist darüber hinaus ein Erzeugen einer Menge von Kennzeichen für die Menge unstrukturierter Punkte auf, indem die Menge von Merkmalen auf der Grundlage der Menge paarweiser Affinitäten über den ersten DAG weitergeleitet bzw. propagiert wird.
  • Ein technologischer Vorteil der offenbarten Vorgehen weist eine erhöhte Leistung bei der semantischen Segmentierung, der Farbrestaurierung und/oder anderen Aufgaben in Bezug auf die Punkte und/oder Attribute gegenüber herkömmlichen Vorgehen auf, die eine pixelweise räumliche Weitergabe durchführen und/oder die räumliche Weitergabe der Attribute auslassen. Zum Beispiel erhöht die räumliche Weitergabe, die durch die offengelegten Vorgehen durchgeführt wird, die Schnittmenge-zu-Vereinigung bzw. Intersection-over-Union (loU) zwischen Klassenvorhersagen und Ground-Truth-Kennzeichen bei einer semantischen Segmentierungsaufgabe um 2 % bis 6,5 % gegenüber grundlegenden semantischen Segmentierungsnetzwerken, Netzwerken zur räumlichen Weitergabe, die eine Ausbreitung auf Pixelebene von Segmentierungskarten durchführen, und/oder anderen Vorgehen zum Erlernen der Affinität zwischen Punkten im Raum. Folglich stellen die offenbarten Vorgehen technologische Verbesserungen bei Computersystemen, Anwendungen, Frameworks und/oder Vorgehen zur Durchführung einer räumlichen Weitergabe, semantischer Segmentierung, Farbwiederherstellung und/oder anderen Computer-Vision-Aufgaben bereit.
  • Figurenliste
  • Um die Art und Weise, in der die oben genannten Merkmale der verschiedenen Ausführungsformen im Detail verstanden werden können, zu erläutern, wird eine genauere Beschreibung der erfinderischen Konzepte, die oben kurz zusammengefasst wurden, durch Bezugnahme auf verschiedene Ausführungsformen gegeben, von denen einige in den beigefügten Zeichnungen dargestellt sind. Es ist jedoch zu beachten, dass die beigefügten Zeichnungen nur typische Ausführungsformen der erfindungsgemäßen Konzepte illustrieren und daher in keiner Weise als Einschränkung des Umfangs anzusehen sind, und dass es andere ebenso wirksame Ausführungsformen gibt.
    • 1 veranschaulicht eine Recheneinrichtung, die so ausgestaltet ist, dass sie einen oder mehrere Aspekte verschiedener Ausführungsformen implementiert.
    • 2 ist eine detailliertere Darstellung der Strukturierungsmaschine und Weitergabemaschine von 1 gemäß verschiedenen Ausführungsformen.
    • 3 ist eine beispielhafte Architektur für das Segmentierungsnetzwerk und die Affinitätsblöcke von 2 gemäß verschiedenen Ausführungsformen.
    • 4 ist ein Flussdiagramm von Verfahrensschritte zum Durchführen einer räumlichen Weitergabe gemäß verschiedenen Ausführungsformen.
    • 5 ist ein Flussdiagramm von Verfahrensschritten zum Erzeugen von Merkmalen und paarweisen Affinitäten für eine Menge von unstrukturierten Punkten gemäß verschiedenen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein besseres Verständnis der verschiedenen Ausführungsformen zu ermöglichen. Einem Fachmann ist jedoch klar, dass die erfindungsgemäßen Konzepte auch ohne eines oder mehrere dieser spezifischen Details praktiziert werden können.
  • Allgemeiner Überblick
  • Aufgaben der Computer Vision und/oder der Bildverarbeitung beinhalten häufig ein Bestimmen oder Verfeinern visueller Attribute von Objekten oder Szenen. So kann beispielsweise ein Bild analysiert oder verarbeitet werden, um Tiere, Menschen, Autos, Straßen, Gebäude, Körperteile, Kleidung, Möbel oder andere Objekte im Bild zu identifizieren, die Pixelpositionen der Objekte in dem Bild zu bestimmen; die Auflösung des Bildes zu erhöhen; oder Farben in dem Bild hinzuzufügen oder zu verbessern. Ein Identifizieren solcher visuellen Attribute von Bildern ist in vielen realen Anwendungen wichtig, die autonome Fahrzeuge, medizinische Bildgebung und Roboterautomatisierung von Fertigungsanlagen und anderen Prozessen aufweisen.
  • Diese Arten von Aufgaben können verbessert werden, indem die visuellen Attribute auf die einzelnen Pixel des Bildes „weitergegeben“ werden. So können beispielsweise Ähnlichkeiten in den Farben, Texturen oder anderen Merkmalen eines Pixels und benachbarter Pixel in dem Bild verwendet werden, um das durch das Pixel dargestellte Objekt, die Farbe des Pixels oder ein anderes dem Pixel zugeordnetes Attribut zu aktualisieren. Insbesondere kann das Attribut eines benachbarten Pixels mit einer höheren Ähnlichkeit bezüglich des Pixels mehr zu dem Attribut des Pixels beitragen, wenn die beiden Pixel eine höhere Ähnlichkeit aufweisen; umgekehrt kann das Attribut des benachbarten Pixels einen geringeren Einfluss auf das aktualisierte Attribut des Pixels aufweisen, wenn die beiden Pixel eine geringere Ähnlichkeit aufweisen. Nachdem das Attribut des Pixels aktualisiert wurde, kann das aktualisierte Attribut verwendet werden, um Aktualisierungen bezüglich der Attribute zusätzlicher Nachbarn des Pixels (z. B. entlang einer bestimmten Richtung) zu erzeugen. Nachdem Pixelattribute in dem Bild entlang mehrerer Richtungen (z. B. von oben nach unten, von unten nach oben, von links nach rechts, von rechts nach links) weitergegeben wurden, können die weitergegebenen Attributwerte für jedes Pixel zu einem endgültigen Attributwert für das Pixel aggregiert werden. Diese Weitergabe kann den Detaillierungsgrad und/oder die Genauigkeit der endgültigen Attributwerte für die Pixel des Bildes erhöhen.
  • Diese Vorgehen zur Weitergabe können auch auf andere Arten räumlich verteilter Daten, wie Punktwolken, Netze oder Superpixel, übertragen werden. Im Gegensatz zu Pixeln in Bildern können diese Datentypen keine regelmäßige Struktur, Topologie oder Ordnung aufweisen. Damit sich visuelle Attribute entlang von Richtungen ausbreiten können, die sich auf den von den Daten belegten Raum beziehen, können räumlich benachbarte Punkte in den Daten durch Kanten entlang dieser Richtungen verbunden werden, um einen oder mehrere gerichtete azyklische Graphen (DAGs) auszubilden. Diese DAGs stellen somit eine Struktur und/oder eine Anordnung von Punkten im Raum bereit, entlang derer Attribute weitergegeben werden können.
  • Die den Punkten zugeordneten Attribute können wiederum für eine Vielzahl von Zwecken verwendet werden. Zum Beispiel können semantische Klassenkennzeichen für Pixel in 2D-Bildern einer Szene um ein autonomes Fahrzeug in mehrere Richtungen über Punkte in einer Punktwolke verbreitet werden, die von LIDAR (Light Detection and Ranging), Radar (Radio Detection and Ranging) und/oder anderen Arten von Sensoren, die an dem autonomen Fahrzeug montiert sind, erzeugt wurden. Die Kennzeichen können nahegelegene Straßen, Gebäude, Ampeln, Straßenschilder, Fahrbahnmarkierungen, Fußgänger, andere Fahrzeuge und/oder andere Arten von Objekten identifizieren, was es dem autonomen Fahrzeug ermöglicht, fahrbezogene Aktionen durchzuführen, die diese Objekte berücksichtigen (z. B. auf der Grundlage der Position und/oder Ausrichtung des autonomen Fahrzeugs in Bezug auf die Positionen der Objekte in der Szene).
  • In einem anderen Beispiel, bei dem es um Roboterautomatisierung geht, können semantische Kennzeichen für Möbel, Wände, Säulen, Böden, Dekorationen und/oder andere Objekte in Bildern eines Innenraums über eine 3D-Punktwolke oder ein 3D-Netz weitergegeben werden, die bzw. das aus einem 3D-Scan des Innenraums erzeugt wurde. Diese Kennzeichen können dann von einem Roboter verwendet werden, um Aktionen auszuführen, die mit der Navigation in dem Innenraum und/oder der Interaktion mit Objekten in dem Innenraum zusammenhängen. Die Kennzeichen können auch oder stattdessen verwendet werden, um eine 3D-Visualisierung des Innenraums zu erstellen, die es einem Designer oder Ingenieur ermöglicht, das Layout des Innenraums zu analysieren und/oder zu ändern.
  • In einem anderen Beispiel, das die medizinische Bildgebung betrifft, können 3D-Punkte, die während eines Computertomographie- (CT-) Scans, eines Magnetresonanztomographie- (MRT-) Scans, eines Positronenemissionstomographie- (PET-) Scans und/oder einer anderen Art von medizinischem Scan eines oder mehrerer Objekte in einem menschlichen (oder tierischen) Körper erfasst wurden, in ein 3D-Netz konvertiert werden, das die 3D-Punkte aufweist, die durch Kanten verbunden sind, um eine Anzahl von Polygonen zu bilden. Semantische Kennzeichen für Pixel in Bildern, die während des medizinischen Scans erfasst wurden, können entlang einer oder mehrerer Richtungen über das 3D-Netz weitergegeben werden, und die weitergegebenen Kennzeichen können zum Erkennen oder Lokalisieren von Tumoren, Krankheiten, Frakturen und/oder anderen medizinischen Zuständen verwendet werden, die dem/den gescannten Objekt(en) zugeordnet sind. Die weitergegebenen Kennzeichen können auch oder stattdessen gefärbt, hervorgehoben oder anderweitig visuell in dem 3D-Netz angezeigt werden, um medizinisches Fachpersonal bei Operationen oder anderen medizinischen Verfahren im Zusammenhang mit den medizinischen Zuständen zu unterstützen.
  • In einem anderen Beispiel, das die Bildverarbeitung betrifft, können Farben über eine Menge von Superpixeln, eine Oberfläche in einer Punktwolke oder einem Punktnetz und/oder eine andere Sammlung von unstrukturierten Punkten, die eine Szene darstellen, auf der Grundlage von verstreut gefärbten Pixeln in Bildern der Szene weitergegeben werden. In einem anderen Beispiel, bei dem es um die semantische Kennzeichnung von Bildern geht, können Kennzeichen für Teile von Objekten (z. B. Tischbeine und eine Tischoberseite eines Tisches, einzelne Tasten einer Tastatur, der Deckel und Abschnitte eines Behälters einer Flasche, Körperteile eines Menschen oder eines Tieres, Kleidungsstücke einer Person usw.), die durch ein 3D-Netz dargestellt werden, auf der Grundlage des Aussehens und der Form der Objekte in Bildern weitergegeben werden. Die weitergegebenen Kennzeichen können dann verwendet werden, um das Netz in die entsprechenden Objektteile zu „partitionieren“ und eine zusätzliche Analyse oder Visualisierung in Bezug auf das partitionierte Netz durchzuführen.
  • Systemübersicht
  • 1 veranschaulicht eine Recheneinrichtung 100, die so ausgestaltet ist, dass sie einen oder mehrere Aspekte verschiedener Ausführungsformen implementiert. In einer Ausführungsform kann die Recheneinrichtung 100 ein Desktop-Computer, ein Laptop-Computer, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Tablet-Computer oder eine beliebige andere Art von Recheneinrichtung sein, die so ausgestaltet ist, dass sie Eingaben empfängt, Daten verarbeitet und optional Bilder anzeigt, und die sich zum Ausführen einer oder mehrerer Ausführungsformen eignet. Die Recheneinrichtung 100 ist so ausgestaltet, dass sie eine Strukturierungsmaschine 122 und eine Weitergabemaschine 124 ausführt, die sich in einem Speicher 116 befinden. Es sei darauf hingewiesen, dass die Recheneinrichtung, wie sie hier beschrieben ist, illustrativ ist und dass alle anderen technisch machbaren Konfigurationen in den Anwendungsbereich der vorliegenden Offenbarung fallen. So können beispielsweise mehrere Instanzen der Strukturierungsmaschine 122 und der Weitergabemaschine 124 auf einer Reihe von Knoten in einem verteilten System ausgeführt werden, um die Funktionalität der Recheneinrichtung 100 zu implementieren.
  • In einer Ausführungsform weist die Recheneinrichtung 100 ohne Einschränkung eine Verbindung (Bus) 112, die einen oder mehrere Prozessoren 102 verbindet, eine Schnittstelle 104 für Ein-/Ausgabe- (E-/A-) Einrichtungen, die mit einem oder mehreren Ein-/Ausgabe- (E-/A-) Einrichtungen 108 verbunden sind, einen Speicher 116, einen Speicher 114 und eine Netzwerkschnittstelle 106 auf. Bei dem/den Prozessor(en) 102 kann es sich um jeden geeigneten Prozessor handeln, der als Zentraleinheit (CPU), Grafikverarbeitungseinheit (GPU), anwendungsspezifischer integrierter Schaltkreis (ASIC), feldprogrammierbares Gate-Array (FPGA), Beschleuniger für künstliche Intelligenz (KI), jede andere Art von Verarbeitungseinheit oder eine Kombination verschiedener Verarbeitungseinheiten, wie z. B. eine für den Betrieb in Verbindung mit einer GPU ausgestaltete CPU, implementiert ist. Im Allgemeinen kann es sich bei dem/den Prozessor(en) 102 um jede technisch realisierbare Hardwareeinheit handeln, die in der Lage ist, Daten zu verarbeiten und/oder Softwareanwendungen auszuführen. Darüber hinaus können die in der Recheneinrichtung 100 dargestellten Rechenelemente im Rahmen dieser Offenbarung einem physischen Rechensystem entsprechen (z. B. einem System in einem Rechenzentrum) oder eine virtuelle Recheninstanz sein, die in einer Rechenwolke ausgeführt wird.
  • In einer Ausführungsform weisen die E/A-Einrichtungen 108 auf Einrichtungen, die Eingaben bereitstellen können, wie z. B. eine Tastatur, eine Maus, ein berührungsempfindlicher Bildschirm usw., sowie Einrichtungen, die Ausgaben bereitstellen können, wie z. B. eine Anzeigeeinrichtung. Darüber hinaus können E/A-Einrichtungen 108 Einrichtungen aufweisen, die sowohl Eingaben empfangen als auch Ausgaben bereitstellen können, wie z. B. einen Touchscreen, einen USB-Anschluss (Universal Serial Bus) usw. E/A-Einrichtungen 108 können so ausgestaltet sein, dass sie verschiedene Arten von Eingaben von einem Endbenutzer (z. B. einem Designer) der Recheneinrichtung 100 empfangen und auch verschiedene Arten von Ausgaben für den Endbenutzer der Recheneinrichtung 100 bereitstellen, wie z. B. angezeigte digitale Bilder oder digitale Videos oder Text. Bei einigen Ausführungsformen sind eine oder mehrere der E/A-Einrichtungen 108 so ausgestaltet, dass sie die Recheneinrichtung 100 mit einem Netzwerk 110 verbinden.
  • In einer Ausführungsform ist das Netzwerk 110 jede technisch mögliche Art von Kommunikationsnetzwerk, das den Austausch von Daten zwischen der Recheneinrichtung 100 und externen Einrichtungen oder Geräten ermöglicht, wie ein Webserver oder eine andere vernetzte Recheneinrichtung. Das Netzwerk 110 kann beispielsweise ein Weitverkehrsnetz (WAN), ein lokales Netzwerk (LAN), ein drahtloses Netzwerk (WiFi) und/oder das Internet aufweisen, um nur einige zu nennen.
  • Bei einer Ausführungsform weist der Speicher 114 einen nichtflüchtigen Speicher für Anwendungen und Daten auf und kann Fest- oder Wechselplattenlaufwerke, Flash-Speichereinrichtungen und CD-ROM, DVD-ROM, Blu-Ray, HD-DVD oder andere magnetische, optische oder Festkörperspeichereinrichtungen aufweisen. Die Strukturierungsmaschine 122 und die Weitergabemaschine 124 können im Speicher 114 gespeichert sein und bei der Ausführung in den Speicher 116 geladen werden.
  • In einer Ausführungsform weist der Speicher 116 ein RAM-Modul (Random Access Memory), eine Flash-Speichereinheit oder eine andere Art von Speichereinheit oder eine Kombination davon auf. Die Verarbeitungseinheit(en) 102, die Schnittstelle der E/A-Einrichtung 104 und die Netzwerkschnittstelle 106 sind so ausgestaltet, dass sie Daten aus dem Speicher 116 lesen und in diesen schreiben können. Der Speicher 116 weist verschiedene Softwareprogramme auf, die von dem/den Prozessor(en) 102 ausgeführt werden können, sowie Anwendungsdaten, die diesen Softwareprogrammen zugeordnet sind, was die Strukturierungsmaschine 122 und die Weitergabemaschine 124 einschließt.
  • Die Strukturierungsmaschine 122 und die Weitergabemaschine 124 weisen Funktionen zum Erlernen und Durchführen des räumlichen Weitergebens für beliebig strukturierte Daten auf. Bei einigen Ausführungsformen weisen willkürlich strukturierte Daten Punkte und/oder andere Einheiten auf, die keine Ordnung, keine festen Topologien und/oder keine regelmäßigen Layouts aufweisen. Beliebig strukturierte Daten können beispielsweise Punktwolken, Superpixel und/oder andere Sammlungen von Punkten im zweidimensionalen (2D) oder dreidimensionalen (3D) Raum aufweisen. Diese willkürlich strukturierten Daten stehen im Gegensatz zu strukturierten Daten wie z. B. Bildern, die Pixel enthalten, die einer regelmäßigen Gitterstruktur, einer kanonischen Anordnung und einer festen Topologie gehorchen.
  • Bei einigen Ausführungsformen weist ein räumliches Weitergeben ein Weitergeben von Attributen über räumlich verteilte Punkte auf. Beispielsweise kann das räumliche Weitergeben verwendet werden, um Klassenkennzeichen, Farben und/oder andere Attribute, die den Punkten zugeordnet sind, auf der Grundlage paarweiser Ähnlichkeiten zwischen Punktpaaren in Bezug auf die Attribute weiterzugeben.
  • Genauer gesagt, kann die Strukturierungsmaschine 122 eine Struktur für eine Menge unstrukturierter Punkte definieren, indem sie räumlich benachbarte Punkte über gerichtete Kanten entlang einer bestimmten Richtung verbindet, um einen gerichteten azyklischen Graphen (DAG) zu bilden. Die Strukturierungsmaschine 122 kann optional zusätzliche DAGs erzeugen, indem sie die räumlich benachbarten Punkte über gerichtete Kanten entlang mehrerer Richtungen verbindet (z. B. Richtungen, die orthogonal oder einander entgegengerichtet in dem 2D- oder in dem 3D-Raum sind). Die Weitergabemaschine 124 kann dann Attribute wie Klassenkennzeichen und/oder Farben für die Menge der unstrukturierten Punkte entlang der gerichteten Kanten basierend auf unären Merkmalen für einzelne Punkte, paarweisen Merkmalen für Punktpaare, die durch die gerichteten Kanten verbunden sind, und paarweisen Affinitäten zwischen den Punktpaaren weitergeben. Wie es im Folgenden im Detail beschrieben ist, kann diese Weitergabe von Attributen über die unstrukturierten Punkte die semantische Segmentierung, die Farbweitergabe und/oder andere Computer-Vision-Aufgaben verbessern, die visuelle Elemente räumlich verteilter, unstrukturierter Daten verwenden.
  • Lernen und Weitergeben von visuellen Attributen
  • 2 ist eine detailliertere Darstellung der Strukturierungsmaschine 122 und der Weitergabemaschine 124 aus 1 gemäß verschiedenen Ausführungsformen. Wie es dargestellt ist, verwenden die Strukturierungsmaschine 122 und die Weitergabemaschine 124 Eingabedaten 202, die eine Menge unstrukturierter Punkte 204, ein oder mehrere Bilder 206, die unstrukturierten Punkten 204 zugeordnet sind, und Zuordnungen 208 zwischen unstrukturierten Punkten 204 und Pixeln in Bildern 206 aufweisen.
  • Unstrukturierte Punkte 204 weisen eine Sammlung von räumlich verteilten Punkten auf, die keine regelmäßige oder bekannte Struktur, Ordnung oder Topologie aufweisen. Die Bilder 206 weisen 2D-Bilder von Gebilden auf, die den unstrukturierten Punkten 204 entsprechen, und die Zuordnungen 208 weisen räumliche Korrespondenzen zwischen unstrukturierten Punkten 204 und Pixelpositionen auf, die unstrukturierte Punkte 204 in den Bildern 206 darstellen. Unstrukturierte Punkte 204 können beispielsweise eine Punktwolke, eine Menge von Superpixeln, ein Netz und/oder eine Menge von Voxeln aufweisen, die eine 2D- oder 3D-Szene bilden. Die Bilder 206 wiederum können sichtbare, Infrarot-, Röntgen- und/oder andere Arten von 2D-Ansichten aufweisen, die von Kameras von der gleichen Szene erfasst werden. Schließlich können die Zuordnungen 208 eins-zu-eins oder eins-zu-viele Korrespondenzen zwischen einzelnen unstrukturierten Punkten 204 und 2D-Pixelpositionen dieser Punkte in Bildern 206 aufweisen. Wenn unstrukturierte Punkte 204 in einem 3D-Raum verteilt sind, können Zuordnungen 208 durch Projektion der 3D-Positionen unstrukturierter Punkte 204 auf Pixelpositionen in Bildern 206 auf der Grundlage von Kameraparametern (z. B. Kameraposition, Kameramodell, Brennweite, Hauptpunkt, Schrägstellungs- oder Verzerrungskoeffizienten, Referenzrahmenversatz usw.) einer oder mehrerer Kameras, die zur Aufnahme von Bildern 206 verwendet wurden, erstellt werden. Wenn unstrukturierte Punkte 204 Superpixel in den Bildern 206 aufweisen, können Zuordnungen 208 Segmente von Pixeln identifizieren, die den Superpixeln entsprechen.
  • Die Strukturierungsmaschine 122 weist eine Funktionalität auf, um unstrukturierte Punkte 204 in eine Struktur umzuwandeln, über die Attribute, die unstrukturierten Punkten 204 zugeordnet sind, weitergegeben werden können. Wie es dargestellt ist, weist die Struktur eine Anzahl von DAGs 216 auf. Jeder DAG weist Knoten, die unstrukturierte Punkte 204 darstellen, und gerichtete Kanten 212 zwischen Paaren von Knoten, auf, die aus räumlich benachbarten Punkten 210 in unstrukturierten Punkten 204 ausgewählt werden.
  • In einer oder mehreren Ausführungsformen verwendet die Strukturierungsmaschine 122 ein Verfahren zur Suche nach den k-nächsten Nachbarn, um räumlich benachbarte Punkte 210 innerhalb der Menge von unstrukturierten Punkten 204 zu identifizieren. Beispielsweise kann die Strukturierungsmaschine 122 für jeden Punkt in den unstrukturierten Punkten 204 eine Liste räumlich benachbarter Punkte 210 identifizieren, die dem Punkt am nächsten sind (z. B. auf der Grundlage des euklidischen Abstands für 2D-Punkte und des Tangentenabstands für 3D-Punkte) und/oder sich innerhalb eines Schwellenabstands zu dem Punkt befinden.
  • Die Strukturierungsmaschine 122 verbindet auch räumlich benachbarte Punkte 210 mit Kanten 212 entlang einer Reihe von Richtungen 214, um DAGs 216 zu erzeugen. In einer oder mehreren Ausführungsformen sind die Richtungen 214 orthogonal und/oder entgegengesetzt zueinander. Zum Beispiel können die Richtungen 214 in einem 2D-Raum positive und negative Richtungen entlang der X-Achse und der Y-Achse in einem 2D-Koordinatensystem (z. B. von links nach rechts, von rechts nach links, von oben nach unten, von unten nach oben) aufweisen. In einem anderen Beispiel können die Richtungen 214 in einem 3D-Raum positive und negative Richtungen entlang der X-, Y- und Z-Achse in einem 3D-Koordinatensystem aufweisen.
  • Bei einigen Ausführungsformen weist jeder der DAGs 216 gerichtete Kanten 212 auf, die räumlich benachbarte Punkte 210 entlang einer bestimmten Richtung von den Richtungen 214 verbinden. Beispielsweise können vier DAGs 216 für eine Menge von unstrukturierten Punkten 204 entlang der positiven und negativen X- und Y-Achse in einem 2D-Raum erstellt werden, und sechs DAGs 216 können für eine Menge von unstrukturierten Punkten 204 entlang der positiven und negativen X-, Y- und Z-Achse in einem 3D-Raum erstellt werden. Jeder DAG kann gerichtete Kanten 212 aufweisen, die Paare von räumlich benachbarten Punkten 210 entlang der selben Richtung verbinden. So kann ein DAG entlang der positiven X-Achse (z. B. von links nach rechts) in dem 2D- oder 3D-Raum aufgebaut werden, indem jeder Punkt in dem Raum mit gerichteten Kanten 212 von bis zu einer vorgegebenen Anzahl von räumlich benachbarten Punkten 210 (z. B. 4 bis 10), die sich links von dem Punkt befinden, verbunden wird. Der Vorgang kann wiederholt werden, indem jeder Punkt mit verschiedenen Untermengen von räumlich benachbarten Punkten 210 verbunden wird, die sich entlang verschiedener Richtungen 214 von dem Punkt befinden, um zusätzliche DAGs 216 in dem selben Raum zu bilden.
  • Die Strukturierungsmaschine 122 weist zusätzlich die Funktionalität auf, jeden DAG in mehrere Gruppen 218 unstrukturierter Punkte 204 entlang von Richtungen zu unterteilen, die orthogonal zu denen der gerichteten Kanten 212 in dem DAG sind. Andererseits kann die Weitergabemaschine 124 Punkte in jeder Gruppe während der Weitergabe von Merkmalen und/oder anderen Attributen, die den Punkten entlang gerichteter Kanten 212 des DAGs zugeordnet sind, parallel verarbeiten, wie es weiter im Folgenden erläutert wird.
  • In einer oder mehreren Ausführungsformen weist jede der Gruppen 218 eine Teilmenge von unstrukturierten Punkten 204 auf, die innerhalb eines entsprechenden DAGs nicht miteinander verbunden sind und die eingehende Kanten 212 nur von vorhergehenden Gruppen 218 in dem DAG aufweisen. Beispielsweise können Gruppen 218 in einem von links nach rechts verlaufenden DAG als „Spalten“ von Punkten erstellt werden, wobei jede Spalte eine Teilmenge von Punkten, die untereinander keine Kanten 212 aufweisen, und eingehende Kanten 212 von einer oder mehreren Spalten links von der Spalte enthält.
  • Die Strukturierungsmaschine 122 weist eine Funktionalität auf, um Gruppen 218 unter Verwendung eines Vorgehens zur topologischen Sortierung zu erzeugen. Beispielsweise kann die Strukturierungsmaschine 122 die folgenden Schritte durchführen, um Gruppen 218 zu erstellen:
    Figure DE102021122964A1_0001
    Figure DE102021122964A1_0002
  • Die obigen Schritte beziehen sich auf eine Eingabe eines DAGs G, der eine Menge von Knoten S aufweist, denen eingehende Kanten fehlen. Bei einem von links nach rechts verlaufenden DAG weist S eine Anzahl von unstrukturierten Punkten 204 (d. h. „Knoten“) auf, die sich ganz links in dem Raum befinden, in dem die unstrukturierten Punkte 204 verteilt sind. Die Schritte arbeiten auch mit einer Liste L, die mit mehreren Gruppen 218 von unstrukturierten Punkten 204 zu füllen ist. Innerhalb der Liste ist jede Gruppe durch einen eigenen Index p gekennzeichnet.
  • Genauer gesagt geben die Zeilen 5-6 in den obigen Schritten eine Endebedingung an, die erfüllt ist, wenn alle Knoten in G in L gesammelt wurden. Solange die Endebedingung nicht erfüllt ist, führt die Strukturierungsmaschine 122 eine Schleife aus, die sich über die Zeilen 7-13 erstreckt. Während der ersten Iteration der Schleife werden die Knoten in S aus G entfernt und zu einer entsprechenden Gruppe L(p) hinzugefügt, wobei p = 1 ist. Folglich weist die erste Gruppe L(1) alle Knoten in dem DAG auf, die Ursprungsknoten für die Richtung darstellen, entlang derer die Kanten 212 in dem DAG gerichtet sind. Nachdem die erste Gruppe erzeugt wurde, werden ausgehende Kanten 212 von S zu einzelnen Knoten, die mit m bezeichnet sind, aus G entfernt, S wird aktualisiert, um eine neue Menge von Knoten aufzuweisen, die keine eingehenden Kanten in G aufweisen, und p wird inkrementiert.
  • Die Strukturierungsmaschine 122 wiederholt die Schleife, bis G leer ist und alle Knoten aus G zu L hinzugefügt wurden. Während jeder Iteration fügt die Strukturierungsmaschine 122 zu L eine neue Gruppe hinzu, die durch den aktuellen Wert von p indiziert ist und die die aktuelle Menge von Knoten S aufweist, die keine eingehenden Kanten in dem aktualisierten DAG G haben. Die Strukturierungsmaschine 122 entfernt außerdem S und alle von S ausgehenden Kanten aus G, aktualisiert S mit einer neuen Menge von Knoten in G, denen eingehende Kanten fehlen, und inkrementiert p. Nachdem die Strukturierungsmaschine 122 festgestellt hat, dass die Endebedingung in den Zeilen 5-6 erfüllt ist, bricht die Strukturierungsmaschine 122 die Ausführung der Schleife ab. L wiederum weist eine Liste von Gruppen 218 auf, die entlang der Richtung geordnet sind, in der die Kanten 212 in dem DAG gerichtet sind. Jede Gruppe innerhalb der Liste weist zusätzlich eine Teilmenge von Knoten in dem DAG auf, die untereinander keine Kanten 212 aufweisen und nur eingehende Kanten 212 von vorhergehenden Gruppen 218 in der Liste enthalten.
  • Bei einigen Ausführungsformen verwendet die Weitergabemaschine 124 die Eingabedaten 202, die DAGs 216 und/oder die Gruppen 218, um ein räumliches Weitergeben der den Pixeln in den Bildern 206 zugeordneten Kennzeichen 242 über unstrukturierte Punkte 204 hinweg durchzuführen. Wie es dargestellt ist, führt die Weitergabemaschine 124 die Verarbeitung unter Verwendung eines Segmentierungsnetzwerks 220, einer Menge von Affinitätsblöcken 222, eines Aggregationsblocks 224, eines Weitergabeblocks 226, eines Ähnlichkeitskerns 228 und einer Menge von Vorhersageschichten 230 durch. Jede dieser Komponenten wird im Folgenden näher beschrieben.
  • Die Weitergabemaschine 124 wendet das Segmentierungsnetzwerk 220 auf Bilder 206 an, um unäre Merkmale 232 für einzelne Pixel in den Bildern 206 zu erzeugen. Das Segmentierungsnetzwerk 220 kann beispielsweise ein faltendes neuronales Netz (CNN), ein rückgekoppeltes neuronales Netz (RNN), ein residuales neuronales Netz (ResNet) und/oder einen anderen Typ eines tiefen neuronalen Netzes aufweisen, das eine semantische Segmentierung der Bilder 206 durchführt. Infolgedessen können die unären Merkmale 232 Darstellungen von vorhergesagten Klassenkennzeichen für einzelne Pixel in den Bildern 206 aufweisen.
  • Bei anderen Ausführungen wird das Segmentierungsnetzwerk 220 durch ein anderes neuronales Netz oder eine andere Komponente ersetzt, um andere Arten von unären Merkmalen 232 zu erzeugen, die sich auf unstrukturierte Punkte 204 beziehen. Beispielsweise kann die Weitergabemaschine124 unäre Merkmale 232 als spärlich gefärbte Pixel in einem oder mehreren Bildern 206 erhalten, um die Farben zu nicht gefärbten Bereichen in dem/den Bild(ern) weiterzugeben. In einem anderen Beispiel kann die Weitergabemaschine 124 unäre Merkmale 232 als partielle Segmentierungsmaske für ein Objekt in einem oder mehreren Bildern 206 (z. B. eine Teilmenge von Pixeln in dem Objekt, die als das Objekt gekennzeichnet sind) erhalten, um die Segmentierungsmaske zu dem Rest des Objekts in dem Bild/den Bildern weiterzugeben. In einem dritten Beispiel können unäre Merkmale 232 Darstellungen von Klassenkennzeichen, Farben und/oder anderen Attributen aufweisen, die von einem 3D-CNN für unstrukturierte Punkte 204 erzeugt werden, anstelle von oder zusätzlich zu unären Merkmalen 232, die von einem 2D-CNN für Bilder 206 erzeugt werden, die unstrukturierten Punkten 204 zugeordnet sind. In einem oder mehreren dieser Beispiele können die unären Merkmale 232 von Benutzern bereitgestellt werden (z. B. durch „Zeichnen“ der Farben oder einer partiellen Segmentierungsmaske über ein oder mehrere Bilder 206 und/oder Darstellungen unstrukturierter Punkte 204) und/oder von einer/m oder mehreren Schichten oder Blöcken eines neuronalen Netzes erzeugt werden.
  • Wie das Segmentierungsnetzwerk 220 weisen die Affinitätsblöcke 222 ein oder mehrere CNN-, RNN-, ResNet- und/oder andere Arten von Schichten eines neuronalen Netzes auf. Diese Schichten können auf die Ausgabe von einem oder mehreren Abschnitten des Segmentierungsnetzwerks 220 angewendet werden, um paarweise Merkmale 234 für einzelne Pixel in Bildern 206 zu erzeugen, wie es weiter im Folgenden mit 3 beschrieben ist.
  • In einer oder mehreren Ausführungsformen weist die Eingabe in das Segmentierungsnetzwerk 220 und die Affinitätsblöcke 222 eine geometrische Information auf, die sich auf einzelne unstrukturierte Punkte 204 in einer Punktwolke (oder einer anderen Menge von 3D-Punkten) bezieht, zusätzlich zu Bildern 206 der durch die Punktwolke dargestellten Objekte. Beispielsweise kann die Weitergabemaschine 124 die geometrische Information als Verknüpfung des Koordinatengradienten jedes unstrukturierten Punkts (z. B. dX, dY und dZ für die X-, Y- und Z-Koordinaten des Punkts), der Oberflächennormale und der Farbe des unstrukturierten Punkts erzeugen. Die Weitergabemaschine 124 verwendet Zuordnungen 208 von jedem unstrukturierten Punkt zu den entsprechenden Pixeln in Bildern 206, um eine Neunkanal-Eingabeabbildung mit der gleichen Auflösung wie die Eingabebilder 206 zu bilden, und wendet eine Conv+ReLu-Einheit auf die Eingabeabbildung an. Die Weitergabemaschine 124 verwendet dann die Ausgabe der Conv+ReLu-Einheit als Eingabe für das Segmentierungsnetzwerk 220 und die Affinitätsblöcke 222.
  • Der Aggregationsblock 224 wird verwendet, um unäre Merkmale 232 und/oder paarweise Merkmale 234 zu punktweisen Merkmalen 236 für einzelne unstrukturierte Punkte 204 zu aggregieren bzw. zusammenzufassen. Beispielsweise kann der Aggregationsblock 224 ein punktweises unäres Merkmal für einen unstrukturierten Punkt als den Mittelwert (oder eine andere Aggregation) von unären Merkmale 232 für eine Menge von Pixeln mit Zuordnungen 208 zu dem unstrukturierten Punkt berechnen. Der Aggregationsblock 224 kann auch ein paarweises Gesamtmerkmal für denselben unstrukturierten Punkt als den Mittelwert (oder eine andere Aggregation) von paarweisen Merkmalen 234 für dieselbe Menge von Pixeln berechnen.
  • Bei einigen Ausführungsformen stellen die paarweisen Merkmale 234 Merkmale mit niedrigerem Niveau und/oder höherer Auflösung dar als die entsprechenden unären Merkmale 232. Zum Beispiel können paarweise Merkmale 234 verwendet werden, um Kanten oder Grenzen von Objekten in Bildern 206 zu identifizieren. Die paarweisen Merkmale 234, die vom Aggregationsblock 224 zu entsprechenden punktweisen Merkmalen 236 aggregiert werden, werden wiederum vom Ähnlichkeitskern 228 verwendet, um paarweise Affinitäten 240 zwischen Paaren von unstrukturierten Punkten 204 zu berechnen, die durch eine oder mehrere gerichtete Kanten 212 in DAGs 216 verbunden sind. Beispielsweise kann der Ähnlichkeitskern 228 eine paarweise Affinität zwischen zwei unstrukturierten Punkten 204, die durch eine Kante in einem DAG verbunden sind, als ein Maß für die Ähnlichkeit zwischen einem ersten Durchschnittswert einer ersten Menge von paarweisen Merkmalen 234 für eine erste Menge von Pixeln mit Zuordnungen 208 zu dem ersten unstrukturierten Punkt und einem zweiten Durchschnittswert einer zweiten Menge von paarweisen Merkmalen 234 für eine zweite Menge von Pixeln mit Zuordnungen 208 zu dem zweiten unstrukturierten Punkt berechnen.
  • Der Weitergabeblock 226 wird dann verwendet, um eine Menge weitergebener Merkmale 238 für unstrukturierte Punkte 204 zu erzeugen, indem punktweise Merkmale 236 über gerichtete Kanten 212 in DAGs 216 basierend auf den entsprechenden paarweisen Affinitäten 240 von dem Ähnlichkeitskern 228 weitergegeben werden. Während dieser Weitergabe kann ein weitergegebenes Merkmal (z.B. eines der weitergegebenen Merkmale 238) für einen unstrukturierten Punkt in dem ersten DAG auf der Grundlage einer Summe einer Teilmenge von punktweisen Merkmalen 236 für eine Teilmenge von unstrukturierten Punkten 204 mit ausgehenden Kanten 212 zu dem unstrukturierten Punkt in einem entsprechenden DAG berechnet werden, wobei jedes der Merkmale durch eine paarweise Affinität zwischen dem unstrukturierten Punkt und einem korrespondierenden unstrukturierten Punkt gewichtet wird.
  • Andererseits kann die Weitergabemaschine 124 den Weitergabeblock 226 verwenden, um eine andere Menge weitergegebener Merkmale 238 für jeden DAG zu erzeugen (z. B. durch das Weitergeben punktweiser Merkmale 236 entlang der durch die Kanten 212 in dem DAG bezeichneten Richtung). Beispielsweise kann der Weitergabeblock 226 verwendet werden, um punktweise Merkmale 236, die aggregierte unäre Merkmale 232 für unstrukturierte Punkte 204 darstellen, entlang der Richtungen 214 von oben nach unten, von unten nach oben, von links nach rechts und von rechts nach links weiterzugeben, die durch gerichtete Kanten 212 in vier DAGs 216 bezeichnet werden, die aus einer Menge von Superpixeln, einer Punktwolke, die eine flache Oberfläche darstellt, und/oder einer anderen Menge von unstrukturierten Punkten 204 erstellt werden, die im Wesentlichen in einem 2D-Raum verteilt sind. In einem anderen Beispiel kann der Weitergabeblock 226 verwendet werden, um punktweise Merkmale 236, die aggregierte unäre Merkmale 232 darstellen, entlang der positiven und negativen Richtung 214 entlang der X-, Y- und Z-Achse in einem 3D-Raum weiterzugeben, wie sie durch gerichtete Kanten 212 in sechs DAGs 216 dargestellt werden, die aus einem Netz, einer Punktwolke, die eine 3D-Oberfläche oder ein 3D-Volumen darstellt, und/oder einer anderen Menge unstrukturierter Punkte 204, die im 3D-Raum verteilt sind, erstellt wurden. In beiden Beispielen führt jede Weitergaberichtung zu einer separaten Menge von weitergegebenen Merkmalen 238 für die entsprechenden unstrukturierten Punkte 204.
  • In einer oder mehreren Ausführungsformen wird jeder der DAGs 216 als eine Menge von Vertices (d. h. unstrukturierten Punkten 204) V= {v1, ..., vN} dargestellt, und jeder Vertex vi weist eine Menge von Nachbarn als Ki auf, die mit dem Vertex verbunden sind. Somit weist ein von links nach rechts verlaufender DAG für eine Menge unstrukturierter Punkte 204 in einer Punktwolke für einen gegebenen Vertex vi eine Teilmenge unstrukturierter Punkte 204 Ki auf, die in dem DAG an vi angrenzen und sich räumlich rechts von dem Vertex in dem 3D-Raum der Punktwolke befinden. Jedem Vertex ist außerdem ein punktweises unäres Merkmal (z. B. eines der punktweisen Merkmale 236), dargestellt durch u ∈ RN×c, und ein weitergegebenes Merkmal (z. B. eines der weitergegebenen Merkmale 238), dargestellt durch h ∈ RN×c, zugeordnet. Sowohl u als auch h sind c -Kanal-Merkmalskarten. Andererseits aktualisiert der Weitergabeblock 226 den Wert von h für Vertices des DAG entlang der entsprechenden Richtung (z. B. einer der Richtungen 214) unter Verwendung des folgenden Weitergabeoperators: h ( i ) = ( 1 k K i g i k ) u ( i ) + k K i g i k h ( k ) ,
    Figure DE102021122964A1_0003
    wobei {gik} eine Menge von erlernbaren paarweisen Affinitäten 240, oder „Kantenrepräsentationen“, zwischen vi und vk darstellt.
  • Wie es bereits erwähnt ist, weist die Weitergabemaschine 124 eine Funktionalität auf, um eine parallele Weitergabe von punktweisen Merkmalen 236 für unstrukturierte Punkte 204 in einzelnen Gruppen 218 durchzuführen, die von der Strukturierungsmaschine 122 von einem gegebenen DAG erzeugt werden. Bei einigen Ausführungsformen kann die Weitergabemaschine 124 die Weitergabe punktweiser Merkmale 236 in „Zeitschritten“ durchführen, wobei jede der Gruppen 218 mit einem anderen Zeitschritt korrespondiert und die Weitergabe punktweiser Merkmale 236 für alle Punkte in einer bestimmten Gruppe gleichzeitig erfolgt. So können punktweise Merkmale 236 und weitergegebene Merkmale 238 für Vertices in der p-ten Gruppe als up bzw. hp bezeichnet werden, und die Weitergabe für jede Gruppe kann als Linearkombination aller vorangehenden Gruppen 218 in dem DAG durchgeführt werden: h p = ( I d p ) u p + v 1 p 1 w p q h q ,
    Figure DE102021122964A1_0004
    wobei q eine Gruppe ist, die der Gruppe p in der Weitergaberichtung vorausgeht.
  • Wenn die p-te und die q-te Gruppe mp bzw. mq Vertices enthalten, ist wpq eine mp × mq-Matrix, die alle Gewichte {g} zwischen Vertices in hp und hq enthält (siehe Gleichung 2). Insbesondere ist dp ∈ Rm,xm, eine diagonale Gradmatrix (diagonal degree matrix) mit einem Nicht-Null-Eintrag bei i, die Informationen aus allen wpq wie folgt aggregiert: d p ( i , i ) = q = 1 p 1 j = 1 m q w p q ( i , j ) .
    Figure DE102021122964A1_0005
  • Bei T Gruppen 216 in dem DAG weist dieses parallele „Zeitschritt“-Weitergeben eine Rechenkomplexität von O(T) auf.
  • Wie in Gleichung 1 veranschaulicht ist, bestimmt eine durch den Ähnlichkeitskern 228 erzeugte Kantendarstellung {gik} das Ausmaß, in dem das punktweise Merkmal für einen Vertex an den Nachbarn des Vertex weitergegeben wird. Für die Aufgabe einer semantischen Segmentierung kann {gik} eine semantische Kante darstellen, wobei gik = 0 die kategorieübergreifende Weitergabe stoppt und gik > 0 die Weitergabe innerhalb einer Kategorie ermöglicht. Infolgedessen können Kantendarstellungen erlernt und auf Werte konditioniert werden, die Pixeln in Bildern 206 zugeordnet sind, die Zuordnungen 208 zu den entsprechenden unstrukturierten Punkten 204 aufweisen.
  • In einer oder mehreren Ausführungsformen weist der Ähnlichkeitskern 228 eine differenzierbare symmetrische Kernfunktion κ auf, so dass gik = κ(xi, xj), j ∈ Ki gilt, wobei xi und xj aggregierte paarweise Merkmale 234 (z. B. erzeugt durch den Aggregationsblock 224 als eine Teilmenge von punktweisen Merkmale 236) für die Vertices vi und vj darstellen. Zum Beispiel kann κ mit der folgenden Gleichung über ein inneres Produkt bzw. Skalarprodukt als Ähnlichkeit definiert werden: κ ( x i , x j ) = x ¯ i T x ¯ J
    Figure DE102021122964A1_0006
  • In der obigen Gleichung stellt x̅ einen normalisierten Merkmalsvektor dar, der in einem CNN durch Schichtnormalisierung berechnet werden kann.
  • In einem anderen Beispiel kann der Ähnlichkeitskern κ in einem Einbettungsraum über eine Gauß-Funktion mit der folgenden Gleichung berechnet werden: κ ( x i , x j ) = ε x i x j F 2
    Figure DE102021122964A1_0007
    Da gik negative Werte aufweisen kann, kann der eingebetteten Gauß-Funktion ein erlernbarer Bias-Term hinzugefügt und mit einem Wert von -0,5 initialisiert werden.
  • Nachdem die weitergegebenen Merkmale 238 durch den Weitergabeblock 226 für alle DAGs 216 und die entsprechenden Richtungen 214 erzeugt wurden, verwendet die Weitergabemaschine 124 eine oder mehrere Vorhersageschichten 230, um eine endgültige Menge von Kennzeichen 242 für unstrukturierte Punkte 204 aus den weitergebenen Merkmalen 238 zu erzeugen. Die Vorhersageschichten 230 können beispielsweise eine Max-Pooling-Schicht aufweisen, die mehrere Mengen von weitergegeben Merkmalen 238, die von dem Weitergabeblock 226 von mehreren DAGs 216 erzeugt wurden, zu einer einzigen Menge von weitergegebenen Merkmalen 238 für unstrukturierte Punkte 204 zusammenfasst. Die Vorhersageschichten 230 können auch eine oder mehrere dicht verknüpfte, tanh-, softmax- und/oder andere Schichten aufweisen, die eine zusätzliche Verarbeitung bezüglich den aggregierten weitergegebenen Merkmalen 238 durchführen. Eine Ausgabe von Vorhersageschichten 230 kann dann als Auswertungen bzw. Scores (z. B. zwischen 0 und 1) verwendet werden, die vorhergesagte Wahrscheinlichkeiten von Klassen, Farben und/oder anderen Arten von Kennzeichen 242 für unstrukturierte Punkte 204 darstellen.
  • Bei einigen Ausführungsformen weist die Weitergabemaschine 124 eine Funktionalität auf, um eine Verarbeitung in Bezug auf ein Segmentierungsnetzwerk 220 und Affinitätsblöcke 222 über mehrere GPUs und/oder andere Arten von Prozessoren zu verteilen. Die Bilder 206 können beispielsweise Mehrfachansichten einer Szene aufweisen, die durch unstrukturierte Punkte 204 in einer Punktwolke dargestellt werden. Die Weitergabemaschine 124 kann jedes Bild in eine andere GPU eingeben und eine Kopie des Segmentierungsnetzwerks 220 und der Affinitätsblöcke 222 bei jeder GPU verwenden, um unäre Merkmale 232 und paarweise Merkmale 234 für Pixel in dem Bild mit Zuordnungen 208 zu unstrukturierten Punkten 204 zu erzeugen. Infolgedessen kann die Weitergabemaschine 124 eine Funktionalität zur Erzeugung von unären Merkmalen 232 und paarweisen Merkmalen 234 durch eine parallele Ausführung mehrerer GPUs aufweisen, was die Berechnungszeit reduziert und/oder die Effizienz erhöht, mit der unäre Merkmale 232 und paarweise Merkmale 234 für alle Bilder 206 erzeugt werden. Die Weitergabemaschine 124 kann dann unäre Merkmale 232 und paarweise Merkmale 234 von mehreren GPUs auf einer einzigen GPU, CPU und/oder einem anderen Prozessortyp sammeln und den Aggregationsblock 224, den Ähnlichkeitskern 228 und den Weitergabeblock 226 auf dem Prozessor ausführen, um punktweise Merkmale 236, paarweise Affinitäten 240 bzw. weitergegebene Merkmale 238 zu erzeugen. Wie es bereits erwähnt ist, kann der Weitergabeblock 226 während der Erzeugung von weitergegebenen Merkmalen 238 für einzelne Gruppen 218 von unstrukturierten Punkten 204 gleichzeitig eine zusätzliche parallele Verarbeitung durchführen. Schließlich kann die Weitergabemaschine 124 auf demselben Prozessor Vorhersageschichten 230 auf weitergegebene Merkmale 238 anwenden, um eine endgültige Menge von Kennzeichen 242 für unstrukturierte Punkte 204 zu erzeugen.
  • Die von der Weitergabemaschine 124 oder den unstrukturierten Punkten 204 erzeugten Kennzeichen 242 können wiederum für eine Vielzahl von Zwecken verwendet werden. Beispielsweise können semantische Kennzeichen 242, die Punkten in einer Punktwolke zugewiesen sind, von einem autonomen Fahrzeug verwendet werden, um nahe gelegene Straßen, Gebäude, Ampeln, Fußgänger, andere Fahrzeuge und/oder andere Arten von Objekten zu identifizieren und fahrbezogene Aktionen durchzuführen, die diese Objekte berücksichtigen. In einem anderen Beispiel können semantische Kennzeichen 242 für 2D- oder 3D-Punkte in einem medizinischen Scan verwendet werden, um Tumore, Krankheiten, Frakturen und/oder andere medizinische Zustände zu erkennen. In einem dritten Beispiel können die Kennzeichen 242 Farben aufweisen, die über eine Menge von Superpixeln, eine Oberfläche in einer Punktwolke oder einem Netz und/oder eine andere Sammlung von unstrukturierten Punkten 204 auf der Grundlage von spärlich gefärbten Pixeln in Bildern 206 weitergegeben werden. Folglich können die Strukturierungsmaschine 122 und die Weitergabemaschine 124 Funktionen zur Durchführung und/oder Verbesserung einer Vielzahl von Computer-Vision-Aufgaben aufweisen.
  • In einer oder mehreren Ausführungsformen werden das Segmentierungsnetzwerk 220 und die Affinitätsblöcke 222 gemeinsam mit dem Aggregationsblock 224, dem Weitergabeblock 226, dem Ähnlichkeitskern 228, den Vorhersageschichten 230 und/oder anderen von der Weitergabemaschine 124 verwendeten Komponenten trainiert, um Kennzeichen 242 für unstrukturierte Punkte 204 zu erzeugen. Beispielsweise können der Aggregationsblock 224, der Weitergabeblock 226, der Ähnlichkeitskern 228 und die Vorhersageschichten 230 in eine Architektur für das Segmentierungsnetzwerk 220 und/oder die Affinitätsblöcke 222 eingebettet sein. Da das Segmentierungsnetzwerk 220, die Affinitätsblöcke 222, der Aggregationsblock 224, der Weitergabeblock 226, der Ähnlichkeitskern 228 und die Vorhersageschichten 230 alle differenzierbar sind, kann ein Verlust, der aus den von den Vorhersageschichten 230 ausgegebenen Kennzeichen 242 und den Ground-Truth-Kennzeichen für einen entsprechenden Trainingsdatensatz berechnet wird, über alle Schichten des Segmentierungsnetzwerks 220, die Affinitätsblöcke 222, den Aggregationsblock 224, den Weitergabeblock 226, den Ähnlichkeitskern 228 und Vorhersageschichten 230 rückgeführt werden, und ein stochastisches Gradientenverfahren und/oder ein anderes Optimierungsverfahren können verwendet werden, um die Parameter jeder Schicht auf der Grundlage der negativen Gradienten der rückgeführten Fehler zu aktualisieren. Mit anderen Worten, die räumliche Weitergabe, die von der Weitergabemaschine 214 durchgeführt wird, kann für die Verwendung mit einer Vielzahl von Netzwerkarchitekturen, Arten von unstrukturierten Punkten 204 oder Bildern 206 und/oder Aufgaben optimiert werden.
  • Der Fachmann versteht, dass die Funktionalität der Strukturierungsmaschine 122 und/oder der Weitergabemaschine 124 variieren und/oder an verschiedene Datentypen angepasst werden kann. Beispielsweise kann die Strukturierungsmaschine 122 unstrukturierte Punkte 204 in ungerichtete Graphen, gemischte Graphen, vollständig verbundene Graphen, Bäume, Gitter, Cluster, Pfade, Splines und/oder andere Arten von Strukturen umwandeln, die Beziehungen zwischen oder unter räumlich verteilten Punkten darstellen. Jede Struktur kann durch ein Verbinden von zwei oder mehr Punkten in unstrukturierten Punkten 204 (oder anderen Arten von räumlich verteilten Daten) durch eine oder mehrere Kanten, Linien und/oder Kurven und/oder ein Gruppieren verschiedener Teilmengen der Punkte auf der Grundlage von Abständen oder anderen Attributen erzeugt werden. In einem anderen Beispiel kann die Weitergabemaschine 124 Kennzeichen 242 für andere Arten räumlich verteilter Daten mit unterschiedlichem Strukturierungsgrad erzeugen, z. B. für Pixel in Bildern, Netzen und/oder Voxel-Gittern. In einem dritten Beispiel kann die Weitergabemaschine 124 Affinitätsblöcke 222 und/oder einen Ähnlichkeitskern 228 verwenden, um Merkmale und/oder Affinitäten für Gruppen von mehr als zwei Punkten zu berechnen, wie z. B. alle Punkte, die sich innerhalb eines Schwellenabstands zu einem „Ziel-“ Punkt in den Eingabedaten 202 befinden. In einem vierten Beispiel kann die Weitergabemaschine 124 den Weitergabeblock 226 verwenden, um Merkmale von Punkten, die sich innerhalb eines bestimmten Abstands, einer bestimmten Anzahl von Sprüngen und/oder eines anderen Schwellenwerts von einem Zielpunkt befinden, auf den Zielpunkt zu übertragen.
  • 3 ist eine beispielhafte Architektur für das Segmentierungsnetzwerk 220 und die Affinitätsblöcke 222 aus 2 gemäß verschiedenen Ausführungsformen. Wie es dargestellt ist, weist die beispielhafte Architektur ein residuales neuronales Netz (ResNet) 302 auf, das eine Reihe von CNN-Blöcken 302-316 aufweist. Die Ausgabe des ResNet 302 wird einem Decoderblock 332 zugeführt, der unäre Merkmale 232 für Pixel in einem Eingabebild 340 (z. B. eines der Bilder 206 in 2) erzeugt, sowie einer Reihe von Affinitätsblöcken 318-330 und zwei gewichteten Summenblöcke 334-336, die paarweise Merkmale 232 für dieselben Pixel erzeugen. In dieser beispielhaften Architektur stellen das ResNet 302 und der Decoder 332 das Segmentierungsnetzwerk 220 in 2 dar, und die Affinitätsblöcke 318-339 und die gewichteten Summenblöcke 334-336 stellen die Affinitätsblöcke 222 in 2 dar.
  • Bei einigen Ausführungsformen weist das ResNet 302 eine breite ResNet38-Architektur auf. Infolgedessen können die CNN-Blöcke 304-316 residuale Einheiten darstellen; jede residuale Einheit weist eine residuale Verbindung von dem Eingang zu der residualen Einheit zu dem Ausgang der residualen Einheit auf. Jeder der ersten fünf CNN-Blöcke 304-312 kann eine Kette aus zwei Schichtengruppen aufweisen; jede Schichtengruppe kann eine Batchnormalisierungsschicht aufweisen, gefolgt von einer ReLu-Schicht, gefolgt von einer Conv3x3-Schicht. Jeder der beiden letzten CNN-Blöcke 314-316 kann eine Kette von drei Schichtengruppen aufweisen. Die erste und dritte Schichtgruppe kann eine Batchnormalisierungsschicht aufweisen, gefolgt von einer ReLu-Schicht, gefolgt von einer Conv1x1-Schicht, und die zweite Schichtgruppe kann eine Batchnormalisierungsschicht aufweisen, gefolgt von einer ReLu-Schicht, gefolgt von einer Conv3x3-Schicht.
  • In der beispielhaften Architektur der 3 stellt der Decoderblock 332 ein Decodermodul für das Segmentierungsnetzwerk 220 dar. Der Decoderblock 332 kann beispielsweise ein Deeplab-Decodermodul aufweisen, das zur Verfeinerung der semantischen Segmentierungsergebnisse verwendet wird, die von dem ResNet 302 von dem Eingabebild 340 ausgegeben werden. Die Ausgabe des Decoderblocks 332 kann wiederum als unäre Merkmale 232 für Pixel im Eingabebild 340 verwendet werden.
  • Der Fachmann erkennt, dass das ResNet 302 und der Decoderblock 332 durch andere neuronale Netzwerkarchitekturen ersetzt werden können. Beispielsweise kann die Funktionalität des Segmentierungsnetzwerks 220 durch ein erweitertes residuales Netzwerk bzw. dilated residual Network (DRN) bereitgestellt werden, das eine Reihe von Residualblöcken bzw. residualen Blöcken aufweist, gefolgt von zwei erweiterten Faltungsschichten bzw. dilated convolutional layers. Die Ausgabe der letzten erweiterten Faltungsschicht kann dann als unäre Merkmale 232 für das Eingabebild 340 verwendet werden.
  • Wie es dargestellt ist, wird die Ausgabe jedes CNN-Blocks (z. B. der CNN-Blöcke 304-316) einem entsprechenden Affinitätsblock (z. B. den Affinitätsblöcken 318-330) zugeführt. In dieser beispielhaften Architektur können die ersten vier Affinitätsblöcke 318-324 eine Faltungsschicht aufweisen, gefolgt von einer ReLu-Schicht, gefolgt von einer Faltungsschicht, und die letzten drei Affinitätsblöcke 328-330 können eine Faltungsschicht aufweisen. Die Ausgabe der ersten vier Affinitätsblöcke 318-324 wird in einen ersten gewichteten Summenblock 334 eingespeist, und die Ausgaben des gewichteten Summenblocks 334 und der letzten drei Affinitätsblöcke 326-330 werden in einen zweiten gewichteten Summenblock 336 eingespeist. Jeder der gewichteten Summenblöcke 334-336 verwendet eine gewichtete Summe mit erlernbaren skalaren Gewichten, um einen Ausgabewert aus den entsprechenden Eingaben zu berechnen, und die Ausgabe des gewichteten Summenblocks 336 wird als paarweise Merkmale 234 für Pixel im Eingabebild 340 verwendet.
  • 4 ist ein Flussdiagramm von Verfahrensschritten zur Durchführung eines räumlichen Weitergebens gemäß verschiedenen Ausführungsformen. Obwohl die Verfahrensschritte in Verbindung mit den Systemen der 1 und 2 beschrieben werden, versteht der Fachmann, dass jedes System, das so ausgestaltet ist, dass es die Verfahrensschritte in beliebiger Reihenfolge durchführt, in den Anwendungsbereich der vorliegenden Offenbarung fällt.
  • Wie es dargestellt ist, erzeugt die Strukturierungsmaschine 122 in 402 einen oder mehrere DAGs, indem sie räumlich benachbarte Punkte in einer Menge unstrukturierter Punkte über gerichtete Kanten entlang einer oder mehrerer Richtungen verbindet. Beispielsweise kann die Strukturierungsmaschine 122 ein Verfahren zur Suche nach den K nächsten Nachbarn verwenden, um für jeden Punkt in der Menge unstrukturierter Punkte räumlich benachbarte Punkte zu identifizieren, die dem Punkt am nächsten sind (z. B. auf der Grundlage des euklidischen Abstands für 2D-Punkte und des Tangentenabstands für 3D-Punkte) und/oder sich innerhalb eines Schwellenabstands zu dem Punkt befinden. Die Strukturierungsmaschine 122 kann dann jeden DAG erzeugen, indem sie eine bestimmte Anzahl räumlich benachbarter Punkte, die sich auf einer bestimmten Seite eines gegebenen Punktes befinden, über gerichtete Kanten von den räumlich benachbarten Punkten zu dem Punkt verbindet. Diese Richtungen können zusätzlich orthogonal oder entgegengerichtet zueinander in einem 2D- oder 3D-Raum sein, der von den unstrukturierten Punkten eingenommen wird. So kann die Strukturierungsmaschine 122 für eine Menge von Superpixeln und/oder anderen Arten von unstrukturierten Punkten in einem 2D-Raum vier DAGs mit gerichteten Kanten in positiver und negativer Richtung entlang der X-Achse und Y-Achse in dem 2D-Raum erstellen. Wenn die unstrukturierten Punkte eine Punktwolke und/oder andere Arten von Punkten in einem 3D-Raum darstellen, kann die Strukturierungsmaschine 122 sechs DAGs mit gerichteten Kanten entlang der positiven und negativen X-, Y- und Z-Achse im 3D-Raum erstellen.
  • Als Nächstes unterteilt die Strukturierungsmaschine 122 bei 404 die unstrukturierten Punkte in eine Vielzahl von Gruppen von Punkten auf der Grundlage einer Topologie jedes DAG. Beispielsweise kann die Strukturierungsmaschine 122 ein topologisches Sortierungsvorgehen verwenden, um mehrere Gruppen von Punkten in jedem DAG zu erzeugen, so dass jede Gruppe eine Teilmenge der unstrukturierten Punkte aufweist, die in einem entsprechenden DAG nicht miteinander verbunden sind, und auch nur eingehende Kanten von einer oder mehreren Gruppen aufweisen, die der Gruppe entlang der durch Kanten in dem DAG dargestellten Richtung vorausgehen.
  • Die Weitergabemaschine 124 wendet dann bei 406 eine erste Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder an, die den unstrukturierten Punkten zugeordnet sind, um (i) eine Menge von Merkmalen für die unstrukturierten Punkte und (ii) eine Menge von paarweisen Affinitäten zwischen räumlich benachbarten Punkten, die durch Kanten in den DAGs verbunden sind, zu erzeugen, wie es weiter im Folgenden mit 5 beschrieben ist. Die Weitergabemaschine 124 erzeugt auch eine Reihe von Kennzeichen für die unstrukturierten Punkte.
  • Genauer gesagt, gibt die Weitergabemaschine 124 bei 408 die Merkmale über jeden DAG auf der Grundlage der paarweisen Affinitäten weiter. Zum Beispiel kann die Weitergabemaschine 124 ein unäres Merkmal für einen gegebenen unstrukturierten Punkt in jedem DAG aktualisieren, basierend auf einer Summe einer Teilmenge von unären Merkmalen für eine Teilmenge von unstrukturierten Punkten mit ausgehenden Kanten zu dem unstrukturierten Punkt in dem DAG, gewichtet mit einer Teilmenge von paarweisen Affinitäten zwischen der Teilmenge von unstrukturierten Punkten und dem unstrukturierten Punkt. Die Weitergabemaschine 124 kann optional ein solches Weitergeben in einem Vorgehen mit parallelen „Zeitschritten“ unter Verwendung der im Schritt 404 erzeugten Gruppen von unstrukturierten Punkten durchführen. Zum Beispiel kann die Weitergabemaschine 124 ein paralleles Weitergeben einer Teilmenge von unären Merkmalen von einer ersten Gruppe zu einer zweiten Gruppe durchführen, die mit der ersten Gruppe verbunden ist, um die Berechnungszeit zu reduzieren, die mit der Durchführung der räumlichen Weitergabe über mehrere DAGs und/oder eine große Anzahl von unstrukturierten Punkten verbunden ist.
  • Nachdem die Merkmale über jeden DAG weitergegeben wurden, aggregiert die Weitergabemaschine 124 bei 410 Ergebnisse des Weitergebens der Merkmale über den/die DAG(s) in einer Menge von Merkmalsvektoren für die unstrukturierten Punkte und wendet bei 412 eine zweite Menge von neuronalen Netzwerkschichten auf die Merkmalsvektoren an, um eine Menge von Kennzeichen für die unstrukturierten Punkte zu erzeugen. Beispielsweise kann die Weitergabemaschine 124 eine elementweise Max-Pooling-Schicht und/oder eine andere Art von Aggregationsschicht verwenden, um mehrere Mengen von weitergegebenen Merkmalen von mehreren DAGs zu einer einzigen Menge von Merkmalsvektoren für die unstrukturierten Punkte zu kombinieren. Die Weitergabemaschine 124 kann dann eine oder mehrere Vorhersageschichten auf die Merkmalsvektoren anwenden, um die Merkmalsvektoren in vorhergesagte Wahrscheinlichkeiten von Klassen, Farben und/oder anderen Kennzeichen für die unstrukturierten Punkte umzuwandeln.
  • 5 ist ein Flussdiagramm von Verfahrensschritten zur Erzeugung von Merkmalen und paarweisen Affinitäten für eine Menge von unstrukturierten Punkten gemäß verschiedenen Ausführungsformen. Obwohl die Verfahrensschritte in Verbindung mit den Systemen der 1 und 2 beschrieben werden, versteht der Fachmann, dass jedes System, das so ausgestaltet ist, dass es die Verfahrensschritte in beliebiger Reihenfolge ausführt, in den Anwendungsbereich der vorliegenden Offenbarung fällt.
  • Wie es dargestellt ist, wendet die Weitergabemaschine 124 bei 502 eine Abfolge von Residualblöcken auf ein Bild an, um eine Menge von unären Merkmalen für Pixel in dem Bild zu erzeugen. Zum Beispiel kann die Weitergabemaschine 124 ein breites ResNet38, ein DRN und/oder eine andere Art von Residualnetzwerk verwenden, um die unären Merkmale von dem Bild zu erzeugen.
  • Als Nächstes wendet die Weitergabemaschine 124 bei 504 eine Menge von Affinitätsblöcken auf die Ausgaben der Residualblöcke an, um eine Menge von paarweisen Merkmalen für die Pixel zu erzeugen. Zum Beispiel kann die Weitergabemaschine 124 die Ausgabe jedes Residualblocks als Eingabe für einen entsprechenden Affinitätsblock verwenden. Jeder Affinitätsblock kann eine oder mehrere Faltungsschichten, ReLu-Schichten und/oder andere Arten von Schichten aufweisen. Die Ausgabe der Affinitätsblöcke kann unter Verwendung einer oder mehrerer Runden gewichteter Summen aggregiert werden, und ein Satz von paarweisen Merkmalen für Pixel in dem Bild kann als die Ausgabe einer der gewichteten Summen erhalten werden.
  • Die Schritte 502-504 können durch 506 für die verbleibenden Bilder wiederholt werden, die der Menge unstrukturierter Punkte zugeordnet sind. Zum Beispiel kann die Weitergabemaschine 124 eine Reihe von Bildern mit mehreren Ansichten, die einer Punktwolke entsprechen, in die Residualblöcke und Affinitätsblöcke eingeben, um die unären und paarweisen Merkmale für alle Bilder zu erzeugen. Bei einigen Ausführungsformen können die Schritte 502-504 parallel auf mehreren GPUs oder anderen Arten von Prozessoren ausgeführt werden. Folglich kann jeder Prozessor die unären und paarweisen Merkmale für eine andere Teilmenge von Bildern berechnen.
  • Nachdem die unären und paarweisen Merkmale für alle Bilder, die den unstrukturierten Punkten zugeordnet sind, berechnet wurden, aggregiert die Weitergabemaschine 124 bei 508 Teilmengen von Merkmalen für Mengen von Pixeln in dem/n Bild(ern), die mit den unstrukturierten Punkten korrespondieren, zu punktweisen Merkmalen für die unstrukturierten Punkte. Zum Beispiel kann die Weitergabemaschine 124 ein punktweises unäres Merkmal für jeden unstrukturierten Punkt als Mittelwert des unären Merkmals von allen Pixeln berechnen, die dem unstrukturierten Punkt in dem Bild/den Bildern zugeordnet sind. Die Weitergabemaschine 124 kann auch ein paarweises Gesamtmerkmal für jeden unstrukturierten Punkt als Mittelwert des paarweisen Merkmals von allen Pixeln berechnen, die dem unstrukturierten Punkt in dem/den Bild(ern) zugeordnet sind.
  • Die Weitergabemaschine 124 wendet dann bei 510 einen Ähnlichkeitskern auf Paare von paarweisen Merkmalen für Paare von Pixeln an, die Paaren von unstrukturierten Punkten zugeordnet sind, die durch Kanten in einem oder mehreren DAGs verbunden sind, um paarweise Affinitäten zwischen den Paaren von unstrukturierten Punkten zu erzeugen. Zum Beispiel kann die Weitergabemaschine 124 jede paarweise Affinität berechnen, indem sie ein Skalarprodukt und/oder einen eingebetteten Gauß-Kernel auf die gesamten paarweisen Merkmale für jedes Paar unstrukturierter Punkte anwendet. Alternativ kann die Weitergabemaschine 124 eine separate paarweise Affinität zwischen zwei paarweisen Merkmalen für jedes Paar von Pixeln berechnen, das dem Paar unstrukturierter Punkte zugeordnet ist, und mehrere paarweise Affinitäten für mehrere Paare von Pixeln, die dem Paar unstrukturierter Punkte entsprechen, zu einer gesamten paarweisen Affinität zwischen den unstrukturierten Punkten aggregieren (z. B. zu einem Mittelwert). Die punktweisen unären Merkmale und die gesamten paarweisen Affinitäten für die unstrukturierten Punkte können dann verwendet werden, um die unären Merkmale über einen oder mehrere DAGs weiterzugeben, die aus den unstrukturierten Punkten erstellt wurden, wie es oben beschrieben ist.
  • Zusammenfassend führen die offengelegten Vorgehen ein räumliches Weitergeben von Attributen über eine Menge von unstrukturierten Punkten und eine Inferenz bzw. Folgerung von Kennzeichen, die den unstrukturierten Punkten zugeordnet sind, auf der Grundlage der weitergegebenen Attributen durch. Um eine Struktur oder eine Ordnung bereitzustellen, über die die Attribute weitergegeben werden können, können einen oder mehrere DAGs aus den unstrukturierten Punkten ausgebildet werden. Jeder DAG kann gerichtete Kanten entlang einer entsprechenden Richtung zwischen Paaren von räumlich benachbarten Punkten in der Menge der unstrukturierten Punkte aufweisen. Eine Vielzahl von neuronalen Netzen und/oder Vorgehen kann verwendet werden, um unäre Merkmale zu erhalten oder zu erzeugen, die sich auf die Attribute für einzelne Pixel in einem oder mehreren Bildern beziehen, wobei mindestens ein Teil der Pixel mit Repräsentierungen der unstrukturierten Punkte in dem/den Bild(ern) korrespondiert. Die unären Merkmale können in eine Menge von Affinitätsblöcken eingegeben werden, und eine Menge von paarweisen Merkmalen für die Pixel und/oder unstrukturierten Punkte kann als Ausgabe von den Affinitätsblöcken erhalten werden. Die unären und paarweisen Merkmale für Pixel, die jedem bzw. dem jeweiligen unstrukturierten Punkt zugeordnet sind, können gemittelt oder anderweitig zu punktweisen Merkmalen für den unstrukturierten Punkt aggregiert werden, und ein Ähnlichkeitskern kann auf Paare der aggregierten paarweisen Merkmale angewendet werden, um paarweise Affinitäten zwischen Paaren unstrukturierter Punkte zu berechnen, die durch gerichtete Kanten in dem/n DAG(s) verbunden sind. Die unären Merkmale werden dann entlang der gerichteten Kanten jedes DAGs auf der Grundlage der entsprechenden paarweisen Affinitäten weitergegeben, so dass eine höhere paarweise Affinität zu einer stärkeren Weitergabe eines unären Merkmals von einem Ursprungspunkt zu einem Zielpunkt und eine niedrigere paarweise Affinität zu einer schwächeren Weitergabe des unären Merkmals von dem Ursprungspunkt zu dem Zielpunkt führt. Die weitergegebenen Merkmale können dann von zusätzlichen neuronalen Netzwerkschichten aggregiert und/oder analysiert werden, um Kennzeichen wie Klassen, die durch die unstrukturierten Punkte repräsentiert werden, Farben der unstrukturierten Punkte und/oder andere Attribute zu erzeugen.
  • Diese Erzeugung von unären und paarweisen Merkmalen und/oder die Weitergabe von Merkmalen über Punkte in jedem DAG kann parallel erfolgen (z. B. auf mehreren Verarbeitungsknoten), was die Effizienz verbessert und/oder die Berechnungszeit im Vergleich zu herkömmlichen Vorgehen verringert, die die räumliche Weitergabe und/oder die Erzeugung von Merkmalen sequentiell durchführen. Zusätzliche Verbesserungen in Bezug auf den Ressourcenaufwand und/oder die Berechnungseffizienz können dadurch erzielt werden, dass die Merkmale über eine Anzahl unstrukturierter Punkte (z. B. Punkte in einer Punktwolke, Superpixel usw.) anstelle einer viel größeren Anzahl von Pixeln in Bildern desselben Objekts oder derselben Szene übertragen werden. Schließlich stellen die offengelegten Vorgehen Leistungsverbesserungen bei der semantischen Segmentierung, der Farbrestaurierung und/oder anderen Computer-Vision-Aufgaben in Bezug auf die Punkte und/oder Attribute gegenüber herkömmlichen Vorgehen, die eine pixelweise räumliche Weitergabe durchführen und/oder die räumliche Weitergabe der Attribute unterlassen, bereit. Zum Beispiel erhöht die räumliche Weitergabe, die durch die offengelegten Vorgehen durchgeführt wird, die Intersection-over-Union (loU) zwischen Klassenvorhersagen und Ground-Truth-Kennzeichen bei einer semantischen Segmentierungsaufgabe um 2 % bis 6,5 % gegenüber grundlegenden semantischen Segmentierungsnetzwerken, räumlichen Weitergabenetzwerken, die eine Weitergabe von Segmentierungskarten auf Pixelebene durchführen, und/oder anderen Vorgehen zum Erlernen der Affinität zwischen Punkten im Raum. Folglich stellen die offengelegten Vorgehen technologische Verbesserungen in Computersystemen, Anwendungen, Frameworks und/oder Vorgehen zur Durchführung von räumlicher Weitergabe bzw. Ausbreitung, semantischer Segmentierung, Farbwiederherstellung und/oder anderen Computer-Vision-Aufgaben bereit.
  • 1. Bei einigen Ausführungsformen umfasst ein Verfahren zum Durchführen eines räumlichen Weitergebens bzw. Propagierens ein Erzeugen einer ersten Struktur, indem zwei oder mehr Punkte, die in einer Menge räumlich verteilter Punkte enthalten sind, verbunden werden; ein Anwenden einer ersten Menge neuronaler Netzwerkschichten auf ein oder mehrere Bilder, die der Menge räumlich verteilter Punkte zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge räumlich verteilter Punkte zu erzeugen und um (ii) eine Menge von Affinitäten zwischen den zwei oder mehr Punkten zu erzeugen; und ein Erzeugen einer Menge von Kennzeichen für die Menge räumlich verteilter Punkte, indem die Menge von Merkmalen über die erste Struktur auf der Grundlage der Menge von Affinitäten weitergegeben wird.
  • 2. Verfahren nach Satz 1, das darüber hinaus umfasst ein Erzeugen einer oder mehrerer Strukturen, indem zwei oder mehr zusätzliche Punkte, die in der Menge räumlich verteilter Punkte enthalten sind, über eine oder mehrere Kanten entlang einer oder mehrerer Richtungen verbunden werden; und ein Erzeugen der Menge von Kennzeichen, indem die Menge von Merkmalen über die eine oder die mehreren Strukturen auf der Grundlage der Menge von Affinitäten für die zwei oder mehr zusätzlichen Punkte weitergegeben wird.
  • 3. Verfahren nach einem der Sätze 1 bis 2, wobei das Erzeugen der Menge von Kennzeichen umfasst ein Aggregieren bzw. Zusammenfassen eines ersten Ergebnisses des Weitergebens der Menge von Merkmalen über die erste Struktur und eines oder mehrerer Ergebnisse des Weitergebens der Menge von Merkmalen über die eine oder die mehreren Strukturen zu einer Menge von Merkmalsvektoren für die Menge von räumlich verteilten Punkten; und ein Anwenden einer zweiten Menge von neuronalen Netzwerkschichten auf die Menge von Merkmalsvektoren, um die Menge von Kennzeichen zu erzeugen.
  • 4. Verfahren nach einem der Sätze 1 bis 3, wobei die eine oder die mehreren Richtungen eine zweite Richtung, die orthogonal zu der ersten Richtung ist, und eine dritte Richtung, die der ersten Richtung entgegengerichtet ist, umfassen.
  • 5. Verfahren nach einem der Sätze 1 bis 4, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder ein Anwenden einer Sequenz von Residualblöcken bzw. residualen Blöcken auf ein Bild umfasst, um ein erstes unäres Merkmal für ein erstes Pixel in dem Bild zu erzeugen.
  • 6. Verfahren nach einem der Sätze 1 bis 5, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder weiter ein Anwenden einer Menge von Affinitätsblöcken auf eine erste Menge von Ausgaben der Menge von residualen Blöcken umfasst, um ein erstes paarweises Merkmal für das erste Pixel zu erzeugen.
  • 7. Verfahren nach einem der Sätze 1 bis 6, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder weiter ein Anwenden eines Ähnlichkeitskerns auf das erste paarweise Merkmal und ein zweites paarweises Merkmal für ein zweites Pixel in dem Bild umfasst, um eine paarweise Affinität zwischen dem ersten Pixel und dem zweiten Pixel zu erzeugen.
  • 8. Verfahren nach einem der Sätze 1 bis 7, wobei das Anwenden der Menge von Affinitätsblöcken auf die erste Menge von Ausgaben der Menge von residualen Blöcken ein Erzeugen des ersten paarweisen Merkmals als eine gewichtete Summe einer zweiten Menge von Ausgaben der Menge von Affinitätsblöcken umfasst.
  • 9. Verfahren nach einem der Sätze 1 bis 8, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst ein Aggregieren einer Teilmenge der Menge von Merkmalen für eine Menge von Pixeln in dem einen oder den mehreren Bildern, die einem ersten räumlich verteilten Punkt entsprechen, zu einem oder mehreren punktweisen Merkmalen für den ersten räumlich verteilten Punkt; und ein Berechnen einer paarweisen Affinität zwischen dem ersten räumlich verteilten Punkt und einem zweiten räumlich verteilten Punkt auf der Grundlage einer Ähnlichkeit zwischen einem ersten paarweisen Merkmal in dem einen oder den mehreren punktweisen Merkmalen und einem zweiten paarweisen Merkmal für den zweiten unstrukturierten Punkt.
  • 10. Verfahren nach einem der Sätze 1 bis 9, wobei das Weitergeben der Menge von Merkmalen über die erste Struktur ein Aktualisieren eines Merkmals für einen ersten Punkt in der ersten Struktur auf der Grundlage einer Summe einer Teilmenge der Menge von Merkmalen für eine Teilmenge der Menge von räumlich verteilten Punkten mit ausgehenden Kanten zu dem ersten Punkt in der ersten Struktur gewichtet mit einer Teilmenge der Menge von paarweisen Affinitäten zwischen der Teilmenge der Menge von räumlich verteilten Punkten und dem ersten Punkt umfasst.
  • 11. Verfahren nach einem der Sätze 1 bis 10, wobei das Weitergeben der Menge von Merkmalen über die erste Struktur umfasst ein Unterteilen der Menge von räumlich verteilten Punkten in eine Vielzahl von Gruppen von Punkten auf der Grundlage einer Topologie der ersten Struktur, wobei jede in der Vielzahl von Gruppen von Punkten enthaltene Gruppe (i) eine Teilmenge der räumlich verteilten Punkte, die in der ersten Struktur nicht miteinander verbunden sind, und (ii) eingehende Kanten von einer oder mehreren in der Vielzahl von Gruppen enthaltenen Gruppen, die der Gruppe entlang der ersten Richtung in der ersten Struktur vorausgehen, aufweist; und ein paralleles Weitergeben einer Teilmenge der Menge von Merkmalen von einer ersten Gruppe in der Vielzahl von Gruppen zu einer zweiten Gruppe in der Vielzahl von Gruppen, die mit der ersten Gruppe durch eine Teilmenge der einen oder mehreren Kanten verbunden ist.
  • 12. Verfahren nach einem der Sätze 1 bis 11, wobei das Verbinden der zwei oder mehr Punkte ein Verbinden von zwei oder mehr räumlich benachbarten Punkten, die in der Menge der räumlich verteilten Punkte enthalten sind, über gerichtete Kanten entlang einer ersten Richtung umfasst.
  • 13. Verfahren nach einem der Sätze 1 bis 12, wobei die erste Struktur einen gerichteten azyklischen Graphen (DAG) umfasst.
  • 14. Verfahren nach einem der Sätze 1 bis 13, wobei die Menge der räumlich verteilten Punkte eine Punktwolke und/oder ein oder mehrere Superpixel umfasst.
  • 15. Verfahren nach einem der Sätze 1 bis 14, wobei die Menge von Kennzeichen ein Klassenkennzeichen und/oder eine Farbe umfasst.
  • 16. Bei einigen Ausführungsformen speichert ein nicht-transitorisches computerlesbares Medium Befehle, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, die folgenden Schritte auszuführen: Erzeugen eines ersten gerichteten azyklischen Graphen (DAG), indem räumlich benachbarte Punkte, die in einer Menge unstrukturierter Punkte enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbunden werden; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, die der Menge von unstrukturierten Punkten zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von unstrukturierten Punkten zu erzeugen und um (ii) eine Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, die durch die gerichteten Kanten verbunden sind, zu erzeugen; und Erzeugen einer Menge von Kennzeichen für die Menge von unstrukturierten Punkten, indem die Menge von Merkmalen über den ersten DAG auf der Grundlage der Menge von paarweisen Affinitäten weitergegeben wird.
  • 17. Nicht-transitorisches computerlesbares Medium nach Satz 16, wobei die Schritte darüber hinaus umfassen ein Erzeugen einer oder mehrerer DAGs, indem die räumlich benachbarten Punkte, die in der Menge unstrukturierter Punkte enthalten sind, über zusätzliche gerichtete Kanten entlang einer oder mehrerer Richtungen verbunden werden; und ein Erzeugen der Menge von Kennzeichen, indem die Menge von Merkmalen über den einen oder die mehreren DAGs auf der Grundlage der Menge paarweiser Affinitäten für die zusätzlichen gerichteten Kanten weitergegeben wird.
  • 18. Nicht-transitorisches computerlesbares Medium nach einem der Sätze 16 bis 17, wobei das Erzeugen der Menge von Kennzeichen umfasst ein Zusammenfassen bzw. Aggregieren eines ersten Ergebnisses des Weitergebens der Menge von Merkmalen über den ersten DAG und eines oder mehrerer Ergebnisse des Weitergebens der Menge von Merkmalen über den einen oder die mehreren DAGs in eine Menge von Merkmalsvektoren für die Menge von unstrukturierten Punkten; und ein Anwenden einer zweiten Menge von neuronalen Netzwerkschichten auf die Menge von Merkmalsvektoren, um die Menge von Kennzeichen zu erzeugen.
  • 19. Nicht-transitorisches computerlesbares Medium nach einem der Sätze 16 bis 18, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst ein Anwenden einer Sequenz von residualen Blöcken auf ein Bild, um ein erstes unäres Merkmal für ein erstes Pixel in dem Bild zu erzeugen; Anwenden einer Menge von Affinitätsblöcken auf eine erste Menge von Ausgaben der Menge von residualen Blöcken, um ein erstes paarweises Merkmal für das erste Pixel zu erzeugen; und Anwenden eines Ähnlichkeitskerns auf das erste paarweise Merkmal und ein zweites paarweises Merkmal für ein zweites Pixel in dem Bild, um eine paarweise Affinität zwischen dem ersten Pixel und dem zweiten Pixel zu erzeugen.
  • 20. Nicht-transitorisches computerlesbares Medium nach einem der Sätze 16 bis 19, wobei der Ähnlichkeitskern ein Skalarprodukt und/oder eine eingebettete Gauß-Funktion umfasst.
  • 21. Nicht-transitorisches computerlesbares Medium nach einem der Sätze 16 bis 20, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst ein paralleles Erzeugen der Menge von Merkmalen auf einer Vielzahl von Prozessoren; und ein Zusammenfassen bzw. Aggregieren der Menge von Merkmalen zu der Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, die durch die gerichteten Kanten verbunden sind.
  • 22. Bei einigen Ausführungsformen umfasst ein System einen Speicher, der Befehle speichert, und einen Prozessor, der mit dem Speicher gekoppelt ist und, wenn er die Befehle ausführt, ausgestaltet ist, um einen ersten gerichteten azyklischen Graphen (DAG) zu erzeugen, indem er räumlich benachbarte Punkte, die in einer Menge von räumlich verteilten Punkten enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbindet; um eine erste Menge neuronaler Netzwerkschichten auf ein oder mehrere Bilder, die mit der Menge räumlich verteilter Punkte verbunden sind, anzuwenden, um (i) eine Menge von Merkmalen für die Menge räumlich verteilter Punkte zu erzeugen und um (ii) eine Menge paarweiser Affinitäten zwischen den räumlich benachbarten Punkten, die durch die gerichteten Kanten verbunden sind, zu erzeugen; und um eine Menge von Kennzeichen für die Menge räumlich verteilter Punkte zu erzeugen, indem die Menge von Merkmalen über den ersten DAG auf der Grundlage der Menge paarweiser Affinitäten weitergegeben wird.
  • 23. In einigen Ausführungsformen umfasst ein Verfahren zum Analysieren von Bilddaten ein Erzeugen einer ersten Struktur, indem eine Menge von Punkten verbunden wird, die in einer Punktwolke enthalten sind, die auf der Grundlage von Messungen durch einen oder mehrere Sensoren an einem autonomen Fahrzeug erzeugt wird; ein Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, die der Punktwolke zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von Merkmalen zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, die in der Menge von Punkten enthalten sind, zu erzeugen; ein Erzeugen einer Menge von Kennzeichen für die Menge von Punkten, indem die Menge von Merkmalen über die erste Struktur auf der Grundlage der Menge von Affinitäten weitergegeben wird; und ein Veranlassen des autonomen Fahrzeugs, eine Fahraktion auf der Grundlage einer Position des autonomen Fahrzeugs in Bezug auf ein oder mehrere Objekte durchzuführen, die durch die Menge von Kennzeichen und die Menge von Punkten dargestellt werden.
  • 24. Verfahren nach Satz 23, wobei das eine oder die mehreren Objekte mindestens eines von einem Fahrzeug, einem Fußgänger, einer Straße, einem Gebäude, einer Verkehrsampel, einem Straßenschild und einer Fahrbahnmarkierung umfassen.
  • 25. Bei einigen Ausführungsformen umfasst ein Verfahren zum Analysieren von Bilddaten ein Umwandeln eines medizinischen Scans von einem oder mehreren Objekten in ein dreidimensionales (3D) Netz; ein Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, die während des medizinischen Scans gesammelt wurden, um (i) eine Menge von Merkmalen für eine Menge von Punkten in dem 3D-Netz zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, die durch Kanten in dem 3D-Netz verbunden sind, zu erzeugen; ein Zuordnen einer Menge von Kennzeichen, die dem einen oder den mehreren Objekten zugeordnet sind, zu der Menge von Punkten, indem die Menge von Merkmalen über eine oder mehrere Richtungen in dem 3D-Netz auf der Grundlage der Menge von Affinitäten weitergegeben wird; und ein Erzeugen, auf der Grundlage der Menge von Kennzeichen, einer Ausgabe zur Unterstützung eines medizinischen Verfahrens, das mit dem medizinischen Scan zusammenhängt.
  • 26. Verfahren nach Satz 25, wobei der medizinische Scan mindestens einen der folgenden Scans umfasst: einen Computertomographie-Scan (CT), einen Magnetresonanztomographie-Scan (MRI) und einen Positronen-Emissions-Tomographie-Scan (PET).
  • 27. Bei einigen Ausführungsformen umfasst ein Verfahren zum Analysieren von Bilddaten ein Erzeugen einer ersten Struktur, indem eine Menge von Punkten verbunden wird, die in einer Punktwolke enthalten sind, die auf der Grundlage einer Abtastung eines Innenraums erzeugt wird; ein Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, die der Punktwolke zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von Punkten zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, die in der Menge von Punkten enthalten sind, zu erzeugen; ein Erzeugen einer Menge von Kennzeichen für die Menge von Punkten, indem die Menge von Merkmalen über die erste Struktur auf der Grundlage der Menge von Affinitäten weitergegeben wird; und ein Veranlassen eines Roboters, eine Aktion durchzuführen, die sich auf eine Interaktion mit dem Innenraum auf der Grundlage einer Position des Roboters in Bezug auf ein oder mehrere Objekte, die durch die Menge von Kennzeichen dargestellt werden, bezieht.
  • 28. Verfahren nach Satz 27, wobei das eine oder die mehreren Objekte mindestens eines von einem Boden, einer Wand, einer Dekoration und einem Möbelstück umfassen.
  • Alle Kombinationen der in den Ansprüchen genannten Elemente und/oder der in dieser Anmeldung beschriebenen Elemente fallen in beliebiger Weise in den vorgesehenen Anwendungsbereich der vorliegenden Erfindung und des Schutzes.
  • Die Beschreibungen der verschiedenen Ausführungsformen dienen der Veranschaulichung, erheben jedoch nicht den Anspruch auf Vollständigkeit oder Beschränkung auf die offengelegten Ausführungsformen. Viele Modifikationen und Variationen sind für den Fachmann offensichtlich, ohne dass der Umfang und der Geist der beschriebenen Ausführungsformen verlassen werden.
  • Aspekte der vorliegenden Ausführungsformen können als System, Verfahren oder Computerprogrammprodukt ausgestaltet sein. Dementsprechend können Aspekte der vorliegenden Offenbarung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform aufweisen, die Software- und Hardware-Aspekte kombiniert, was hier allgemein als „Modul“, „System“ oder „Computer“ bezeichnet werden kann. Darüber hinaus kann jede in der vorliegenden Offenbarung beschriebene Hardware- und/oder Softwaretechnik, jeder Prozess, jede Funktion, jede Komponente, jede Maschine, jedes Modul oder jedes System als Schaltkreis oder als Satz von Schaltkreisen implementiert sein. Darüber hinaus können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medium(en) mit darauf ausgestaltetem computerlesbarem Programmcode ausgestaltet ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber nicht ausschließlich, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, ein Apparat oder eine Einrichtung oder eine geeignete Kombination der vorgenannten sein. Spezifischere Beispiele (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würden Folgendes enthalten: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine optische Faser, einen tragbaren Compact-Disc-Festwertspeicher (CD-ROM), eine optische Speichereinrichtung, eine magnetische Speichereinrichtung oder jede geeignete Kombination der vorgenannten. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium jedes greifbare Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, einem Gerät oder einer Einrichtung enthalten oder speichern kann.
  • Aspekte der vorliegenden Offenbarung werden oben unter Bezugnahme auf Flussdiagrammabbildungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammdarstellungen und/oder Blockdiagramme sowie Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder Blockdiagrammen durch Computerprogrammanweisungen implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Allzweckcomputers, eines Spezialcomputers oder eines anderen programmierbaren Datenverarbeitungsgeräts zugeführt werden, um eine Maschine zu erzeugen. Die Anweisungen ermöglichen bei Ausführung durch den Prozessor des Computers oder eines anderen programmierbaren Datenverarbeitungsgeräts die Implementierung der im Flussdiagramm und/oder Blockdiagramm angegebenen Funktionen/Aktionen. Bei solchen Prozessoren kann es sich ohne Einschränkung um Allzweckprozessoren, Spezialprozessoren, anwendungsspezifische Prozessoren oder feldprogrammierbare Gate-Arrays handeln.
  • Die Flussdiagramme und Blockdiagramme in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block im Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Abschnitt des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Implementierung der angegebenen logischen Funktion(en) umfasst. Es sei darauf hingewiesen, dass in einigen alternativen Implementierungen die in den Blöcken angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. So können z. B. zwei nacheinander gezeigte Blöcke in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es wird auch darauf hingewiesen, dass jeder Block in den Blockdiagrammen und/oder Flussdiagrammen sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder Flussdiagrammen durch spezielle Hardware-basierte Systeme, die die angegebenen Funktionen oder Handlungen ausführen, oder durch Kombinationen von spezieller Hardware und Computerbefehlen implementiert sein können.
  • Während sich das Vorstehende auf Ausführungsformen der vorliegenden Offenbarung bezieht, können andere und darüber hinausgehende Ausführungsformen der Offenbarung entwickelt werden, ohne dass der grundsätzliche Umfang der Offenbarung verlassen wird, und der Umfang der Offenbarung wird durch die folgenden Ansprüche bestimmt.

Claims (28)

  1. Verfahren zum Durchführen eines räumlichen Weitergebens, umfassend: Erzeugen einer ersten Struktur durch Verbinden von zwei oder mehr Punkten, welche in einer Menge von räumlich verteilten Punkten vorhanden sind; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, welche der Menge räumlich verteilter Punkte zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge räumlich verteilter Punkte zu erzeugen und um (ii) eine Menge von Affinitäten zwischen den zwei oder mehr Punkten zu erzeugen; und Erzeugen einer Menge von Kennzeichen für die Menge räumlich verteilter Punkte, indem die Menge von Merkmalen über die erste Struktur abhängig von der Menge von Affinitäten weitergegeben wird.
  2. Verfahren nach Anspruch 1, welches darüber hinaus umfasst: Erzeugen einer oder mehrerer Strukturen, indem zwei oder mehr zusätzliche Punkte, welche in der Menge räumlich verteilter Punkte enthalten sind, über eine oder mehrere Kanten entlang einer oder mehrerer Richtungen verbunden werden; und Erzeugen der Menge von Kennzeichen, indem die Menge von Merkmalen über die eine oder die mehreren Strukturen abhängig von der Menge von Affinitäten für die zwei oder mehr zusätzlichen Punkte weitergegeben werden.
  3. Verfahren nach Anspruch 2, wobei das Erzeugen der Menge von Kennzeichen umfasst Aggregieren eines ersten Ergebnisses des Weitergebens der Menge von Merkmalen über die erste Struktur und eines oder mehrerer Ergebnisse eines Weitergebens der Menge von Merkmalen über die eine oder die mehreren Strukturen in eine Menge von Merkmalsvektoren für die Menge von räumlich verteilten Punkten; und Anwenden einer zweiten Menge von neuronalen Netzwerkschichten auf die Menge von Merkmalsvektoren, um die Menge von Kennzeichen zu erzeugen.
  4. Verfahren nach Anspruch 2 oder 3, wobei die eine oder die mehreren Richtungen eine zweite Richtung, welche orthogonal zu der ersten Richtung ist, und eine dritte Richtung, welche der ersten Richtung entgegengerichtet ist, umfassen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder ein Anwenden einer Sequenz von residualen Blöcken auf ein Bild umfasst, um ein erstes unäres Merkmal für ein erstes Pixel in dem Bild zu erzeugen.
  6. Verfahren nach Anspruch 5, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder darüber hinaus ein Anwenden einer Menge von Affinitätsblöcken auf eine erste Menge von Ausgaben der Menge von residualen Blöcken umfasst, um ein erstes paarweises Merkmal für das erste Pixel zu erzeugen.
  7. Verfahren nach Anspruch 6, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder darüber hinaus ein Anwenden eines Ähnlichkeitskerns auf das erste paarweise Merkmal und ein zweites paarweises Merkmal für ein zweites Pixel in dem Bild umfasst, um eine paarweise Affinität zwischen dem ersten Pixel und dem zweiten Pixel zu erzeugen.
  8. Verfahren nach Anspruch 6 oder 7, wobei das Anwenden der Menge von Affinitätsblöcken auf die erste Menge von Ausgaben der Menge von residualen Blöcken ein Erzeugen des ersten paarweisen Merkmals als eine gewichtete Summe einer zweiten Menge von Ausgaben der Menge von Affinitätsblöcken umfasst.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst: Aggregieren einer Teilmenge der Menge von Merkmalen für eine Menge von Pixeln in dem einen oder den mehreren Bildern, die einem ersten räumlich verteilten Punkt entsprechen, zu einem oder mehreren punktweisen Merkmalen für den ersten räumlich verteilten Punkt; und Berechnen einer paarweisen Affinität zwischen dem ersten räumlich verteilten Punkt und einem zweiten räumlich verteilten Punkt abhängig von einer Ähnlichkeit zwischen einem ersten paarweisen Merkmal in dem einen oder den mehreren punktweisen Merkmalen und einem zweiten paarweisen Merkmal für den zweiten räumlich verteilten Punkt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Weitergeben der Menge von Merkmalen über die erste Struktur ein Aktualisieren eines Merkmals für einen ersten Punkt in der ersten Struktur abhängig von einer Summe einer Teilmenge der Menge von Merkmalen für eine Teilmenge der Menge von räumlich verteilten Punkten mit ausgehenden Kanten zu dem ersten Punkt in der ersten Struktur gewichtet mit einer Teilmenge der Menge von paarweisen Affinitäten zwischen der Teilmenge der Menge von räumlich verteilten Punkten und dem ersten Punkt umfasst.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Weitergeben der Menge von Merkmalen über die erste Struktur umfasst Aufteilen der Menge räumlich verteilter Punkte in eine Vielzahl von Gruppen von Punkten abhängig von einer Topologie der ersten Struktur, wobei jede in der Vielzahl von Gruppen von Punkten enthaltene Gruppe (i) eine Teilmenge der räumlich verteilten Punkte, welche in der ersten Struktur nicht miteinander verbunden sind, und (ii) Kanten, welche von einer oder von mehreren Gruppen eingehen, die in der Vielzahl von Gruppen enthalten sind, die der Gruppe entlang der ersten Richtung in der ersten Struktur vorausgehen, aufweist; und paralleles Weitergeben einer Teilmenge der Menge von Merkmalen von einer ersten Gruppe in der Vielzahl von Gruppen zu einer zweiten Gruppe in der Vielzahl von Gruppen, welche mit der ersten Gruppe durch eine Teilmenge der einen oder mehreren Kanten verbunden ist.
  12. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verbinden der zwei oder mehr Punkte ein Verbinden von zwei oder mehr räumlich benachbarten Punkten, welche in der Menge der räumlich verteilten Punkte enthalten sind, über gerichtete Kanten entlang einer ersten Richtung umfasst.
  13. Verfahren nach einem der vorhergehenden Ansprüche, wobei die erste Struktur einen gerichteten azyklischen Graphen (DAG) umfasst.
  14. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Menge der räumlich verteilten Punkte eine Punktwolke und/oder ein oder mehrere Superpixel umfasst.
  15. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Menge der Kennzeichen ein Klassenkennzeichen und/oder eine Farbe umfasst.
  16. Nicht-transitorisches computerlesbares Medium, welches Anweisungen speichert, welche, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, die Schritte auszuführen: Erzeugen eines ersten gerichteten azyklischen Graphen, DAG, indem räumlich benachbarte Punkte, welche in einer Menge von unstrukturierten Punkten enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbunden werden; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, welche der Menge von unstrukturierten Punkten zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von unstrukturierten Punkten zu erzeugen und um (ii) eine Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, welche durch die gerichteten Kanten verbunden sind, zu erzeugen; und Erzeugen einer Menge von Kennzeichen für die Menge von unstrukturierten Punkten, indem die Menge von Merkmalen über den ersten DAG abhängig von der Menge von paarweisen Affinitäten weitergegeben wird.
  17. Nicht-transitorisches computerlesbares Medium nach Anspruch 16, wobei die Schritte darüber hinaus umfassen: Erzeugen eines oder mehrerer DAGs, indem die räumlich benachbarten Punkte, welche in der Menge unstrukturierter Punkte enthalten sind, über zusätzliche gerichtete Kanten entlang einer oder mehrerer Richtungen verbunden werden; und Erzeugen der Menge von Kennzeichen, indem die Menge von Merkmalen über den einen oder die mehreren DAGs abhängig von der Menge von paarweisen Affinitäten für die zusätzlichen gerichteten Kanten weitergegeben wird.
  18. Nicht-transitorisches computerlesbares Medium nach Anspruch 17, wobei das Erzeugen der Menge von Kennzeichen umfasst: Aggregieren eines ersten Ergebnisses des Weitergebens der Menge von Merkmalen über den ersten DAG und eines oder mehrerer Ergebnisse des Weitergebens der Menge von Merkmalen über den einen oder die mehreren DAGs zu einer Menge von Merkmalsvektoren für die Menge von unstrukturierten Punkten; und Anwenden einer zweiten Menge von neuronalen Netzwerkschichten auf die Menge von Merkmalsvektoren, um die Menge von Kennzeichen zu erzeugen.
  19. Nicht-transitorisches computerlesbares Medium nach einem der Ansprüche 16 bis 18, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst: Anwenden einer Sequenz von residualen Blöcken auf ein Bild, um ein erstes unäres Merkmal für ein erstes Pixel in dem Bild zu erzeugen; Anwenden einer Menge von Affinitätsblöcken auf eine erste Menge von Ausgaben der Menge von residualen Blöcken, um ein erstes paarweises Merkmal für das erste Pixel zu erzeugen; und Anwenden eines Ähnlichkeitskerns auf das erste paarweise Merkmal und ein zweites paarweise Merkmal für ein zweites Pixel in dem Bild, um eine paarweise Affinität zwischen dem ersten Pixel und dem zweiten Pixel zu erzeugen.
  20. Nicht-transitorisches computerlesbares Medium nach Anspruch 19, wobei der Ähnlichkeitskern ein Skalarprodukt und/oder eine eingebettete Gauß-Funktion umfasst.
  21. Nicht-transitorisches computerlesbares Medium nach einem der Ansprüche 16 bis 20, wobei das Anwenden der ersten Menge von neuronalen Netzwerkschichten auf das eine oder die mehreren Bilder umfasst: paralleles Erzeugen der Menge von Merkmalen auf mehreren Prozessoren; und Aggregieren der Menge von Merkmalen zu der Menge von paarweisen Affinitäten zwischen den räumlich benachbarten Punkten, welche durch die gerichteten Kanten verbunden sind.
  22. System umfassend: einen Speicher, welcher Befehle speichert, und einen Prozessor, welcher mit dem Speicher gekoppelt ist und beim Ausführen der Befehle ausgestaltet ist, um: einen ersten gerichteten azyklischen Graphen (DAG) zu erzeugen, indem räumlich benachbarte Punkte, welche in einer Menge von räumlich verteilten Punkten enthalten sind, über gerichtete Kanten entlang einer ersten Richtung verbunden werden; eine erste Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder anzuwenden, welche der Menge räumlich verteilter Punkte zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge räumlich verteilter Punkte zu erzeugen und um (ii) eine Menge paarweiser Affinitäten zwischen den räumlich benachbarten Punkten, welche durch die gerichteten Kanten verbunden sind, zu erzeugen; und eine Menge von Kennzeichen für die Menge räumlich verteilter Punkte zu erzeugen, indem die Menge von Merkmalen über den ersten DAG abhängig von der Menge paarweiser Affinitäten weitergegeben wird.
  23. Verfahren zum Analysieren von Bilddaten, umfassend: Erzeugen einer ersten Struktur, indem eine Menge von Punkten verbunden wird, welche in einer Punktwolke enthalten sind, die abhängig von Messungen durch einen oder mehrere Sensoren an einem autonomen Fahrzeug erzeugt wird; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, welche der Punktwolke zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von Punkten zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, welche in der Menge von Punkten enthalten sind, zu erzeugen; Erzeugen einer Menge von Kennzeichen für die Menge von Punkten, indem die Menge von Merkmalen über die erste Struktur abhängig von der Menge von Affinitäten weitergegeben wird; und Veranlassen, dass das autonome Fahrzeug eine Fahraktion abhängig von einer Position des autonomen Fahrzeugs in Bezug auf ein oder mehrere Objekte, welche durch die Menge von Kennzeichen und die Menge von Punkten dargestellt werden, ausführt.
  24. Verfahren nach Anspruch 23, wobei das eine oder die mehreren Objekte mindestens eines der folgenden Objekte umfassen: ein Fahrzeug, einen Fußgänger, eine Straße, ein Gebäude, eine Ampel, ein Straßenschild und eine Fahrbahnmarkierung.
  25. Verfahren zur Analyse von Bilddaten, umfassend: Umwandeln eines medizinischen Scans von einem oder mehreren Objekten in ein dreidimensionales (3D-) Netz; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, welche während des medizinischen Scans erfasst werden, um (i) eine Menge von Merkmalen für eine Menge von Punkten in dem 3D-Netz zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, welche durch Kanten in dem 3D-Netz verbunden sind, zu erzeugen; Zuordnen einer Menge von Kennzeichen, welche dem einen oder den mehreren Objekten zugeordnet sind, zu der Menge von Punkten, indem die Menge von Merkmalen über eine oder mehrere Richtungen in dem 3D-Netz abhängig von der Menge von Affinitäten weitergegeben wird; und Erzeugen abhängig von der Menge von Kennzeichen einer Ausgabe zur Unterstützung eines medizinischen Verfahrens, welches sich auf den medizinischen Scan bezieht.
  26. Verfahren nach Anspruch 25, wobei der medizinische Scan mindestens einen von einem Computertomographie (CT)-Scan, einem Magnetresonanztomographie (MRI)-Scan und einem Positronenemissionstomographie (PET)-Scan umfasst.
  27. Verfahren zur Analyse von Bilddaten, umfassend: Erzeugen einer ersten Struktur, indem eine Menge von Punkten, welche in einer Punktwolke enthalten sind, die abhängig von einer Abtastung eines Innenraums erzeugt wird, verbunden wird; Anwenden einer ersten Menge von neuronalen Netzwerkschichten auf ein oder mehrere Bilder, welche der Punktwolke zugeordnet sind, um (i) eine Menge von Merkmalen für die Menge von Punkten zu erzeugen und um (ii) eine Menge von Affinitäten zwischen Paaren von Punkten, welche in der Menge von Punkten enthalten sind, zu erzeugen; Erzeugen einer Menge von Kennzeichen für die Menge von Punkten, indem die Menge von Merkmalen über die erste Struktur abhängig von der Menge von Affinitäten weitergegeben wird; und Veranlassen, dass ein Roboter eine Aktion ausführt, welche sich auf die Interaktion mit dem Innenraum abhängig von einer Position des Roboters in Bezug auf ein oder mehrere Objekte, welche durch die Menge von Kennzeichen dargestellt werden, bezieht.
  28. Verfahren nach Anspruch 27, wobei das eine oder die mehreren Objekte mindestens eines von einem Boden, einer Wand, einer Dekoration und einem Möbelstück umfassen.
DE102021122964.2A 2020-09-10 2021-09-06 Erlernen und weitergeben von visuellen attributen Pending DE102021122964A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/017,597 US11907846B2 (en) 2020-09-10 2020-09-10 Learning and propagating visual attributes
US17/017,597 2020-09-10

Publications (1)

Publication Number Publication Date
DE102021122964A1 true DE102021122964A1 (de) 2022-03-10

Family

ID=80266793

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021122964.2A Pending DE102021122964A1 (de) 2020-09-10 2021-09-06 Erlernen und weitergeben von visuellen attributen

Country Status (3)

Country Link
US (1) US11907846B2 (de)
CN (1) CN114255356A (de)
DE (1) DE102021122964A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116993796B (zh) * 2023-09-26 2023-12-22 埃洛克航空科技(北京)有限公司 深度图估计中的多级空间传播方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429842B2 (en) * 2019-02-24 2022-08-30 Microsoft Technology Licensing, Llc Neural network for skeletons from input images

Also Published As

Publication number Publication date
US20220076128A1 (en) 2022-03-10
US11907846B2 (en) 2024-02-20
CN114255356A (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
Liu et al. Learning affinity via spatial propagation networks
DE112016004535T5 (de) Universelles Übereinstimmungsnetz
DE102018126670A1 (de) Fortschreitende Modifizierung von generativen adversativen neuronalen Netzen
DE102018108324A1 (de) System und Verfahren zur Schätzung eines optischen Flusses
DE112014003114T5 (de) Verfahren zur Anpassung von Grundelementformen an einen Satz von 3D-Punkten
DE102017124573A1 (de) Systeme und verfahren zum beschneiden von neuronalen netzen für eine betriebsmitteleffiziente folgerung
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE102016005407A1 (de) Gemeinsames Tiefenschätzen und semantisches Bezeichnen eines einzelnen Bildes
DE102016100101A1 (de) System zum maschinellen sehen und analytisches verfahren zur segmentierung planarer oberflächen
DE112020005594T5 (de) Parametrische darstellung komplexer strassenszenen von oben
DE102017105628A1 (de) Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation
DE102019102009A1 (de) Reduzierung des rauschens während des renderings durch parallele path-space-filterung unter verwendung von hashing
DE112014004641T5 (de) Verfahren und System für eine intelligente Kran-Hebebewegung
DE102019123455A1 (de) Gemeinsame synthese und platzierung von objekten in szenen
DE102020128307A1 (de) Kooperatives abbilden für autonome fahrzeuge, roboter oder multiagentensysteme
DE102019134020A1 (de) Dekompprimierungstechniken zur verarbeitung komprimierter daten, die für künstliche neuronale netzwerke geeignet sind
DE102010055708A1 (de) Verfahren zum Berechnen einer kollisionsfreien Geschwindigkeit für einen Agenten in einer Menschenmassensimulationsumgebung
DE202016009145U1 (de) Deep-Learning-basierte funktionale Korrelation von volumetrischen Designs
EP2528042A1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE102021122964A1 (de) Erlernen und weitergeben von visuellen attributen
DE102019112595A1 (de) Geführte halluzination für fehlende bildinhalte unter verwendung eines neuronalen netzes
DE102021128523A1 (de) Hierarchische bildzerlegung zur defekterkennung
DE102021114013A1 (de) Techniken zum effizienten abtasten eines bildes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000