-
Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems zur Segmentierung und Objektdetektion, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Das Ziel von Architektursuche für neuronale Netzwerke ist es für einen vorgegebenen Datensatz vollautomatisch eine gute Netzwerkarchitektur im Sinne einer Leistungskennzahl/Metrik zu finden.
-
Um die automatische Architektursuche recheneffizient zu gestalten, können sich verschiedene Architekturen in dem Suchraum die Gewichte ihrer Operationen teilen, wie z.B. bei einem One-Shot NAS Modell, gezeigt durch Pham, H., Guan, M. Y., Zoph, B., Le, Q. V., & Dean, J. (2018). Efficient neural architecture search via parameter sharing. arXiv preprint arXiv:1802.03268.
-
Das One-Shot Modell wird dabei typischerweise als gerichteter Graph konstruiert, bei dem die Knoten Daten darstellen und die Kanten Operationen, welche eine Berechnungsvorschrift darstellen die den Eingangsknoten der Kante in den Ausgangsknoten überführen. Der Suchraum besteht dabei aus Subgraphen (z.B. Pfade) in dem One-Shot Modell. Da das One-Shot Modell sehr groß sein kann, können einzelne Architekturen aus dem One-Shot Modell für das Training gezogen werden, wie z. B. gezeigt durch Cai, H., Zhu, L., & Han, S. (2018). Proxylessnas: Direct neural architecture search on target task and hardware. arXiv preprint arXiv:1812.00332. Dies geschieht typischerweise in dem ein einzelner Pfad von einem festgelegten Inputknoten zu einem Ausgangsknoten des Netzwerkes gezogen wird, wie z.B. gezeigt durch Guo, Z., Zhang, X., Mu, H., Heng, W., Liu, Z., Wei, Y., & Sun, J. (2019). Single path one-shot neural architecture search with uniform sampling. arXiv preprint arXiv:1904.00420.
-
Für bestimmte Aufgaben wie Objektdetektion oder bei multi-Task Netzwerken ist es nötig, dass das Netzwerk mehrere Ausgänge hat. Gradienten-basiertes Training des vollständigen One-Shot Modells kann dabei für diesen Fall modifiziert werden, wie z.B. gezeigt durch Chen, W., Gong, X., Liu, X., Zhang, Q., Li, Y., & Wang, Z. (2019). FasterSeg: Searching for Faster Real-time Semantic Segmentation. arXiv preprint arXiv:1912.10917. Dies ist aber wiederum nicht speichereffizient und zeigt nicht das Ziehen von Architekturen mit Verzweigungen und mit unterschiedlichen Outputs während des Trainings im Rahmen von Architektursuche.
-
Ferner ist ein Bestimmen eines minimalen Spannbaums, welcher einen Input mit mehreren Outputs in einem gewichteten und gerichteten Graphen verbindet, als Steinerbaumproblem im Kontext von Infektionskaskaden durch die Autoren Xiao, H., Aslay, C., & Gionis, A. offenbaren in ihrer Veröffentlichung „Robust cascade reconstruction by steiner tree sampling“, online abrufbar: https://arxiv.org/abs/1809.05812, veröffentlicht worden.
-
Vorteile der Erfindung
-
Die gegenwärtige Erfindung erlaubt es Architekturen für multi-Task Netzwerke mit mehreren Ausgängen zu ziehen und zusätzlichen Knoten innerhalb des Netzwerkes und somit speichereffizientes Training eines One-Shot Modells im Rahmen von automatischer Architektursuche durchzuführen.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Erstellen eines maschinellen Lernsystems, welches zur Segmentierung und Objektdetektion in Bildern eingerichtet ist, wobei das maschinelle Lernsystem einen Eingang zum Aufnehmen des Bildes und zwei Ausgänge aufweist, wobei ein erster Ausgang die Segmentierung des Bildes und ein zweiter Ausgang die Objektdetektion ausgibt.
-
Das Verfahren umfasst die folgenden Schritte:
- Bereitstellen eines gerichteten Graphen, wobei der Graph einen Eingangs- und Ausgangs-knoten und eine Mehrzahl von weiteren Knoten aufweist. Der Ausgangsknoten ist über die weiteren Knoten mittels gerichteten Kanten verbunden und die Knoten stellen Daten dar, wie Aktivierungskarten von Schichten des maschinellen Lernsystems. Die Kanten stellen Operationen dar, welche eine Berechnungsvorschrift darstellen die einen ersten Knoten der Kanten in weiteren mit der jeweiligen Kante verbundenen Knoten überführen.
-
Daraufhin folgt ein Auswählen eines Pfades durch den Graphen. Dabei wird zuerst aus der Mehrzahl der weiteren Knoten eine Untermenge bestimmt, die alle eine vorgegebene Eigenschaft hinsichtlich einer Datenauflösung erfüllen. Aus dieser Untermenge wird zumindest ein zusätzlicher Knoten (NOI) gewählt, der als Ausgang für die Objektdetektion dient. Daraufhin wird ein Pfad durch den Graphen vom Eingangsknoten entlang der Kanten über den zusätzlichen Knoten (NOI) bis zum Ausgangsknoten gewählt.
-
Es folgt dann ein Erstellen eines maschinellen Lernsystem abhängig von dem gewählten Pfad und Anlernen des erstellten maschinellen Lernsystems, wobei angepasste Parameter des maschinellen Lernsystems in den korrespondierenden Kanten des gerichteten Graphen hinterlegt werden.
-
Daraufhin folgt ein mehrmaliges Wiederhohlen des vorhergehenden Schrittes „Auswählen eines Pfades“ und Erstellen des maschinelles Lernsystems basieren von den gerichteten Graphen.
-
Das vorgeschlagene Verfahren hat den Vorteil, dass hiermit effizient ein maschinelles Lernsystem, insbesondere ein künstliches neuronales Netz, für Multi-Task-Aufgaben für Bildverarbeitung (z.B. Gestenerkennung oder Objektabstandsschätzung, etc.) erstellt werden können. Zusätzlich oder alternativ können die Aufgaben für das künstliche neuronale Netz wie folgt sein: natürliche Sprachverarbeitung (engl. natural language processing, Autoencoder, Generative Modelle (engl. generative models) etc.
-
Es wird vorgeschlagen, dass zumindest zwei zusätzliche Knoten (NOI) ausgewählt werden und der Pfad durch den Graphen zumindest zwei Wege aufweist, die jeweils über einen der zusätzlichen Knoten zum Ausgangsknoten verlaufen. Die zwei Wege können vom Eingangsknoten zu den zusätzlichen Konten beginnend bei den zusätzlichen Knoten bis zum Eingangsknoten unabhängig voneinander erstellt werden. Alternativ kann gesagt werden, dass ein Subgraph bestimmt wird. Der Subgraph umfasst die zwei Wege, wobei die Wege in diesem Fall dann auch als Pfade bezeichnet werden können.
-
Weiterhin wird vorgeschlagen, dass dann, wenn ein zweiter Weg der zwei Wege auf den bereits gezogenen, ersten Weg der zwei Wege trifft, der restliche Abschnitt des ersten Weges für zweiten Weg verwendet wird.
-
Weiterhin wird vorgeschlagen, dass ausgehend von den zusätzlichen Knoten weitere Wege bis zum Ausgangsknoten erstellt werden, wobei der erste und zweite Weg und die weiteren Wege den Pfad ergeben. Es sei angemerkt, dass die Wege dann zusammen den Pfad durch den gerichteten Graphen ergeben. D.h. es kann gesagt werden, dass der Pfad Verzweigungen aufweist, wenn sich die Wege treffen.
-
Weiterhin wird vorgeschlagen, dass weiteren Wege unabhängig voneinander gezogen werden und dann, wenn sich die weiteren Wege treffen, wird der bereits gezogene Weg weiterverwendet.
-
Vorteilhaft hieran ist, dass mit diesem Vorgehen tendenziell optimalere Architekturen aufgefunden werden können, die kleiner sind.
-
Weiterhin wird vorgeschlagen, dass beim Anlernen der maschinellen Lernsysteme eine Kostenfunktion optimiert wird, wobei die Kostenfunktion eine erste Funktion aufweist, die eine Leistungsfähigkeit des maschinellen Lernsystems hinsichtlich dessen Segmentierung und Objekterkennung bewertet und eine zweite Funktion aufweist, welcher abhängig von einer Länge des Pfades und den Operationen der Kanten eine Latenzzeit des maschinellen Lernsystems schätzt.
-
Weiterhin wird vorgeschlagen, dass das Auswählen des Pfades zufällig erfolgt und die die Kanten eine Ziehwahrscheinlichkeit aufweisen, wobei beim Anlernen des erstellten maschinellen Lernsystems ein Anpassen der Ziehwahrscheinlichkeit der Kanten abhängig vom Trainingserfolg durchgeführt wird. Die Ziehwahrscheinlichkeit charakterisiert eine Wahrscheinlichkeit mit welcher die Kante für den Pfad bzw. Weg gezogen wird.
-
Weiterhin wird vorgeschlagen, dass beim Erstellen der maschinellen Lernsysteme an den zusätzlichen Knoten (NOI) zumindest eine softmax-Schicht angehängt wird.
-
In weiteren Aspekten betrifft die Erfindung ein Computerprogramm, das eingerichtet, die obigen Verfahren auszuführen und ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch eines One-Shot Modell mit einem Eingangs- und einem Ausgangs-Knoten sowie zwei „nodes of interest‟ (NOI) innerhalb des Netzwerkes;
- 2 schematisch ein Rückgerichtetes Ziehen eines ersten Weges vom ersten NOI zum Input;
- 3 schematisch ein Rückgerichtetes Ziehen eines zweiten Weges vom zweiten NOI zum Input;
- 4 schematisch ein Rückgerichtetes Ziehen des zweiten Weges vom zweiten NOI zum Input mit Abbruch;
- 5 schematisch ein Vorwärtsgerichtet Ziehen zweier Pfad beginnen mit dem ersten zum Output;
- 6 schematische Darstellung eines Flussdiagramms der Erfindung;
- 7 schematische Darstellung eines Aktor-Steuerungssystems;
- 8 ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 9 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
- 10 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
- 11 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
- 12 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
- 13 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
- 14 einen möglichen Aufbau einer Trainingsvorrichtung;
-
Um gute Architekturen von tiefen neuronale Netzwerke für einen vorgegebenen Datensatz zu finden, können automatische Methoden zur Architektursuche angewandt werden, sogenannte Neural Architecture Search-Methoden. Dazu wird ein Suchraum von möglichen Architekturen neuronaler Netzwerke explizit oder implizit definiert.
-
Im Folgenden soll zur Beschreibung eines Suchraums den Begriff Operation, was eine Berechnungsvorschrift beschreibt, die ein oder mehrere n-dimensionale Inputdatentensoren in ein oder mehrere Outputdatentensoren überführt, und dabei adaptierbare Parameter haben kann. Als Operationen werden in der Bildverarbeiten z.B. häufig Faltungen mit verschiedenen Kernel-Größen und unterschiedliche Arten von Faltungen (reguläre Faltung, depthwise-separabel Faltung) und Pooling-Operationen verwendet.
-
Ferner soll im Folgenden ein Berechnungsgraph (das sogenannte One-Shot Modell) definiert wird, welcher alle Architekturen in dem Suchraum als Subgraphen enthält. Da das One-Shot Modell sehr groß sein kann, können einzelne Architekturen aus dem One-Shot Modell für das Training gezogen werden. Dies geschieht typischerweise in dem einzelne Pfade von einem festgelegten Inputknoten zu einem festgelegten Ausgangsknoten des Netzwerkes gezogen werden.
-
Im einfachsten Fall, wenn der Berechnungsgraph aus einer Kette von Knoten besteht, die jeweils über verschiedene Operationen verbunden sein können, genügt es, für jeweils zwei aufeinander folgende Knoten die Operation zu ziehen welche sie verbindet.
-
Falls das One-Shot Modell allgemeiner ein gerichteter Graph ist, kann ein Pfad iterativ gezogen werden, in dem bei dem Input begonnen wird, dann der nächste Knoten und die verbindende Operation gezogen wird, und dieses Vorgehen dann iterative bis zum Zielknoten fortgesetzt wird.
-
Das One-Shot Modell mit Ziehen kann dann trainiert werden, indem für jeden Mini-Batch eine Architektur gezogen wird und die Gewichte der Operationen in der gezogenen Architektur mittels eines Standard-Gradientenschrittverfahrens angepasst werden. Das Finden der besten Architektur kann entweder als separater Schritt nach dem Training der Gewichte stattfinden, oder abwechseln mit dem Training der Gewichte durchgeführt werden.
-
Um Architekturen aus einem One-Shot Modell zu ziehen, welche Verzweigungen und mehrere Outputs haben, kann in einer Ausführungsform ein Samplingmodell für Pfade in umgekehrter Richtung verwendet werden. Hierfür kann für jeden Output des One-Shot Modells ein Pfad gezogen werden, welcher beginnend von dem Output zum Input des One-Shot Modells führt. Für das Ziehen der Pfade kann dazu das transponierte One-Shot Modell betrachtet werden, in dem alle gerichteten Kanten in die entgegengesetzte Richtung zeigen wie in dem ursprünglichen One-Shot Modell.
-
Sobald der erste Pfad gezogen wurde, kann es passieren, dass der nächste Pfad einen Knoten des vorherigen Pfades erreicht. In diesem Fall kann das Ziehen des aktuellen Pfades beendet werden, da von dem gemeinsamen Knoten bereits ein Pfad zum Input existiert. Alternativ ist es möglich, den Pfad trotzdem weiter zu ziehen und womöglich einen zweiten Pfad zum Inputknoten zu erhalten.
-
Zusätzlich soll der Fall betrachtet werden, dass die gezogenen Architekturen einen oder mehrere Knoten des One-Shot Modells enthalten, die nicht in voller Tiefe des Netzwerkes liegen und im Folgenden NOI („nodes of interest‟) genannt werden, sowie einen Output in voller Tiefe des One-Shot Modells. In diesem Fall kann das Erstellen des Pfades durch ein rückgerichtetes Ziehen für die NOls um diese mit dem Input zu verbinden erfolgen. Zusätzlich wird noch ein vorwärtsgerichtetes Ziehen für jeden NOI durchgeführt, welche zu dem Output des One-Shot Modells führen. Wie beim rückwärtsgerichteten Ziehen kann beim vorwärtsgerichteten Ziehen das Ziehen abgebrochen werden, sobald ein Pfad erreicht wird der bereits zum Output führt.
-
Als Alternative zu dem rückgerichteten Ziehen kann ein rein vorwärtsgerichtetes Ziehen erfolgen, indem für jeden NOI ein Pfad vom Input zu dem entsprechenden NOI gezogen wird. Dies wird dadurch erreicht, dass für das Ziehen nur auf dem Subgraphen durchgeführt wird, welcher aus allen Knoten besteht die auf einem Pfad von dem Input des Netzwerkes zu dem aktuellen NOI liegen sowie allen Kanten des One-Shot Modells zwischen diesen Knoten.
-
Ein Ausführungsbeispiel ist ein Multi-Task Netzwerk für Objektdetektion und semantische Segmentierung. Die NOIs sind dabei Knoten an denen ein Objektklassifizierungsausgang (engl. object detection head) angebracht wird. Zusätzlich wird am Output in der vollen Tiefe des Netzwerkes noch ein Output für die semantische Segmentierung verwendet.
-
Im Folgenden soll eine Ausführungsform der Erfindung beschrieben werden:
- Die automatische Architektursuche benötigt zuerst die Erstellung eines Suchraums (S21 in 6), welcher hier in der Form eines One-Shot Modells G aufgebaut ist. Das One-Shot Modell enthält dabei einen Eingangsknoten (10), einen Ausgangsknoten (11) und mehrere Knoten in der Mitte (d.h. nicht in voller Tiefe) des Modells, welche Teil der gezogenen Architektur sein müssen und NOI (nodes of interest) genannt werden. Das One-Shot Modell muss dabei so ausgelegt sein, dass alle Pfad die bei dem Eingangsknoten beginnen zu dem Ausgangsknoten führen (vgl. 1-5).
-
Für jeden Knoten in G wird eine Wahrscheinlichkeitsverteilung über die ausgehenden Kanten definiert. Zusätzlich wird das transponierte One-Shot Modell Gt betrachtet, welches dieselben Knoten hat, aber sämtliche gerichteten Kanten in die umgekehrte Richtung zeigen. Auf Gt wird ebenfalls für jeden Knoten eine Wahrscheinlichkeitsverteilung über die ausgehenden Kanten eingeführt (dies entspricht einer Wahrscheinlichkeitsverteilung über eingehende Kanten in G).
-
Für das rückgerichtete Ziehen wird für den ersten NOI ein Pfad in Gt gezogen (S22 in 6), welcher von dem NOI zum Input des One-Shot Modells führt (vgl. 2). Dies wird iterativ für alle weiteren NOIs wiederholt (vgl. 3), wobei das Ziehen der einzelnen Pfade abgebrochen werden kann, sobald ein Knoten eines vorherigen Pfads zum Input erreicht wird (vgl. 4). Für das vorwärtsgerichtete Ziehen wird für den ersten NOI ein Pfad in G gezogen, welcher von dem NOI zum Output des One-Shot Modells führt. Dies wird iterativ für alle weiteren NOIs wiederholt, wobei das Ziehen der einzelnen Pfade abgebrochen werden kann, sobald ein Knoten eines vorherigen Pfads zum Outputs erreicht wird (vgl. 5).
-
5 zeigt schematisch ein vorwärtsgerichtet Ziehen zweier Pfad beginnen mit dem ersten zum Output. Beim Ziehen des Pfades vom zweiten NOI wird dabei wieder abgebrochen, da ein Knoten von Pfad des ersten NOI erreicht wurde. Die insgesamt gezogene Architektur enthält somit beide NOIs sowie den Output Knoten des One-Shot Modells.
-
Bei jedem Ziehen einer Architektur können die NOls verschieden sein, da die Wahrscheinlichkeitsverteilungen für rückgerichtetes und vorwärtsgerichtetes Ziehen separat für alle Knoten definiert sind.
-
Aus dem Graphen G kann dann ein künstliches neuronales Netz 60 (abgebildet in 7) erstellt werden und verwendet werden wie im nachfolgenden erläutert.
-
7 zeigt einen Aktor 10 in seiner Umgebung 20 in Interaktion mit einem Steuerungssystem 40. In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung 20 in einem Sensor 30, insbesondere einem bildgebenden Sensor wie einem Videosensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise eine Stereokamera. Auch andere bildgebende Sensoren sind denkbar, wie beispielsweise Radar, Ultraschall oder Lidar. Auch eine Wärmebildkamera ist denkbar. Das Sensorsignal S - bzw. im Fall mehrerer Sensoren je ein Sensorsignal S - des Sensors 30 wird an das Steuerungssystem 40 übermittelt. Das Steuerungssystem 40 empfängt somit eine Folge von Sensorsignalen S. Das Steuerungssystem 40 ermittelt hieraus Ansteuersignale A, welche an den Aktor 10 übertragen werden.
-
Das Steuerungssystem 40 empfängt die Folge von Sensorsignalen S des Sensors 30 in einer optionalen Empfangseinheit 50, die die Folge von Sensorsignalen S in eine Folge von Eingangsbildern x umwandelt (alternativ kann auch unmittelbar je das Sensorsignal S als Eingangsbild x übernommen werden). Das Eingangsbild x kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals S sein. Das Eingangsbild x umfasst einzelne Frames einer Videoaufzeichnung. Mit anderen Worten wird Eingangsbild x abhängig von Sensorsignal S ermittelt. Die Folge von Eingangsbildern x wird einem maschinellen Lernsystem, im Ausführungsbeispiel einem künstlichen neuronalen Netz 60, zugeführt.
-
Das künstliche neuronale Netz 60 wird vorzugsweise parametriert durch Parameter ϕ, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.
-
Das künstliche neuronale Netz 60 ermittelt aus den Eingangsbildern x Ausgangsgrößen y. Diese Ausgangsgrößen y können insbesondere eine Klassifikation und semantische Segmentierung der Eingangsbilder x umfassen. Ausgangsgrößen y werden einer optionalen Umformeinheit 80 zugeführt, die hieraus Ansteuersignale A ermittelt, welche dem Aktor 10 zugeführt werden, um den Aktor 10 entsprechend anzusteuern. Ausgangsgröße y umfasst Informationen über Objekte, die der Sensor 30 erfasst hat.
-
Das Steuerungssystem 40 umfasst ferner eine Überwachungseinheit 61 zum Überwachen der Funktionsweise des künstlichen neuronalen Netzes 60. Der Überwachungseinheit 61 wird ebenfalls das Eingangsbild x zugeführt. Sie ermittelt abhängig hiervon ein Überwachungssignal d, das ebenfalls der Umformeinheit 80 zugeführt wird. Das Ansteuersignal A wird auch abhängig vom Überwachungssignal d ermittelt.
-
Das Überwachungssignal d charakterisiert, ob das neuronale Netz 60 die Ausgangsgrößen y zuverlässig ermittelt, oder nicht. Wenn das Überwachungssignal d eine Unzuverlässigkeit charakterisiert, kann beispielsweise vorgesehen sein, dass das Ansteuersignal A entsprechend eines abgesicherten Betriebsmodus ermittelt wird (während es andernfalls in einem normalen Betriebsmodus ermittelt wird). Der abgesicherte Betriebsmodus kann beispielsweise beinhalten, dass eine Dynamik des Aktors 10 reduziert wird, oder dass Funktionalitäten zur Ansteuerung des Aktors 10 ausgeschaltet.
-
Der Aktor 10 empfängt die Ansteuersignale A, wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor 10 kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal A ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor 10 angesteuert wird.
-
In weiteren Ausführungsformen umfasst das Steuerungssystem 40 den Sensor 30. In noch weiteren Ausführungsformen umfasst das Steuerungssystem 40 alternativ oder zusätzlich auch den Aktor 10.
-
In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem 40 eine Ein- oder Mehrzahl von Prozessoren 45 und wenigstens ein maschinenlesbares Speichermedium 46, auf den Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 45 ausgeführt werden, das Steuerungssystem 40 veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor 10 eine Anzeigeeinheit 10a vorgesehen.
-
8 zeigt, wie das Steuerungssystem 40 zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs 100, eingesetzt werden kann.
-
Bei dem Sensor 30 kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug 100 angeordneten Videosensor handeln.
-
Das künstliche neuronale Netz 60 ist eingerichtet, aus den Eingangsbildern x Objekte sicher zu identifizieren.
-
Bei dem vorzugsweise im Kraftfahrzeug 100 angeordneten Aktor 10 kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs 100 handeln. Das Ansteuersignal A kann dann derart ermittelt werden, dass der Aktor oder die Aktoren 10 derart angesteuert wird, dass das Kraftfahrzeug 100 beispielsweise eine Kollision mit den vom künstlichen neuronalen Netz 60 sicher identifizierten Objekte verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
-
Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal A derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom künstlichen neuronalen Netz 60 identifizierten Objekten verhindert.
-
Alternativ oder zusätzlich kann mit dem Ansteuersignal A die Anzeigeeinheit 10a angesteuert werden, und beispielsweise die ermittelten sicheren Bereiche dargestellt werden. Auch ist es beispielsweise beim einem Kraftfahrzeug 100 mit nicht automatisierter Lenkung möglich, dass die Anzeigeeinheit 10a mit dem Ansteuersignal A derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug 100 droht, mit einem der sicher identifizierten Objekte zu kollidieren.
-
9 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Ansteuerung einer Fertigungsmaschine 11 eines Fertigungssystems 200 verwendet wird, indem ein diese Fertigungsmaschine 11 steuernder Aktor 10 angesteuert wird. Bei der Fertigungsmaschine 11 kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.
-
Bei dem Sensor 30 kann es sich dann beispielsweise um einen optischen Sensor handeln, der z.B. Eigenschaften von Fertigungserzeugnissen 12a, 12b erfasst.
-
Es ist möglich, dass diese Fertigungserzeugnisse 12a, 12b beweglich sind. Es ist möglich, dass der die Fertigungsmaschine 11 steuernde Aktor 10 abhängig von einer Zuordnung der erfassten Fertigungserzeugnisse 12a, 12b angesteuert wird, damit die Fertigungsmaschine 11 entsprechend einen nachfolgenden Bearbeitungsschritt des richtigen der Fertigungserzeugnisses 12a, 12b ausführt. Es ist auch möglich, dass durch Identifikation der richtigen Eigenschaften desselben der Fertigungserzeugnisse 12a, 12b (d.h. ohne eine Fehlzuordnung) die Fertigungsmaschine 11 entsprechend den gleichen Fertigungsschritt für eine Bearbeitung eines nachfolgenden Fertigungserzeugnisses anpasst.
-
10 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Zugangssystems 300 eingesetzt wird. Das Zugangssystem 300 kann eine physische Zugangskontrolle, beispielsweise eine Tür 401 umfassen. Videosensor 30 ist eingerichtet ist, eine Person zu erfassen. Mittels des Objektidentifikationssystem 60 kann dieses erfasste Bild interpretiert werden. Sind mehrere Personen gleichzeitig erfasst, kann durch eine Zuordnung der Personen (also der Objekte) zueinander beispielweise die Identität der Personen besonders zuverlässig ermittelt werden, beispielsweise durch eine Analyse ihrer Bewegungen. Der Aktor 10 kann ein Schloss sein, dass abhängig vom Ansteuersignal A die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür 401 öffnet, oder nicht. Hierzu kann das Ansteuersignal A abhängig von der der Interpretation des Objektidentifikationssystem 60 gewählt werden, beispielsweise abhängig von der ermittelten Identität der Person. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
-
11 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Überwachungssystems 400 verwendet wird. Von dem in 5 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors 10 die Anzeigeeinheit 10a vorgesehen ist, die vom Steuerungssystem 40 angesteuert wird. Beispielsweise kann vom künstlichen neuronalen Netz 60 zuverlässig eine Identität der vom Videosensor 30 aufgenommenen Gegenstände ermittelt werden, um abhängig davon z.B. darauf zu schließen, welche verdächtig werden, und das Ansteuersignal A dann derart gewählt werden, dass dieser Gegenstand von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
-
12 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines persönlichen Assistenten 250 eingesetzt wird. Der Sensor 30 ist bevorzugt ein optischer Sensor, der Bilder einer Geste eines Nutzers 249 empfängt.
-
Abhängig von den Signalen des Sensors 30 ermittelt das Steuerungssystem 40 ein Ansteuersignal A des persönlichen Assistenten 250, beispielsweise, indem das neuronale Netz eine Gestenerkennung durchführt. Dem persönlichen Assistenten 250 wird dann dieses ermittelte Ansteuersignal A übermittelt und er somit entsprechend angesteuert. Dieses ermittelte Ansteuersignal A ist kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer 249 entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom künstlichen neuronalen Netz 60 erkannten Geste ermittelt werden. Das Steuerungssystem 40 kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten 250 wählen und/oder das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung 250 wählen.
-
Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent 250 Informationen aus einer Datenbank abruft und sie für den Nutzer 249 rezipierbar wiedergibt.
-
Anstelle des persönlichen Assistenten 250 kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.
-
13 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines medizinischen bildgebenden System 500, beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor 30 kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem 40 wird die Anzeigeeinheit 10a angesteuert. Beispielsweise kann vom neuronalen Netz 60 ermittelt werden, ob ein vom bildgebenden Sensor aufgenommener Bereich auffällig ist, und das Ansteuersignal A dann derart gewählt werden, dass dieser Bereich von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.
-
14 zeigt eine beispielhafte zweite Trainingsvorrichtung 140 zum eines gezogenen maschinellen Lernsystems aus dem Graphen G Trainieren des neuronalen Netzes 60. Trainingsvorrichtung 140 umfasst einen Bereitsteller 71, der Eingangsbilder x und Soll-Ausgangsgrößen ys, beispielsweise Soll-Klassifikationen, bereitstellt. Eingangsbild x wird dem zu trainierenden künstlichen neuronalen Netz 60 zugeführt, das hieraus Ausgangsgrößen y ermittelt. Ausgangsgrößen y und Soll-Ausgangsgrößen ys werden einem Vergleicher 75 zugeführt, der hieraus abhängig von einer Übereinstimmung den jeweiligen Ausgangsgrößen y und Soll-Ausgangsgrößen ys neue Parameter ϕ' ermittelt, die dem Parameterspeicher P übermittelt werden und dort Parameter ϕ ersetzen.
-
Die vom Trainingssystem 140 ausgeführten Verfahren können als Computerprogramm implementiert auf einem maschinenlesbaren Speichermedium 147 hinterlegt sein und von einem Prozessor 148 ausgeführt werden.
-
Selbstverständlich müssen nicht ganze Bilder klassifiziert werden. Es ist möglich, dass mit einem Detektionsalgorithmus z.B. Bildausschnitte als Objekte klassifiziert werden, dass diese Bildausschnitte dann ausgeschnitten werden, ggf. ein neuer Bildausschnitt erzeugt wird und an Stelle des ausgeschnittenen Bildausschnitts in das zugehörige Bild eingesetzt wird.
-
Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Pham, H., Guan, M. Y., Zoph, B., Le, Q. V., & Dean, J. (2018) [0003]