DE102019102518A1 - Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen - Google Patents

Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen Download PDF

Info

Publication number
DE102019102518A1
DE102019102518A1 DE102019102518.4A DE102019102518A DE102019102518A1 DE 102019102518 A1 DE102019102518 A1 DE 102019102518A1 DE 102019102518 A DE102019102518 A DE 102019102518A DE 102019102518 A1 DE102019102518 A1 DE 102019102518A1
Authority
DE
Germany
Prior art keywords
gesture
data
gesture recognition
human
sensors
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
DE102019102518.4A
Other languages
English (en)
Inventor
Venkatapathi Raju Nallapa
Anjali Krishnamachar
Gautham Sholingar
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102019102518A1 publication Critical patent/DE102019102518A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Psychiatry (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Social Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Strategic Management (AREA)
  • Electromagnetism (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Die Offenbarung stellt das Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen bereit. Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme, und Computerprogrammprodukte zum Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen. Aspekte der Erfindung beinhalten ein Gestenerkennungstrainingssystem, das skalierbar, wirksam, wiederholbar ist und Permutationen physischer Eigenschaften, Kleidung, Arten von Gesten, Umgebung, Kultur, Wetter, Straßenbedingungen etc. berücksichtigt. Das Gestenerkennungstrainingssystem beinhaltet Sensoren und Algorithmen, die zum Erzeugen von Trainingsdatensätzen verwendet werden, die eine genauere Erkennung von menschlichen Gesten und das Reagieren auf diese erleichtern. Ein Trainingsdatensatz kann sowohl durch das Überwachen als auch das Aufnehmen von Gesten, die von einem menschenähnlichen Roboter ausgeführt werden und von animierten Menschen in einer Simulationsumgebung ausgeführt werden, skaliert werden. Mit einem skalierten Trainingsdatensatz können autonome Vorrichtungen trainiert werden, um verschiedene menschliche Gesten unter variierenden Bedingungen mit im Wesentlichen verbesserten Fähigkeiten zu erkennen und auf diese zu reagieren. Erkennungsfähigkeiten einer autonomen Vorrichtung können validiert und (neu) trainiert werden, bis die Erkennungsfähigkeiten als ausreichend bestimmt werden.

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft im Allgemeinen das Gebiet der Gestenerkennung und insbesondere das Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen.
  • ALLGEMEINER STAND DER TECHNIK
  • Verwandte Technik
  • Mensch-zu-Mensch-Gesten sind ein integraler Bestandteil täglicher Kommunikation in vielen verschiedenen Umgebungen. Menschen können Handzeichen, Mienenspiel und allgemeine Körpersprache verwenden, um eine Absicht zu kommunizieren. Kommunizierte Absicht kann umgebungsspezifisch sein. Das heißt, dass die gleiche Geste verschiedene Bedeutungen in verschiedenen Umgebungen aufweisen kann. Zum Beispiel kann eine Geste, die von einem Patienten in einer Einrichtung des betreuten Wohnens ausgeführt wird, etwas anderes als die gleiche Geste bedeuten, die von einem Sportler während eines Spiels ausgeführt wird.
  • In einer zunehmenden Zahl von Umgebungen arbeiten automatisierte Systeme mit Menschen zusammen, um Tätigkeiten auszuführen, die vorher von Menschen ausgeführt wurden. Somit müssen diese automatisierten Systeme menschliche Gesten auf Grundlage eines Umgebungszusammenhangs angemessen erkennen und auf sie reagieren (ähnlich zu Menschen).
  • Zum Beispiel können in einer Fahrbahnumgebung Polizeibeamte, Fußgänger, Fahrradfahrer und Kraftfahrzeugfahrer Handzeichen, Mienenspiel und allgemeine Körpersprache verwenden, um eine Absicht im Hinblick auf sicheres Fortbewegen in der Straßenumgebung zu kommunizieren. Autonome Fahrzeuge können die Fahrbahnumgebung mit Polizeibeamten, Fußgängern, Fahrradfahrern und von Menschen betriebenen Fahrzeugen teilen. Um die Straßensicherheit aufrechtzuerhalten müssen die autonomen Fahrzeuge verschiedene menschliche Gesten unter variierenden Bedingungen (z. B. Wetter, Verkehrsstau, Notfallsituationen etc.) mit einem relativ hohen Maß an Genauigkeit erkennen und auf diese reagieren.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Beispiele erstrecken sich auf Verfahren, Systeme, und Computerprogrammprodukte zum Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen. In einem Aspekt ist ein menschenähnlicher Roboter dazu programmiert, einen Körperteil zu bewegen, um eine Geste auszuführen (z. B. eine Geste, die dem Betreiben eines Fahrzeugs auf einer Fahrbahn zugeordnet wird). Einer oder mehrere Sensoren überwachen den menschenähnlichen Roboter extern, um die Sensordaten vom menschenähnlichen Roboter zu erfassen, der die Geste ausführt. Gestenerkennungstrainingsdaten werden von den erfassten Sensordaten erzeugt. Die Gestenerkennungstrainingsdaten werden verwendet, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Geste ausführt.
  • Figurenliste
  • Die spezifischen Merkmale, Aspekte und Vorteile der vorliegenden Erfindung können im Hinblick auf die folgende Beschreibung und die begleitenden Zeichnungen besser nachvollzogen werden, wobei:
    • 1 veranschaulicht ein beispielhaftes Blockdiagramm einer Rechenvorrichtung.
    • 2 veranschaulicht eine beispielhafte Computerarchitektur, die das Validieren von Gestenerkennungsfähigkeiten eines Gestenerkennungssystems erleichtert.
    • 3 veranschaulicht ein Flussdiagramm eines beispielhaften Verfahrens zum Validieren von Gestenerkennungsfähigkeiten eines Gestenerkennungssystems.
    • 4 veranschaulicht ein Beispiel verschiedener Ansichten eines menschenähnlichen Roboters.
    • 5 veranschaulicht einen menschenähnlichen Roboter, der eine Geste in einer Fahrbahnumgebung ausführt.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme, und Computerprogrammprodukte zum Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen. Gestenerkennung beinhaltet das Erkennen menschlicher Gesten, wie etwa zum Beispiel Handzeichen, Mienenspiel und andere körpersprachlichen Hinweise.
  • Gestenerkennungssysteme, die maschinelles Lernen, Deep Learning oder andere Schlussfolgerungsmethoden verwenden, können mit Datensätzen trainiert werden. Die Erkennungsfähigkeit eines Gestenerkennungssystems kann von der Menge und Qualität der Daten abhängen, die verwendet werden, um das Gestenerkennungssystem zu trainieren (sowie Einzelheiten von Trainingsverfahren und der Umsetzung). Trainingsdatensätze können durch das Aufnehmen von Menschen (Schauspielern) erzeugt werden, die Gesten in gesteuerten Umgebungsszenerien ausführen. Das Erzeugen größerer Mengen qualitativer Trainingsdaten unter Verwendung von Menschen kann zeitaufwändig, teuer und möglicherweise unsicher sein (z. B. wenn auf einer Fahrbahn aufgenommen wird).
  • Somit sind Trainingsdatensätze, die durch Aufnehmen von Menschen erzeugt wurden, häufig unzulänglich, da es ihnen sowohl an Datenqualität als auch an Datenmenge fehlt. Zum Beispiel kann ein Datensatz, der vom Aufnehmen einiger menschlicher Gesten erzeugt wurde, nicht alle Abwandlungen und Feinheiten menschlicher Gesten abdecken, und kann nicht Umgebungsbedingungen thematisieren, die im echten Leben auftreten. Somit können die Erkennungsfähigkeiten eines Gestenerkennungssystems, das mit von Menschen aufgenommenen Daten trainiert wurde, für viele Umgebungen, einschließlich Fahrbahnen und andere Umgebungen, in denen menschliche Sicherheit einen Faktor darstellt, unzureichend sein.
  • Aspekte der Erfindung beinhalten ein Gestenerkennungstrainingssystem, das skalierbar und wirksam ist und Permutationen physischer Eigenschaften, Kleidung, Arten von Gesten, Umgebung, Kultur, Wetter, Straßenbedingungen etc. berücksichtigen kann. Das Gestenerkennungstrainingssystem beinhaltet eine Reihe von Sensoren und Algorithmen, die zum Erzeugen umfangreicherer Trainingsdatensätze verwendet werden, die eine genauere Erkennung von menschlichen Gesten und das Reagieren auf diese erleichtern. Zum Beispiel können autonome Fahrzeuge und andere Vorrichtungen trainiert werden, verschiedene menschliche Gesten in Fahrbahnumgebungen zu erkennen und darauf zu reagieren. Ferner können Erkennungsfähigkeiten validiert und (neu) trainiert werden, bis die Erkennungsfähigkeiten als ausreichend bestimmt werden.
  • In einem Aspekt werden Daten durch das Überwachen eines menschenähnlichen Roboters gesammelt, der eine Geste ausführt. Der menschenähnliche Roboter kann dazu konfiguriert sein, mit ausreichenden Freiheitsgraden Gesichtsausdrücke, Hand-/Armgesten, allgemeines Nicken/Schütteln des Kopfes (z. B. um Zustimmung oder Ablehnung auszudrücken), Schulterzucken und andere körpersprachbasierte Gesten auszudrücken, einschließlich Kombinationen verschiedener Gesten, die durch verschiedene Abschnitte des menschenähnlichen Roboters ausgedrückt werden. Der menschenähnliche Roboter kann dazu programmiert sein, die Geste in unterschiedlichen Zusammenhängen auszuführen. Die programmierte Geste kann aus bestehenden Daten zu Standardgesten bestimmt werden, die in einem bestimmten Zusammenhang (z. B. auf einer Fahrbahn) verwendet werden, und kann verschiedene Kulturen und Regionen berücksichtigen. Einige beispielhafte Zusammenhänge beinhalten: eine Person, die seinem/ihrem Fahrzeug signalisiert, den Kofferraum zu öffnen, wenn er/sie am Fahrzeug vorbeiläuft; ein Fußgänger, der einem Auto signalisiert anzuhalten oder an einem Zebrastreifen weiterzufahren; ein Polizist, der den Verkehr an einer Kreuzung regelt; ein Fahrradfahrer, der ein Abbiegen ankündigt etc.
  • Das Programmieren eines menschenähnlichen Roboters kann das Programmieren von Aktoren beinhalten, unterschiedliche Teile des menschenähnlichen Roboters (z. Arm, Hand, Hals, Schultern etc.) zu bewegen, um Gesten auszuführen. Sensoren, die sich außerhalb des menschenähnlichen Roboters befinden, können den menschenähnlichen Roboter überwachen und Daten sammeln, wenn die Gesten ausgeführt werden. Die Sensoren können Bild-/Raumtiefen-/Infrarotkameras, LIDAR, RADAR, Ultraschall etc. beinhalten.
  • Die Umgebungsbedingungen und die Eigenschaften des menschenähnlichen Roboters können variieren. Ein menschenähnlicher Roboter kann in verschiedenen Testbereichen/- konfigurationen platziert werden, wie etwa zum Beispiel Parkplätze, Modelle von Fußgängerüberwegen (z. B. Zebrastreifen), Kreuzungen etc. Der menschenähnliche Roboter kann eine Geste (möglicherweise wiederholt) in den verschiedenen Testbereichen/- konfigurationen ausführen. Die Sensoren können Daten sammeln, wenn der menschenähnliche Roboter die Geste ausführt. Der menschenähnliche Roboter kann mit angemessener Uniform, Kleidung und physischen Eigenschaften der Art von betrachtetem Mensch (z. B. Fußgänger, Fahrradfahrer, Kraftfahrzeugfahrer) ausgestattet sein. Zum Beispiel kann eine reflektierende Weste an einem menschenähnlichen Roboter platziert werden, damit dieser wie ein Verkehrspolizist aussieht, oder es können ein Helm und Fahrradfahrausrüstung am menschenähnlichen Roboter platziert werden, damit dieser wie ein Fahrradfahrer aussieht.
  • Wenn eine Geste ausgeführt wird, können andere Sensoren, die am menschenähnlichen Roboter angebracht und/oder in diesen eingebaut sind, Bewegungen des menschenähnlichen Roboters erfassen und können Daten auf eine wiederholbare Weise aufnehmen. Die angebrachten und/oder eingebauten Sensoren können die Stellung, Richtung, Geschwindigkeit und Beschleunigung von Teilen des menschenähnlichen Roboters bevor, während und nach der Bewegung durch einen Aktor aufnehmen, einschließlich Haltungs- und Gelenkstellungen.
  • Erfasste Bewegungen können dann in einer Simulationsumgebung verwendet werden, um zusätzliche Ausführungen der Geste zu simulieren. Zum Beispiel können simulierte Menschen in einer Gaming Engine animiert werden, um eine Geste auf Grundlage der erfassten Bewegungen auszuführen. Die Simulation kann mit unterschiedlichen Kombinationen von Wetterlagen, Landschaften und physischen Eigenschaften des simulierten Menschen erweitert werden. Virtuelle Sensoren und Sensormodule in der Simulationsumgebung können simulierte Gestenausübung beobachten, um virtuelle Sensordaten zu erzeugen. Virtuelle Sensoren und Sensormodule können die Funktion von Sensoren der realen Welt in der Simulationsumgebung simulieren, einschließlich Kameras, LIDAR-Sensoren, Radarsensoren und Ultraschallsensoren.
  • Im Allgemeinen kann es nicht realisierbar (oder sogar möglich) sein, einen menschenähnlichen Roboter physisch zwischen verschiedenen Standorten zu bewegen, die eine Reihe von Umgebungsbedingungen aufweisen. Gleichermaßen kann es logistisch schwierig und/oder teuer sein, menschliche Schauspieler dazu zu bringen, zwischen verschiedenen Standorten zu reisen, die eine Reihe von verschiedenen Umgebungsbedingungen aufweisen. Eine Simulation kann jedoch verschiedene Umgebungen unter Verwendung einer Reihe von Kombinationen von Wetterlagen, Landschaften und physischen Eigenschaften etc. simulieren. Virtuelle Daten können in diesen simulierten verschiedenen Umgebungen erfasst werden.
  • Zum Beispiel kann sich ein menschenähnlicher Roboter geografisch in einer ebenen Umgebung befinden. Somit kann es zu teuer (oder nicht möglich) sein, den menschenähnlichen Roboter physisch in eine bergige Umgebung zu bewegen. Gleichermaßen kann es logistisch schwierig und/oder teuer sein, einen menschlichen Schauspieler dazu zu bringen, in die bergige Umgebung zu reisen. Die Simulationsumgebung kann jedoch einen animierten Schauspieler simulieren, der eine Geste in einer bergigen Umgebung ausführt. Als weiteres Beispiel kann sich der menschenähnliche Roboter in einer sonnigen Umgebung befinden. Somit kann es zu teuer (oder nicht möglich) sein, den menschenähnlichen Roboter physisch in eine neblige und/oder regnerische Umgebung zu bewegen. Gleichermaßen kann es logistisch schwierig und/oder teuer sein, einen menschlichen Schauspieler dazu zu bringen, in die neblige und/oder regnerische Umgebung zu reisen. Die Simulationsumgebung kann jedoch einen animierten Schauspieler simulieren, der eine Geste in einer nebligen und/oder regnerischen Umgebung ausführt.
  • Ein Trainingsdatensatzerzeuger kann einen Trainingsdatensatz aus Sensordaten, die von externen Sensoren (Sensordaten der realen Welt) erfasst wurden, und/oder aus virtuellen Daten aus einer Simulationsumgebung erzeugen. Zusammen kann das Verwenden von Sensordaten der realen Welt und von virtuellen Daten das Erzeugen von aussagekräftigeren und vielfältigeren Trainingsdatensätzen erleichtern. Ein Trainingsdatensatz kann einen Satz von Grundwahrheitskategorien für eine Geste und die entsprechende Bedeutung der Geste schaffen. Der Trainingsdatensatz kann verwendet werden, um ein Gestenerkennungssystem unter Verwendung von maschinellem Lernen, Deep Learning oder anderen Schlussfolgerungsmethoden zu trainieren. Wenn aussagekräftigere und vielfältigere Trainingsdatensätze verwendet werden (z. B. vielfältigere menschenähnlich unterstützte Trainingsdatensätze), kann das Gestenerkennungssystem trainiert werden, um Gesten (des menschenähnlichen Roboters oder eines Menschen) genauer einzuordnen. Zum Beispiel kann ein Trainingsalgorithmus im Gestenerkennungssystem einen aussagekräftigeren und vielfältigeren Trainingsdatensatz verwenden, um zu versuchen, eine Geste, die von einem menschenähnlichen Roboter ausgeführt wird, in eine Kategorie einzuordnen.
  • Erkennungsfähigkeiten eines Gestenerkennungssystems können validiert und (neu) trainiert werden, bis die Erkennungsfähigkeiten als ausreichend bestimmt werden.
  • Im Allgemeinen kann das Verwenden eines menschenähnlichen Roboters den Prozess des Erzeugens von Trainingsdatensätzen und das Trainieren und Validieren von Gestenerkennungssystemen erheblich beschleunigen. Der menschenähnliche Roboter kann dazu programmiert werden, eine Geste kontinuierlich für erhebliche Zeitspannen (z. B. Tage oder sogar Wochen) automatisch auszuführen, und ermüdet nicht, wie ein Mensch. Automatisierte Ausführung einer Geste verringert die Arbeitsstunden, die genutzt werden, um größere Trainingsdatensätze anzusammeln.
  • 1 veranschaulicht ein beispielhaftes Blockdiagramm einer Rechenvorrichtung 100. Die Rechenvorrichtung 100 kann verwendet werden, um verschiedene Vorgänge durchzuführen, wie etwa die in dieser Schrift erörterten. Die Rechenvorrichtung 100 kann als ein Server, ein Client oder eine beliebige andere Recheneinheit fungieren. Die Rechenvorrichtung 100 kann verschiedene Kommunikations- und Datenübermittlungsfunktionen wie hier beschrieben durchführen und kann eine oder mehrere Anwendungsprogramme, wie etwa die hier beschriebenen Anwendungsprogramme, ausführen. Die Rechenvorrichtung 100 kann eine beliebige aus einem breiten Spektrum von Rechenvorrichtungen, wie etwa ein Mobiltelefon oder eine andere mobile Vorrichtung, ein Desktop-Computer, ein Notebook-Computer, ein Server-Computer, ein tragbarer Computer, Tablet-Computer und dergleichen, sein.
  • Die Rechenvorrichtung 100 beinhaltet einen oder mehrere Prozessor(en) 102, eine oder mehrere Speichervorrichtung(en) 104, eine oder mehrere Schnittstelle(n) 106, eine oder mehrere Massenspeichervorrichtung(en) 108, eine oder mehrere Ein-/Ausgabe-(E/A-)Vorrichtung(en) 110 und eine Anzeigevorrichtung 130, die alle an einen Bus 112 gekoppelt sind. Der bzw. die Prozessor(en) 102 beinhaltet bzw. beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, die in der bzw. den Speichervorrichtung(en) 104 und/oder Massenspeichervorrichtung(en) 108 gespeicherte Anweisungen ausführen. Der/Die Prozessor(en) 102 kann/können zudem verschiedene Arten von Computerspeichermedien, wie etwa Cache-Speicher, beinhalten.
  • Die Speichervorrichtung(en) 104 beinhaltet/beinhalten verschiedene Computerspeichermedien, wie etwa flüchtige Speicher (z. B. Direktzugriffsspeicher (RAM) 114) und/oder nichtflüchtige Speicher (z.B. Festwertspeicher (ROM) 116). Die Speichervorrichtung(en) 104 kann/können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
  • Die Massenspeichervorrichtung(en) 108 beinhaltet/beinhalten verschiedene Computerspeichermedien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 1 dargestellt, ist eine bestimmte Massenspeichervorrichtung ein Festplattenlaufwerk 124. Zudem können verschiedene Laufwerke in der/den Massenspeichervorrichtung(en) 108 beinhaltet sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 108 beinhaltet bzw. beinhalten Wechselmedien 126 und/oder Nicht-Wechselmedien.
  • Die E/A-Vorrichtung(en) 110 beinhaltet bzw. beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 100 eingegeben oder daraus abgerufen werden können. (Eine) Beispielhafte E/A-Vorrichtung(en) 110 beinhaltet/beinhalten Cursor Steuervorrichtungen, Tastaturen, Tastenfelder, Barcodeleser, Mikrophone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzschnittstellenkarten, Modems, Kameras, Linsen, Radare, CCDs oder andere Bilderfassungsvorrichtungen und dergleichen.
  • Die Anzeigevorrichtung 130 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 100 Informationen anzuzeigen. Beispielen für die Anzeigevorrichtung 130 beinhalten einen Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
  • Die Schnittstelle(n) 106 beinhaltet/beinhalten verschiedene Schnittstellen, die es der Rechenvorrichtung 100 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen sowie Menschen zu interagieren. (Eine) Beispielhafte Schnittstelle(n) 106 kann/können eine beliebige Anzahl unterschiedlicher Netzschnittstellen 120 beinhalten, wie etwa Schnittstellen zu Personal Area Networks (PANs), Local Area Networks (LANs), Großraumnetzen (WANs), drahtlosen Netzen (z. B. Nahbereichskommunikations-(NFC)-, Bluetooth-, WLAN- usw. -Netzwerken) und zum Internet. Andere Schnittstellen beinhalten eine Benutzerschnittstelle 118 und eine periphere Geräteschnittstelle 122.
  • Der Bus 112 ermöglicht es dem bzw. den Prozessor(en) 102, der bzw. den Speichervorrichtung(en) 104, der bzw. den Schnittstelle(n) 106, der bzw. den Massenspeichervorrichtung(en) 108 und der bzw. den E/A-Vorrichtung(en) 110, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 112 gekoppelt sind, zu kommunizieren. Der Bus 112 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-1394-Bus, USB-Bus und so weiter.
  • In dieser Beschreibung und den folgenden Ansprüchen ist ein „menschenähnlicher Roboter“ als ein Roboter definiert, dessen Körperform so gebaut ist, dass sie dem menschlichen Körper ähnelt. Im Allgemeinen beinhalten menschenähnliche Roboter einen Rumpf, einen Kopf, zwei Arme, zwei Beine etc. Ein menschenähnlicher Roboter kann ebenfalls zwei Hände zwei Füße und eine gewisse Anzahl an fingerartigen Körpergliedern und/oder zehenartigen Körpergliedern beinhalten. Einige Formen von menschenähnlichen Robotern können jedoch nur einen Teil eines menschlichen Körpers nachstellen, zum Beispiel von der Hüfte aufwärts. Einige menschenähnliche Roboter weisen außerdem Köpfe auf, die ausgestaltet sind, um menschliche Gesichtsmerkmale nachzuahmen, wie etwa Augen, Münder, Nase, Lippen, Ohren, Wangen etc.
  • Menschenähnliche Roboter können (z. B. Dreh-) Aktoren verwenden, die sich wie Muskeln und Gelenke verhalten, um Bewegungen zu erleichtern, die menschlicher Bewegung ähneln. Zum Beispiel können Aktoren verwendet werden, um den Kopf, den Rumpf, die Arme, die Beine, die Hände, die Füße, die Finger, die Zehen etc. zu bewegen. Aktoren können ebenfalls verwendet werden, um Gesichtszüge zu bilden, indem Augen, Nase, Mund, Lippen, Ohren, Wangen etc. bewegt werden. Aktoren können elektrisch, pneumatisch, hydraulisch, piezoelektrisch, mit Ultraschall etc. sein.
  • Menschenähnliche Roboter können ebenfalls unterschiedliche eingebaute Sensoren beinhalten, einschließlich propriozeptiver Sensoren und exterozeptiver Sensoren. Die Sensoren können gemäß dem physischen Prozess eingeordnet werden, mit dem sie arbeiten oder gemäß der Art von Messinformationen, die sie ausgeben. Propriozeptive Sensoren können die Stellung, die Ausrichtung und die Geschwindigkeit der Körperteile und Gelenke eines menschenähnlichen Roboters erkennen. Propriozeptive Sensoren können Folgendes beinhalten: Beschleunigungssensoren, um die Beschleunigung zu messen (aus der durch Integration die Geschwindigkeit berechnet werden kann); Neigungssensoren, um das Gefälle zu messen; Kraftsensoren (z. B. in Händen und Füßen), um die Anpresskraft mit der Umgebung zu messen; Stellungssensoren, um die Stellung anzuzeigen (aus der durch Ableitung die Geschwindigkeit berechnet werden kann); Geschwindigkeitssensoren; Gyroskope etc.
  • Exterozeptive Sensoren können externe Reize auf einen menschenähnlichen Roboter erkennen. Exterozeptive Sensoren können verwendet werden, um Berührung, Sehvermögen, Gehör etc. eines Menschen zu simulieren. Exterozeptive Sensoren können Lichtsensoren (z. B. Kameras), Schallsensoren (z. B. Mikrofone), Temperatursensoren, Berührungssensoren, Näherungssensoren etc. beinhalten.
  • Ein menschenähnlicher Roboter kann ebenfalls Planungs- und Steuerfunktionen beinhalten, um menschenähnliche Bewegung, einschließlich der Fortbewegung auf Beinen mit zweibeinigem Gang, zu simulieren. Das Simulieren menschenähnlicher Bewegung kann die Stabilisierung auf einer Trittfläche und das Aufrechterhalten des Schwerpunkts über dem Mittelpunkt des Auflagebereichs zum Bereitstellen einer stabilen Stellung beinhalten. Andere Aspekte des Planens und Steuerns können die Selbstkollisionserkennung, Streckenplanung und Hindernisvermeidung beinhalten.
  • Somit können sich menschenähnliche Roboter fortbewegen und mit der realen Welt interagieren, einschließlich dem Sammeln von Informationen unter Verwendung von Sensoren.
  • In dieser Beschreibung und den folgenden Ansprüchen ist ein „Android“ als ein menschenähnlicher Roboter definiert, der so gebaut ist, dass er vom Erscheinungsbild her einem Menschen ähnelt.
  • In dieser Beschreibung und den folgenden Ansprüchen ist eine „Fahrbahngeste“ als eine Geste definiert, die verwendet wird, um im Hinblick auf das Reisen auf einer Fahrbahn zu kommunizieren. Eine Person oder ein menschenähnlicher Roboter kann eine Fahrbahngeste ausführen, um Informationen an jemand anderen zu übermitteln, um zu fordern, dass jemand anderes eine Handlung ausführt und/oder um eine Absicht anzuzeigen, eine Handlung auszuführen. Fahrbahngesten können in Fahrbahnumgebungen und anderen Umgebungen (z. B. Studio) ausgeführt werden, um Trainingsdaten zu sammeln. Auf einer Fahrbahn kann eine Fahrbahngeste konkret an eine andere Person, einen anderen menschenähnlichen Roboter oder an sonstige elektronische Vorrichtung gerichtet sein oder kann im Allgemeinen an andere in einem Bereich gerichtet sein, welche die Fahrbahngeste optisch wahrnehmen können.
  • 2 veranschaulicht eine beispielhafte Computerarchitektur 200, die das Validieren von Gestenerkennungsfähigkeiten eines Gestenerkennungssystems erleichtert.
  • Wie dargestellt, beinhaltet die Computerarchitektur 200 ein Computersystem 201, Sensoren 202, und einen menschenähnlichen Roboter 221. Im Allgemeinen können das Computersystem 201 und der menschenähnliche Roboter 221 beliebige der Komponenten beinhalten, die im Hinblick auf das Computersystem 100 beschrieben wurden. Ferner können alle von dem Computersystem 201, den Sensoren 202 und dem menschenähnlichen Roboter 221 sowie ihre entsprechenden Komponenten miteinander über ein Netzwerk, wie etwa zum Beispiel ein PAN, ein LAN, ein WAN, ein Controller-Area-Network-(CAN-)Bus und sogar das Internet, verbunden sein (oder ein Teil davon sein). Dementsprechend können alle von dem Computersystem 201, den Sensoren 202 und dem menschenähnlichen Roboter 221 sowie beliebige andere verbundene Rechensysteme und deren Komponenten Mitteilungen betreffende Daten erzeugen und Mitteilungen betreffende Daten (z. B. Nahbereichskommunikations-(NFC-)Nutzdaten, Bluetooth-Pakete, Internetprotokoll-(IP-)Datagramme und andere hochschichtige Protokolle, die IP-Datagramme nutzen, wie etwa Übertragungssteuerungsprotokolle (Transmission Control Protocol - TCP), Hypertext-Übertragungsprotokolle (Hypertext Transfer Protocol - HTTP), einfache E-Mail-Transportprotokolle (Simple Mail Transfer Protocol - SMTP) etc.) über das Netzwerk austauschen.
  • Der menschenähnliche Roboter 221 beinhaltet ferner Körperteile 222, Aktoren 223, Sensoren 224, den Prozessor 226 und den Speicher 227. Die Aktoren 223 können betätigt werden, um die Körperteile 222 gemäß programmierten Funktionen zu bewegen (z. B. um eine Geste auszuführen). Die Sensoren 224 können die Körperteile 222 und Aktoren 223 während der Bewegung überwachen, um Bewegungsdaten, einschließlich Gelenk- und Haltungsstellungen, zu erfassen. Der Prozessor 226 kann auf Programme und Daten aus dem Speicher 227 zugreifen, die definieren, wie sich der menschenähnliche Roboter 221 bewegen soll. Der Prozessor 226 kann Einschaltanweisungen an die angemessenen Aktoren 223 senden, um die Körperteile 222 dazu zu veranlassen, sich so zu bewegen, wie in einem Programm definiert ist.
  • In einem Aspekt ist der menschenähnliche Roboter 221 ein Android.
  • Das Computersystem 201 beinhaltet ferner ein Roboterprogrammierungsmodul 211, eine Simulationsumgebung 212, ein Trainingsmodul 213 und ein Gestenerkennungssystem 217. Das Roboterprogrammierungsmodul 211 kann verwendet werden, um Programme zur Ausführung am menschenähnlichen Roboter 221 zu erzeugen, einschließlich Programme, um den menschenähnlichen Roboter 221 dazu zu veranlassen, eine Geste auszuführen. Die Simulationsumgebung 212 kann Bewegungsdaten verwenden, die an den Sensoren 224 erfasst wurden, um menschliches Ausführen einer Geste unter verschiedenen Wetterlagen und Landschaftsbedingungen und aus verschiedenen Beobachtungsblickwinkeln zu simulieren.
  • Die Sensoren 202 beinhalten Kamera(s) 203, LIDAR-Sensor(en) 204, Radar-Sensor(en) 206 und Ultraschall-Sensor(en) 207. Die Kamera(s) 203, LIDAR-Sensor(en) 204, Radar-Sensoren) 206 und Ultraschall-Sensor(en) 207 können Sensordaten erfassen, die den Bewegungen des menschenähnlichen Roboters 221 als Teil der Bewegung des menschenähnlichen Roboters 221 entsprechen. Die Sensoren 202 können Bilder in verschiedenen Abschnitten des Lichtspektrums, einschließlich des sichtbaren Lichtspektrums und des Infrarot-(IR-)Spektrums, erfassen.
  • Das Trainingsmodul 213 beinhaltet den Trainingsdatensatzerzeuger 214 und den Validierer 216. Der Trainingsdatensatzerzeuger 214 kann Trainingsdaten erzeugen, die dazu verwendet werden, Gestenerkennungssysteme zu trainieren. Der Trainingsdatensatzerzeuger 214 kann Trainingsdaten aus Sensordaten erzeugen, die an den Sensoren 202 erfasst wurden, und/oder aus virtuellen Daten, die in der Simulationsumgebung 212 beobachtet wurden. Der Validierer 216 kann die Erkennungsfähigkeiten von Gestenerkennungssystemen auf Grundlage von Erkennungsergebnissen validieren, die von den Gestenerkennungssystemen empfangen wurden.
  • Unter Verwendung von Trainingsdaten kann das Gestenerkennungssystem 217 trainiert werden, um von Menschen ausgeführte Gesten zu erkennen, wie etwa zum Beispiel Hand- und Armgesten, die auf einer Fahrbahn ausgeführt werden. Das Gestenerkennungssystem 217 kann die Erkennungsergebnisse bei einem Validierer zur Validierung einreichen.
  • 3 veranschaulicht ein Flussdiagramm eines beispielhaften Verfahrens 300 zum Validieren von Gestenerkennungsfähigkeiten eines Gestenerkennungssystems. Das Verfahren 300 wird im Hinblick auf die Komponenten und die Daten der Computerarchitektur 200 beschrieben.
  • Das Verfahren 300 beinhaltet das Programmieren eines menschenähnlichen Roboters, um einen oder mehrere Körperteile zu bewegen, um eine Geste auszuführen (301). Zum Beispiel kann das Roboterprogrammierungsmodul 211 den menschenähnlichen Roboter 221 programmieren, um die Geste 231 auszuführen. Das Roboterprogrammierungsmodul 211 kann ein Programm zum automatischen Umsetzen der Geste 231 erzeugen oder ein Benutzer des Computersystems 201 kann mit dem Roboterprogrammierungsmodul 211 interagieren (z. B. über eine integrierte Entwicklungsumgebung (integrated development environment - IDE)), um das Programm zu erzeugen. Das Computersystem 201 kann das Programm auf den menschenähnlichen Roboter 221 über eine drahtgebundene und/oder drahtlose Netzwerkverbindung übertragen. Der menschenähnliche Roboter 221 kann das Programm im Speicher 227 (z. B. Systemspeicher, Dauerspeicher etc.) speichern.
  • Der Prozessor 226 kann auf das Programm zum Umsetzen der Geste 231 im Speicher 227 zugreifen. Auf Grundlage der Inhalte des Programms kann der Prozessor 226 Einschaltanweisung(en) 232 an einen oder mehrere Aktoren 223 senden. Die Einschaltanweisung(en) 232 schaltet den einen oder die mehreren Aktoren 223 ein, um einen oder mehrere Körperteile 222 zu bewegen, um die Geste 231 auszuführen. Zum Beispiel können die Einschaltanweisung(en) 232 die Aktoren 223 in einem Arm und einer Hand des menschenähnlichen Roboters 221 einschalten, um den menschenähnlichen Roboter 221 dazu zu veranlassen, eine Geste für ein Abbiegen nach rechts zu machen.
  • Das Verfahren 300 beinhaltet das Zugreifen auf Sensordaten, die an einem oder mehreren Sensoren erfasst wurden, die den menschenähnlichen Roboter extern überwachen, der die Geste ausführt (302). Zum Beispiel können die Sensoren 202 den menschenähnlichen Roboter 221 überwachen und die Sensordaten 234 erfassen, während der menschenähnliche Roboter 221 die Geste 231 ausführt. Das Trainingsmodul 213 kann auf die Sensordaten 234 zugreifen (z. B. direkt von den Sensoren 202 oder von einer Speicherposition auf dem Computersystem 201).
  • Das Verfahren 300 beinhaltet das Empfangen erkannter Bewegungsdaten von den Sensoren am menschenähnlichen Roboter, die den einen oder die mehreren Körperteile und Aktoren überwachen, die verwendet werden, um den einen oder die mehreren Körperteile zu bewegen (303). Zum Beispiel können die Sensoren 224 (z. B. die propriozeptiven Sensoren) den einen oder die mehreren Körperteile 222 und einen oder mehrere Aktoren 223 überwachen, die verwendet werden, um den einen oder die mehreren Körperteile 222 zu bewegen. Die Sensoren 224 können Bewegungsdaten 233 (z. B. Stellung, Ausrichtung, Drehung, Geschwindigkeit, Beschleunigung etc.) des einen oder der mehreren Körperteile 222 und eines oder mehrerer Aktoren 223 zu festgelegten Zeitintervallen erkennen, während der menschenähnliche Roboter 221 die Geste 231 ausführt. Die Sensoren 224 können eine direkte Ablesung von einem Aktor 223 geben, der ein Gelenk des menschenähnlichen Roboters 221 steuert.
  • Der menschenähnliche Roboter 221 kann die Bewegungsdaten 233 an das Computersystem 201 senden. Das Computersystem 201 kann die Bewegungsdaten 233 vom menschenähnlichen Roboter 221 empfangen. Die Bewegungsdaten 233 können vom menschenähnlichen Roboter 221 an das Computersystem 201 über eine drahtgebundene und/oder drahtlose Netzwerkverbindung übertragen werden. Die Bewegungsdaten 233 können in einer Speichervorrichtung auf dem Computersystem 201 gespeichert sein und zum Wiedergeben der Ausführung der Geste 231 verwendet werden.
  • Das Verfahren 300 beinhaltet das Senden der erkannten Bewegungsdaten an eine Simulationsumgebung (304). Zum Beispiel kann das Computersystem 201 die Bewegungsdaten 233 an die Simulationsumgebung 212 (z. B. eine Gaming Engine) senden. Die Simulationsumgebung 212 kann die Bewegungsdaten 233 verwenden, um Menschen zu simulieren (z.B. animierte Schauspieler), welche die Geste 231 ausführen. Die Simulationsumgebung 212 kann die Bewegungsdaten 233 verwenden, um wiederholt die Ausführung der Geste 231 durch Menschen für eine Vielzahl von Malen (z. B. hunderte, tausende oder sogar Millionen Male) zu simulieren.
  • Jedes Mal, wenn die menschliche Ausführung der Geste simuliert wird, können Aspekte der Simulation geändert werden. Zum Beispiel kann das Erscheinungsbild eines simulierten Menschen geändert werden, die Kleidung des simulierten Menschen kann geändert werden, die simulierten Wetterlagen können geändert werden, ein simulierter Standort kann geändert werden, eine simulierte Landschaft kann geändert werden etc. Der Blickwinkel der Beobachtung des simulierten Menschen kann ebenfalls geändert werden. Das Beobachten des simulierten Menschen aus verschiedenen Blickwinkeln kann zu aussagekräftigeren und vielfältigeren Trainingsdaten führen, da die Ausführung einer Geste aus verschiedenen Ansichtsblickwinkeln verschieden aussehen kann.
  • Virtuelle Sensoren (die einen oder mehrere Sensoren der realen Welt simulieren) können in der Simulationsumgebung 212 instanziiert werden. Die virtuellen Sensoren können jede simulierte Ausführung der Geste 231 überwachen und virtuelle Sensordaten aufnehmen, während Simulationen der Geste 231 ausgeführt werden (ähnlich zum Erfassen von Sensordaten 234 in der realen Welt). Virtuelle Sensordaten, die an virtuellen Sensoren für jede simulierte Ausführung der Geste 231 aufgenommen werden, können zu virtuellen Daten 236 zusammengefasst werden. Die Simulations-Engine 212 kann die virtuellen Daten 236 an das Trainingsmodul 213 senden.
  • Das Verfahren 300 beinhaltet das Empfangen virtueller Daten, die von virtuellen Sensoren aufgenommen wurden, die einen animierten Schauspieler überwachen, der unter Verwendung der Bewegungsdaten betätigt wird, um die Geste in der Simulationsumgebung auszuführen (305). Zum Beispiel kann das Trainingsmodul 213 die virtuellen Daten 236 von der Simulationsumgebung 212 empfangen. In der Simulationsumgebung 212 können die Bewegungsdaten 233 verwendet werden, um die Ausführung der Geste 231 durch einen animierten Schauspieler zu betätigen. Instanziierte virtuelle Sensoren können den animierten Schauspieler überwachen und virtuelle Sensordaten vom animierten Schauspieler aufnehmen, der die Geste 231 ausführt. Die Simulationsumgebung 212 kann die virtuellen Sensordaten von unterschiedlichen virtuellen Sensoren zu den virtuellen Daten 236 zusammenfassen und kann die virtuellen Daten 236 an das Trainingsmodul 213 senden.
  • Das Verfahren 300 beinhaltet das Erzeugen von Gestenerkennungstrainingsdaten von den Sensordaten, auf die zugegriffen wurde, und/oder den virtuellen Daten (306) Zum Beispiel kann der Trainingsdatensatzerzeuger 214 die Trainingsdaten 237 aus den Sensordaten 234 und/oder den virtuellen Daten 236 erzeugen. Das Erzeugen der Trainingsdaten 237 aus sowohl den Sensordaten 234 als auch den virtuellen Daten 236 verbessert sowohl die Qualität als auch die Menge der Daten, die verwendet werden, um die Trainingsdaten 237 zu erzeugen.
  • Das Gestenprogrammierungsmodul 211 kann ebenfalls die Geste 231 dem Trainingsmodul 213 anzeigen. Das Trainingsmodul 213 kann die Geste 231 den Sensordaten 234, den virtuellen Daten 236 und den Trainingsdaten 237 auf Grundlage der Ausführung der Geste 231 durch einen menschenähnlichen Roboter 221 zuordnen.
  • Das Verfahren 300 beinhaltet das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, die menschliche Ausführung der Geste zu erkennen (307). Zum Beispiel kann das Trainingsmodul 213 die Trainingsdaten 237 verwenden, um das Gestenerkennungssystem 217 (z. B. ein Gestenerkennungssystem für ein automatisiertes Fahrzeug) zu trainieren, ein menschliches Ausführen der Geste 231 zu erkennen.
  • Das Verfahren 300 beinhaltet das Validieren der Fähigkeiten des Gestenerkennungssystems, um die menschliche Ausführung der Geste auf Grundlage des Trainings zu erkennen (308). Zum Beispiel kann das Gestenerkennungssystem 217 versuchen, während und/oder nach dem Training, die menschliche Ausführung der Geste 231 aus Verhaltensweisen eines oder mehrerer Menschen zu erkennen. Die Erfolge des Versuchens, die menschliche Ausführung der Geste 231 zu erkennen, kann in Erkennungsergebnissen 238 angezeigt sein. Das Gestenerkennungssystem 217 kann die Erkennungsergebnisse 238 an den Validierer 216 senden. Der Validierer 216 kann die Erkennungsergebnisse 238 vom Gestenerkennungssystem 217 empfangen. Der Validierer 216 kann die Erkennungsfähigkeiten des Gestenerkennungssystems 217 auf Grundlage der Erkennungsergebnisse 238 validieren.
  • Wenn die Erkennungsfähigkeiten des Gestenerkennungssystems 217 unzureichend sind, kann das Gestenerkennungssystem 217 weitere Trainings durchlaufen. In einem Aspekt beinhaltet zusätzliches Training weiteres Training unter Verwendung des Trainingsdatensatzes 237. In einem anderen Aspekt kann der menschenähnliche Roboter 221 dazu programmiert sein, zusätzliche Wiederholungen der Geste 231 auszuführen. Zusätzliche Ausführungen der Geste 231 können ebenfalls in der Simulationsumgebung 212 unter Verwendung der Bewegungsdaten 223 und/oder der Bewegungsdaten simuliert werden, die aus den zusätzlichen Wiederholungen des menschenähnlichen Roboters 221 erlangt wurden.
  • Zusätzliche Sensordaten und/oder virtuelle Daten aus den zusätzlichen Wiederholungen bzw. den zusätzlichen Simulationen können verwendet werden, um zusätzliche Trainingsdaten zu erzeugen. Die zusätzlichen Trainingsdaten können verwendet werden, um das Gestenerkennungssystem 217 weiterhin zu trainieren, um menschliche Ausführung der Geste 231 zu erkennen. Der Validierer 216 kann die Erkennungsfähigkeiten des Gestenerkennungssystems 217 auf Grundlage weiterer Erkennungsergebnisse nochmals validieren. Das Training kann fortfahren, bis die Erkennungsfähigkeiten des Gestenerkennungssystems 217 als ausreichend zum Erkennen menschlicher Ausführung der Geste 231 validiert sind.
  • In einigen Aspekten ist der menschenähnliche Roboter 221 dazu programmiert, die Geste 231 dauerhaft wiederholt auszuführen (z. B. hunderte, tausende oder sogar Millionen Male). Die Sensoren 202 können Sensordaten für jede Ausführung der Geste 231 erfassen. Die Stellung der Sensoren 202 und des menschenähnlichen Roboters 221 in Bezug auf einander kann ebenfalls variieren (z. B. Richtungen, Entfernungen etc. können geändert werden). Das Ändern der relativen Standorte ermöglicht den Sensoren 202, Sensordaten für Ausführungen der Geste 231 aus verschiedenen Blickwinkeln zu erlangen. Das Erkennen von Daten aus verschiedenen Blickwinkeln kann zu aussagekräftigeren und vielfältigeren Trainingsdaten führen, da die Ausführung einer Geste aus verschiedenen Ansichtsblickwinkeln verschieden erscheinen kann. Die verschiedenen Sensoren 202 können ebenfalls an verschiedenen Positionen in Bezug auf den menschenähnlichen Roboter positioniert sein. Das Positionieren der verschiedenen Sensoren 202 an verschiedenen Positionen ermöglicht den Sensoren 202, im Wesentlichen gleichzeitig Sensordaten aus verschiedenen Blickwinkeln für dieselbe Ausführung der Geste 231 zu erfassen.
  • Die Umgebung des menschenähnlichen Roboters 221 kann ebenfalls variieren, wie etwa zum Beispiel zwischen Modellen eines Parkplatzes, einer Kreuzung oder eines Zebrastreifens etc. Der menschenähnliche Roboter 221 kann außerdem physisch zu verschiedenen Standorten transportiert werden, wie etwa zum Beispiel zu tatsächlichen Kreuzungen, Zebrastreifen oder Parkplätzen. Der menschenähnliche Roboter 221 kann dazu programmiert sein, die Geste 231 in jedem verschiedenen Modell und/oder an jedem verschiedenen physischen Standort (möglicherweise wiederholt) auszuführen. Die Sensoren 202 können die Ausführung der Geste 231 in jedem verschiedenen Modell und/oder an jedem verschiedenen physischen Standort überwachen. In einigen Aspekten sind der menschenähnliche Roboter 221 und die Sensoren 202 an der Seite der Straße positioniert.
  • Gleichermaßen kann ein animierter Mensch dazu programmiert sein, die Geste 231 dauerhaft (z. B. hunderte, tausende oder sogar Millionen Male) wiederholt in der Simulationsumgebung 212 auszuführen. Die virtuellen Sensoren (die Sensoren der realen Welt simulieren) können virtuelle Sensordaten für jede Ausführung der Geste 231 erfassen. Die Stellung der virtuellen Sensoren und des animierten Menschen in Bezug auf einander kann ebenfalls variieren (z. B. Richtungen, Entfernungen etc. können geändert werden). Das Ändern der relativen Standorte ermöglicht den virtuellen Sensoren, virtuelle Sensordaten für Ausführungen der Geste 231 aus verschiedenen Blickwinkeln zu erlangen. Das Erkennen von virtuellen Daten aus verschiedenen Blickwinkeln kann zu aussagekräftigeren und vielfältigeren Trainingsdaten führen, da die Ausführung einer Geste aus verschiedenen Ansichtsblickwinkeln verschieden erscheinen kann. Verschiedene Arten von virtuellen Sensoren (die verschiedene Arten von Sensoren der realen Welt simulieren) können ebenfalls an verschiedenen Standorten in Bezug auf den animierten Menschen positioniert sein. Das Positionieren der verschiedenen Arten von virtuellen Sensoren an verschiedenen Positionen ermöglicht den virtuellen Sensoren im Wesentlichen gleichzeitig verschiedene Arten von virtuellen Sensordaten aus verschiedenen Blickwinkeln für dieselbe Ausführung der Geste 231 zu erfassen.
  • Die virtuelle Umgebung des animierten Menschen kann ebenfalls variieren, wie etwa zum Beispiel zwischen Modellen eines Parkplatzes, einer Kreuzung oder eines Zebrastreifens etc. Der animierte Mensch kann dazu programmiert sein, die Geste 231 in jeder verschiedenen virtuellen Umgebung (möglicherweise wiederholt) auszuführen. Die virtuellen Sensoren können die Ausführung der Geste 231 in jeder verschiedenen virtuellen Umgebung überwachen. In einigen Aspekten sind der animierte Mensch und die virtuellen Sensoren so simuliert, dass sie sich an der Seite der Straße, in einem vorbeifahrenden Fahrzeug etc. befinden.
  • 4 veranschaulicht ein Beispiel verschiedener Ansichten eines menschenähnlichen Roboters 400. Der menschenähnlich Roboter 400 beinhaltet unterschiedliche Körperteile, einschließlich: dem Kopf 401, dem Rumpf 402, dem Arm 403A, dem Arm 403B, der Hand 404A, der Hand 404B, den Fingern 408A, den Fingern 408B, dem Bein 406A, dem Bein 406B, dem Fuß 407A und dem Fuß 408B. Der Roboter 400 kann ebenfalls einen Prozessor, einen Speicher, Aktoren und Sensoren beinhalten. Der Prozessor kann auf ein Programm zum Umsetzen einer Geste aus dem Speicher zugreifen. Der Prozessor kann das Programm ausführen, um Einschaltanweisungen an Aktoren von festgelegten Körperteilen zu senden, um die festgelegten Körperteile dazu zu veranlassen, sich auf eine Weise zu bewegen, welche die Geste umsetzt. Propriozeptive Sensoren können die Körperteile und die Aktoren während der Bewegung überwachen, um Bewegungsdaten, einschließlich Gelenk- und Haltungsstellungen, zu erfassen. Die propriozeptiven Sensoren können die Bewegungsdaten an ein Computersystem zur Verwendung in einer Simulationsumgebung senden.
  • In anderen Aspekten kann ein menschenähnlicher Roboter ein Android sein, der Komponenten beinhaltet, die ähnlich zum menschenähnlichen Roboter 400 sind, und unterschiedliche Körperteile aufweist, die vom Erscheinungsbild her einem Menschen ähneln.
  • 5 veranschaulicht einen menschenähnlichen Roboter 400, der eine Geste in einer Fahrbahnumgebung 500 ausführt. Die Fahrbahnumgebung 500 beinhaltet die Fahrbahn 541. Die Fahrstreifenlinien 522 trennen die Fahrstreifen der Fahrbahn 541. Wie dargestellt, nähert sich das Auto 502 (möglicherweise ein autonomes Fahrzeug) einem Stoppschild 524 und einem Zebrastreifen 523. Der Roboter 400 macht (möglicherweise wiederholt) eine „langsamer werden“-Geste durch das Bewegen des Arms 403A im Wesentlichen hoch und runter.
  • Die Sensoren 501 und/oder die Sensoren 503 (z. B. eine oder mehrere Kameras, LIDAR-Sensoren, Radar-Sensoren, Ultraschall-Sensoren etc.) überwachen den Roboter 400. Die Sensoren 501 und/oder die Sensoren 503 können Sensordaten erfassen, wenn der Roboter 400 die „langsamer werden“-Geste ausführt. Sensordaten, die von den Sensoren 501 und/oder 503 erfasst wurden, sowie Bewegungsdaten, die an Sensoren überwacht werden, die im Roboter 400 eingebaut sind, können drahtlos an ein Computersystem gesendet werden, das Trainingsdaten für Gestenerkennungssysteme erzeugt. Alternativ oder in Kombination können erfasste Daten auf einem Computersystem bei den Sensoren 501 und/oder auf einem bordeigenen Computersystem gespeichert werden, das in das Auto 502 eingebaut ist.
  • Dementsprechend stellen Aspekte der Erfindung einen kostengünstigen, wirksamen Mechanismus zum Erzeugen von Gestendaten und Trainieren und Validieren von Gestenerkennungssystemen bereit, der im Vergleich zu dem Einstellen menschlicher Schauspieler leicht skalierbar ist. Die Verwendung menschenähnlicher Roboter ermöglicht die direkte Ablesung der Gelenkstellungen und -ausrichtungen des menschenähnlichen Roboters, die dann verwendet werden können, um Gelenke/Haltung von simulierten (animierten) Schauspielern zu programmieren. Die Verwendung eines menschenähnlichen Roboters erhöht außerdem die Einheitlichkeit des Ausführens von Gesten in Bezug auf einen menschlichen Schauspieler, da der menschenähnliche Roboter nicht ermüdet und nicht fehleranfällig ist.
  • In einem Aspekt sind einer oder mehrere Prozessoren dazu konfiguriert, Anweisungen (z. B. computerlesbare Anweisungen, computerausführbare Anweisungen etc.) auszuführen, um einen beliebigen einer Vielzahl beschriebener Vorgänge auszuführen. Der eine oder die mehreren Prozessoren können auf Informationen aus dem Systemspeicher zugreifen und/oder Informationen im Systemspeicher speichern. Der eine oder die mehreren Prozessoren können Informationen zwischen unterschiedlichen Formaten umwandeln, wie etwa zum Beispiel Gestenprogramme, Einschaltanweisung(en), Bewegungsdaten, Sensordaten, virtuelle Daten, Gesten, Trainingsdaten, Erkennungsergebnisse etc.
  • Der Systemspeicher kann an den einen oder die mehreren Prozessoren gekoppelt sein und kann Anweisungen (z. B. computerlesbare Anweisungen, computerausführbare Anweisungen etc.) speichern, die von dem einen oder den mehreren Prozessoren ausgeführt werden. Der Systemspeicher kann außerdem dazu konfiguriert sein, eine beliebige aus einer Vielzahl anderer Arten von Daten zu speichern, die von den beschriebenen Komponenten erzeugt werden, wie etwa zum Beispiel Gestenprogramme, Einschaltanweisung(en), Bewegungsdaten, Sensordaten, virtuellen Daten, Gesten, Trainingsdaten, Erkennungsergebnisse etc.
  • In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung konkrete Umsetzungen gezeigt sind, in denen die Offenbarung ausgeführt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht unbedingt jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, es im Bereich des Fachwissens des Fachmanns liegt, diese(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
  • Umsetzungen der hier offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und einen Systemspeicher, wie sie hier erörtert sind. Umsetzungen innerhalb des Schutzumfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert werden, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
  • Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - „SSDs“) (z. B. basierend auf RAM), Flash-Speicher, Phasenänderungsspeicher (phase-change memory - „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
  • Eine Umsetzung der hierin offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
  • Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung an einem Prozessor bewirken, dass ein Universalcomputer, ein Spezialcomputer oder eine Spezialverarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen durchführt. Bei den computerausführbaren Anweisungen kann es sich zum Beispiel um Binärdateien, Anweisungen in einem Zwischenformat, wie etwa Assemblersprache, oder auch um Quellcode handeln. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben wurde, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht unbedingt auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen sind vielmehr als beispielhafte Umsetzungsformen der Patentansprüche offenbart.
  • Der Fachmann kann nachvollziehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen durchgeführt werden kann, einschließlich eines Armaturenbrett- oder anderen Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichervorrichtungen und dergleichen. Die Offenbarung kann zudem in verteilten Systemumgebungen umgesetzt werden, in denen sowohl lokale Computersysteme als auch Remote-Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in Fernspeichervorrichtungen befinden.
  • Ferner können die hierin beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden durchgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der hier beschriebenen Systeme und Vorgänge ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird verstehen, dass auf Komponenten durch unterschiedliche Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch der Funktion nach.
  • Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind hierin zu Veranschaulichungszwecken bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist.
  • Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software bewirkt bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen, dass eine Vorrichtung wie hierin beschrieben betrieben wird.
  • Wenngleich vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Für den einschlägigen Fachmann ist ersichtlich, dass verschiedene Änderungen hinsichtlich Form und Detaillierungsgrad daran vorgenommen werden können, ohne vom Geist und Schutzumfang der Offenbarung abzuweichen. Somit sollten die Breite und der Schutzumfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorstehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen; das Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter, der die Geste ausführt, extern überwachen; das Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Geste ausführt.
  • Gemäß einer Ausführungsform umfasst das Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter überwachen, das Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter in einer Fahrbahnumgebung überwachen.
  • Gemäß einer Ausführungsform umfasst das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen, das Programmieren eines menschenähnlichen Roboters, eine Hand oder einen Arm zu bewegen.
  • Gemäß einer Ausführungsform umfasst das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen, das Programmieren des menschenähnlichen Roboters die Geste eine Vielzahl von Malen auszuführen, und das Erfassen von Sensordaten umfasst das Erfassen von Sensordaten, wenn der menschenähnliche Roboter die Geste die Vielzahl von Malen ausführt.
  • Gemäß einer Ausführungsform umfasst das Erfassen von Sensordaten von einem oder mehreren Sensoren das Erfassen von Sensordaten von einem oder mehreren der Folgenden: einer Kamera, einem LIDAR-Sensor oder einem Radar-Sensor.
  • Gemäß einer Ausführungsform umfasst das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, das Verwenden der Gestenerkennungstrainingsdaten, um ein automatisiertes Fahrzeuggestenerkennungssystem zu trainieren.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren zum Erzeugen von Gestenerkennungstrainingsdaten: das Programmieren eines menschenähnlichen Roboters um eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen; das Erfassen von Sensordaten von einem oder mehreren externen Sensoren, die den menschenähnlichen Roboter überwachen, der die Fahrbahngeste ausführt; das Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Fahrbahngeste ausführt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: das Empfangen erkannter Bewegungsdaten von einem oder mehreren anderen Sensoren am menschenähnlichen Roboter, wobei der eine oder die mehreren anderen Sensoren die Vielzahl von Körperteilen und eine Vielzahl von Aktoren überwachen, die verwendet werden, um die Vielzahl von Körperteilen zu überwachen, das Senden der erkannten Bewegungsdaten an die Simulationsumgebung; und das Empfangen virtueller Daten, die von virtuellen Sensoren aufgenommen wurden, die einen animierten Schauspieler in der Simulationsumgebung überwachen, wobei der animierte Schauspieler unter Verwendung der erkannten Bewegungsdaten betätigt wird, um die Fahrbahngeste in der Simulationsumgebung auszuführen.
  • Gemäß einer Ausführungsform umfasst das Erzeugen von Gestenerkennungstrainingsdaten das Erzeugen von Gestenerkennungsdaten aus den erfassten Sensordaten und den virtuellen Daten.
  • Gemäß einer Ausführungsform umfasst das Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen, das Empfangen virtueller Daten, die unter Verwendung einer Vielzahl von verschiedenen Wetterlagen in der Simulationsumgebung erzeugt wurden.
  • Gemäß einer Ausführungsform umfasst das Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen, das Empfangen virtueller Daten, die unter Verwendung einer Vielzahl von simulierten Menschen, um die Geste auszuführen, erzeugt wurden, wobei jeder der Vielzahl von simulierten Menschen verschiedene physische Eigenschaften aufweist und verschiedene Kleidung trägt.
  • Gemäß einer Ausführungsform umfasst das Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen, das Empfangen virtueller Daten, die unter Verwendung einer Vielzahl von verschiedenen Landschaften in der Simulationsumgebung erzeugt wurden.
  • Gemäß einer Ausführungsform umfasst das Empfangen erkannter Bewegungsdaten, die Stellung, Geschwindigkeit und Beschleunigung von jedem der Vielzahl von Körperteilen anzeigen, das Empfangen erkannter Bewegungsdaten, die Gelenkstellungen und Haltung am menschenähnlichen Roboter anzeigen.
  • Gemäß einer Ausführungsform umfasst das Programmieren eines menschenähnlichen Roboters um eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen, das Programmieren eines menschenähnlichen Roboters, eine Fahrbahngeste auszuführen, die aus Folgenden ausgewählt wurde: das an ein Fahrzeug gerichtete Anzeigen, dass es den Kofferraum des Fahrzeugs öffnen soll; das an ein Auto gerichtete Anzeigen, anzuhalten oder an einem Zebrastreifen weiterzufahren; das an den Verkehr gerichtete Anzeigen, an einer Kreuzung anzuhalten; oder das Anzeigen eines Abbiegens.
  • Gemäß einer Ausführungsform umfasst das Erfassen von Sensordaten von einem oder mehreren Sensoren das Erfassen von Sensordaten von einem oder mehreren der Folgenden: einer Kamera, einem LIDAR-Sensor oder einem Radar-Sensor, die den menschenähnlichen Roboter überwachen.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: das Empfangen von Erkennungsergebnissen vom Gestenerkennungssystem, wobei die Erkennungsergebnisse Erfolge des Versuchens anzeigen, die menschliche Ausführung der Geste zu erkennen; und das Validieren der Erkennungsfähigkeiten des Gestenerkennungssystems auf Grundlage der Erkennungsergebnisse.
  • Gemäß der vorliegenden Erfindung ist ein Computersystem bereitgestellt, das Folgendes aufweist: einen Prozessor und einen Systemspeicher, der an den Prozessor gekoppelt ist und Anweisungen speichert, die dazu konfiguriert sind, den Prozessor zu Folgendem zu veranlassen: Programmieren eines menschenähnlichen Roboters, eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen; Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter überwachen, der die Fahrbahngeste ausführt; Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Fahrbahngeste ausführt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner durch Anweisungen gekennzeichnet, die dazu konfiguriert sind, den Prozessor zu Folgendem zu veranlassen: Empfangen erkannter Bewegungsdaten von Sensoren am menschenähnlichen Roboter, welche die Vielzahl von Körperteilen und Aktoren überwachen, die verwendet werden, um die Vielzahl von Körperteilen zu bewegen, wobei die erkannten Bewegungsdaten die Stellung, Geschwindigkeit und Beschleunigung von jedem der Vielzahl von Körperteilen zu verschiedenen Zeitpunkten während der Ausführung der Fahrbahngeste anzeigen; Senden der erkannten Bewegungsdaten an eine Simulationsumgebung; Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen.
  • Gemäß einer Ausführungsform umfassen Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, einen menschenähnlichen Roboter dazu zu programmieren, eine Vielzahl von Körperteilen zu bewegen, Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, einen menschenähnlichen Roboter dazu zu programmieren, zwei oder mehr der Folgenden zu bewegen: einen Arm, ein Bein, eine Hand oder einen Kopf.
  • Gemäß einer Ausführungsform umfassen Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, die Gestenerkennungstrainingsdaten zu verwenden, um ein Gestenerkennungssystem zu trainieren, Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, die Gestenerkennungstrainingsdaten zu verwenden, um ein automatisiertes Fahrzeuggestenerkennungssystem zu trainieren.

Claims (15)

  1. Verfahren, umfassend: das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen; das Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter, der die Geste ausführt, extern überwachen; das Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Geste ausführt.
  2. Verfahren nach Anspruch 1, wobei das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen, das Programmieren eines menschenähnlichen Roboters umfasst, eine Hand oder einen Arm zu bewegen; und wobei das Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter überwachen, das Erfassen von Sensordaten von einem oder mehreren Sensoren umfasst, die den menschenähnlichen Roboter in einer Fahrbahnumgebung überwachen.
  3. Verfahren nach Anspruch 1, wobei das Programmieren eines menschenähnlichen Roboters um ein Körperteil zu bewegen, um eine Geste auszuführen, das Programmieren des menschenähnlichen Roboters umfasst, die Geste eine Vielzahl von Malen auszuführen; und das Erfassen von Sensordaten das Erfassen von Sensordaten umfasst, wenn der menschenähnliche Roboter die Geste die Vielzahl von Malen ausführt.
  4. Verfahren nach Anspruch 1, wobei das Erfassen von Sensordaten von einem oder mehreren Sensoren das Erfassen von Sensordaten von einem oder mehreren der Folgenden umfasst: einer Kamera, einem LIDAR-Sensor oder einem Radar-Sensor.
  5. Verfahren zum Erzeugen von Gestenerkennungstrainingsdaten, das Verfahren umfassend: das Programmieren eines menschenähnlichen Roboters um eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen; das Erfassen von Sensordaten von einem oder mehreren externen Sensoren, die den menschenähnlichen Roboter überwachen, der die Fahrbahngeste ausführt; das Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und das Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Fahrbahngeste ausführt.
  6. Verfahren nach Anspruch 5, ferner umfassend: das Empfangen erkannter Bewegungsdaten von einem oder mehreren anderen Sensoren am menschenähnlichen Roboter, wobei der eine oder die mehreren anderen Sensoren die Vielzahl von Körperteilen und eine Vielzahl von Aktoren überwachen, die verwendet werden, um die Vielzahl von Körperteilen zu überwachen; das Senden der erkannten Bewegungsdaten an die Simulationsumgebung; und das Empfangen virtueller Daten, die von virtuellen Sensoren aufgenommen wurden, die einen animierten Schauspieler in der Simulationsumgebung überwachen, wobei der animierte Schauspieler unter Verwendung der erkannten Bewegungsdaten betätigt wird, um die Fahrbahngeste in der Simulationsumgebung auszuführen.
  7. Verfahren nach Anspruch 6, wobei das Erzeugen von Gestenerkennungstrainingsdaten das Erzeugen von Gestenerkennungsdaten aus den erfassten Sensordaten und den virtuellen Daten umfasst.
  8. Verfahren nach Anspruch 6, wobei das Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen, das Empfangen virtueller Daten umfasst, die unter Verwendung einer Vielzahl von verschiedenen Wetterlagen in der Simulationsumgebung erzeugt wurden.
  9. Verfahren nach Anspruch 6, wobei das Empfangen erkannter Bewegungsdaten, die Stellung, Geschwindigkeit und Beschleunigung von jedem der Vielzahl von Körperteilen anzeigen, das Empfangen erkannter Bewegungsdaten umfasst, die Gelenkstellungen und Haltung am menschenähnlichen Roboter anzeigen.
  10. Verfahren nach Anspruch 5, wobei das Programmieren eines menschenähnlichen Roboters um eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen, das Programmieren des menschenähnlichen Roboters umfasst, eine Fahrbahngeste auszuführen, die aus den Folgenden ausgewählt ist: das an ein Fahrzeug gerichtete Anzeigen, dass es den Kofferraum des Fahrzeugs öffnen soll; das an ein Auto gerichtete Anzeigen, anzuhalten oder an einem Zebrastreifen weiterzufahren; das an den Verkehr gerichtete Anzeigen, an einer Kreuzung anzuhalten; oder das Anzeigen eines Abbiegens.
  11. Verfahren nach Anspruch 5, ferner umfassend: das Empfangen von Erkennungsergebnissen vom Gestenerkennungssystem, wobei die Erkennungsergebnisse Erfolge des Versuchens anzeigen, die menschliche Ausführung der Geste zu erkennen; und das Validieren der Erkennungsfähigkeiten des Gestenerkennungssystems auf Grundlage der Erkennungsergebnisse.
  12. Computersystem, das Computersystem umfassend: einen Prozessor; und einen Systemspeicher, der an den Prozessor gekoppelt ist und Anweisungen speichert, die dazu konfiguriert sind, den Prozessor zu Folgendem zu veranlassen: Programmieren eines menschenähnlichen Roboters, eine Vielzahl von Körperteilen zu bewegen, um eine Fahrbahngeste auszuführen; Erfassen von Sensordaten von einem oder mehreren Sensoren, die den menschenähnlichen Roboter überwachen, der die Fahrbahngeste ausführt; Erzeugen von Gestenerkennungstrainingsdaten aus den erfassten Sensordaten; und Verwenden der Gestenerkennungstrainingsdaten, um ein Gestenerkennungssystem zu trainieren, einen Menschen zu erkennen, der die Fahrbahngeste ausführt.
  13. Computersystem nach Anspruch 12, ferner umfassend Anweisungen, die dazu konfiguriert sind, den Prozessor zu Folgendem zu veranlassen: Empfangen erkannter Bewegungsdaten von Sensoren am menschenähnlichen Roboter, welche die Vielzahl von Körperteilen und Aktoren überwachen, die verwendet werden, um die Vielzahl von Körperteilen zu bewegen, wobei die erkannten Bewegungsdaten die Stellung, Geschwindigkeit und Beschleunigung von jedem der Vielzahl von Körperteilen zu verschiedenen Zeitpunkten während der Ausführung der Fahrbahngeste anzeigen; Senden der erkannten Bewegungsdaten an eine Simulationsumgebung; Empfangen virtueller Daten, die unter Verwendung der Bewegungsdaten in der Simulationsumgebung erzeugt wurden, um die Fahrbahngeste auszuführen.
  14. Computersystem nach Anspruch 12, wobei Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, einen menschenähnlichen Roboter dazu zu programmieren, eine Vielzahl von Körperteilen zu bewegen, Anweisungen umfassen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, einen menschenähnlichen Roboter dazu zu programmieren, zwei oder mehr der Folgenden zu bewegen: einen Arm, ein Bein, eine Hand oder einen Kopf.
  15. Computersystem nach Anspruch 12 wobei Anweisungen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, die Gestenerkennungstrainingsdaten zu verwenden, um ein Gestenerkennungssystem zu trainieren, Anweisungen umfassen, die dazu konfiguriert sind, den Prozessor dazu zu veranlassen, die Gestenerkennungstrainingsdaten zu verwenden, um ein automatisiertes Fahrzeuggestenerkennungssystem zu trainieren.
DE102019102518.4A 2018-02-01 2019-01-31 Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen Pending DE102019102518A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/886,707 2018-02-01
US15/886,707 US10726248B2 (en) 2018-02-01 2018-02-01 Validating gesture recognition capabilities of automated systems

Publications (1)

Publication Number Publication Date
DE102019102518A1 true DE102019102518A1 (de) 2019-08-01

Family

ID=65997877

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019102518.4A Pending DE102019102518A1 (de) 2018-02-01 2019-01-31 Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen

Country Status (4)

Country Link
US (1) US10726248B2 (de)
CN (1) CN110110735A (de)
DE (1) DE102019102518A1 (de)
GB (1) GB2572472B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877152B2 (en) 2018-03-27 2020-12-29 The Mathworks, Inc. Systems and methods for generating synthetic sensor data
KR102256329B1 (ko) 2020-02-20 2021-05-27 주식회사 비전브이알 인터랙티브 가상현실 컨텐츠의 제공방법 및 장치
CN111401261B (zh) * 2020-03-18 2022-06-10 金陵科技学院 基于gan-cnn框架的机器人手势识别方法
CN111723688B (zh) * 2020-06-02 2024-03-12 合肥的卢深视科技有限公司 人体动作识别结果的评价方法、装置和电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3996015B2 (ja) 2002-08-09 2007-10-24 本田技研工業株式会社 姿勢認識装置及び自律ロボット
JP2005044330A (ja) 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
US9159151B2 (en) * 2009-07-13 2015-10-13 Microsoft Technology Licensing, Llc Bringing a visual representation to life via learned input from the user
KR101317383B1 (ko) 2011-10-12 2013-10-11 한국과학기술연구원 로봇을 이용한 인지 능력 훈련 장치 및 그 방법
US9381426B1 (en) * 2013-03-15 2016-07-05 University Of Central Florida Research Foundation, Inc. Semi-automated digital puppetry control
US9329597B2 (en) 2014-01-17 2016-05-03 Knightscope, Inc. Autonomous data machines and systems
US9014905B1 (en) 2014-01-28 2015-04-21 Google Inc. Cyclist hand signal detection by an autonomous vehicle
US9586585B2 (en) 2014-11-20 2017-03-07 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous vehicle detection of and response to traffic officer presence
US9855890B2 (en) * 2014-12-11 2018-01-02 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous vehicle interaction with external environment
CN104850234A (zh) 2015-05-28 2015-08-19 成都通甲优博科技有限责任公司 一种基于表情识别的无人机控制方法及系统
US11112781B2 (en) * 2015-07-31 2021-09-07 Heinz Hemken Training an autonomous robot using previously captured data
US9864918B2 (en) 2015-11-04 2018-01-09 Ford Global Technologies, Llc Predicting vehicle movements based on driver body language
US10338686B2 (en) * 2016-03-31 2019-07-02 Disney Enterprises, Inc. Control system using aesthetically guided gesture recognition
US10521677B2 (en) * 2016-07-14 2019-12-31 Ford Global Technologies, Llc Virtual sensor-data-generation system and method supporting development of vision-based rain-detection algorithms
CN106845430A (zh) 2017-02-06 2017-06-13 东华大学 基于加速区域卷积神经网络的行人检测与跟踪方法
US10751879B2 (en) 2017-06-05 2020-08-25 Autodesk, Inc. Adapting simulation data to real-world conditions encountered by physical processes
US10612929B2 (en) * 2017-10-17 2020-04-07 AI Incorporated Discovering and plotting the boundary of an enclosure
CN107729854A (zh) 2017-10-25 2018-02-23 南京阿凡达机器人科技有限公司 一种机器人的手势识别方法、系统及机器人

Also Published As

Publication number Publication date
GB2572472A (en) 2019-10-02
GB201901308D0 (en) 2019-03-20
US20190236341A1 (en) 2019-08-01
CN110110735A (zh) 2019-08-09
US10726248B2 (en) 2020-07-28
GB2572472B (en) 2021-02-17

Similar Documents

Publication Publication Date Title
DE102019102518A1 (de) Validieren von Gestenerkennungsfähigkeiten von automatisierten Systemen
Codevilla et al. End-to-end driving via conditional imitation learning
EP3682367B1 (de) Gestensteuerung zur kommunikation mit einem autonomen fahrzeug auf basis einer einfachen 2d kamera
DE102018002963B4 (de) Fahrerüberwachungsapparat und fahrerüberwachungsverfahren
CN108694367B (zh) 一种驾驶行为模型的建立方法、装置和系统
DE102017107396B4 (de) Testverfahren und Testvorrichtung für Fahrerassistenzsysteme
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
Sobh et al. End-to-end multi-modal sensors fusion system for urban automated driving
US20150187224A1 (en) Driving assessment and training method and apparatus
CN108921200A (zh) 用于对驾驶场景数据进行分类的方法、装置、设备和介质
US20150104757A1 (en) Driving assessment and training method and apparatus
DE102018101465A1 (de) Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE212019000172U1 (de) System zum Ermitteln der Händigkeit für virtuelle Controller
DE102017115393A1 (de) Virtuelles sensordatenerzeugungssystem und verfahren zum unterstützen der entwicklung von sichtbasierten regendetektionsalgorithmen
DE112017006567T5 (de) Autonomes fahrzeug mit fahrerausbildung
CN110399775A (zh) 生成式对抗网络中的同时定位和建图约束
DE102013203381A1 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
US20210049415A1 (en) Behaviour Models for Autonomous Vehicle Simulators
DE102017105628A1 (de) Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation
CN110320883A (zh) 一种基于强化学习算法的车辆自动驾驶控制方法及装置
CN110930811B (zh) 一种适用于无人驾驶决策学习和训练的系统
Kannapiran et al. Go-CHART: A miniature remotely accessible self-driving car robot
CN113327479A (zh) 一种基于mr技术的机动车驾驶智能培训系统
CN112991544A (zh) 一种基于全景影像建模的群体疏散行为仿真方法

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE