pySPACE

Signalverarbeitungs- und Klassifikationsumgebung in Python

Ansprechpartner/in:
Dr. rer. nat. Mario Michael Krell
Dipl.-Biomath. Anett Seeland
Dr. rer. nat. Sirko Straube
pySPACE ist ein modulares Software-Framework für die Verarbeitung segmentierter Zeitreihen sowie Merkmalsvektoren. Es wurde speziell für die verteilte Verarbeitung und empirische Evaluation unterschiedlicher Signalverarbeitungsketten entwickelt. Es kann sowohl für große offline Vergleiche als auch online in konkreten Anwendungen benutzt werden. Verschiedene Datensätze werden automatisch geladen, verarbeitet und gespeichert. Signalverarbeitungsalgorithmen (Knoten) und größere Transformationen der Datensätze (Operationen) können einfach aneinander gehängt werden. Eine parallele Verarbeitung kann auf einem Mehrkernprozessor oder Cluster erfolgen. pySPACE wird aktiv gewartet und weiterentwickelt, wodurch die Anzahl von Knoten stetig steigt.
Internetseite: http://pyspace.github.io/pyspace/
Schlüsselwörter: Maschinelles Lernen, Signalverarbeitung, Parallelisierung
Status: aktiv
Betriebssystem: Linux, Mac OS X, Windows
Programmiersprachen: Python
Lizenz: GPL3
Eigentumsrechte: Diese Software wurde ursprünglich vom DFKI sowie der Arbeitsgruppe Robotik und der Universität Bremen entwickelt, wird aber jetzt auch von Dritten weiterentwickelt. Bei Fragen und Anregungen wenden sie sich an die Ansprechpartner.
 

Softwarebeschreibung

Schema einer Verarbeitungskette in pySPACE. A und B sind zwei Datensätze, welche entsprechend einer einfachen Konfigurationsdatei verarbeitet werden. Die Verarbeitung erfolgt automatisch. Als Ergebnis können neue Datensätze und Visualisierungen generiert werden. Die Teilverarbeitungen können auf mehrere Prozessoren verteilt werden, um die Berechnung zu beschleunigen. Die Puzzleteile symbolisieren verschiedene Knoten, welche zu einer Kette verknüpft sind. (Quelle: DFKI GmbH)
Auswahl der mehr als 200 in pySPACE verfügbaren Verarbeitungsknoten, angeordnet nach Kategorien (Paketnamen). Die Größe der Rechtecke entspricht ungefähr der Menge an verfügbaren Algorithmen der jeweiligen Kategorie. (Quelle: DFKI GmbH)

Knoten für Verarbeitungsketten

Eine modulare Verarbeitungskette beginnt immer mit dem Laden der Daten (Source) und endet mit dem Speichern oder Versenden der Daten (Sink). Eine übliche Verarbeitungskette für Gehirnstromdaten besteht zum Beispiel aus Trendentfernung, Downsampling, zeitliche Filterung, Dimensionsreduktion (ICA oder xDAWN), Merkmalsgenerierung, Normalisierung und der abschließenden Klassifikation. Zusätzlich können Daten und Algorithmen visualisiert werden oder Daten in Trainings- und Testdaten aufgespalten werden (Kreuzvalidierung). Einige Knoten können intern einen oder mehrere Knoten aufrufen um sie zu kombinieren, ihr Verhalten zu ändern oder deren Parameter zu optimieren. Die Parameteroptimierung erfolgt wiederum parallel.


Benutzbarkeit

  • Einfache Installation und 

  • Einrichtung (zentrales Konfigurationsverzeichnis;    notwendige Abhängigkeiten: Python, YAML, NumPy, SciPy; optionale Abhängigkeiten: matplotlib, scikit-learn, PyQt4, mpi4py, LIBSVM, LIBLINEAR, MDP, ...)
  • Einfache Benutzung und Erweiterbarkeit
  • Öffentlich verfügbare Dokumentation - Schnittstellen zu externen Bibliotheken (scikit-learn, Maja Machine Learning Framework, Weka) 

  • Interaktive Tools zur Auswertung und zur Generierung und Ausführung von Verarbeitungsketten

Referenzen

Anwendungsfelder: Assistenz- und Rehabilitationssysteme
Weltraumrobotik
Verwandte Projekte: NEARBY
Noise and Variability-Free BCI Systems for Out-of-the-Lab Use (12.2023- 02.2027)
VirGo4
Virtual state prediction for Groups of reactive autonomous Robots (04.2011- 06.2014)
ACTIVE
Active Constraints Technologies for Ill-defined or Volatile Environments (04.2011- 03.2015)
TransTerrA
Semi-autonomous cooperative exploration of planetary surfaces including the installation of a logistic chain as well as consideration of the terrestrial applicability of individual aspects (05.2013- 12.2017)
Recupera REHA
Full-body exoskeleton for upper body robotic assistance (09.2014- 12.2017)
InFuse (OG3)
Common Data Fusion Framework for Space Robotics (11.2016- 01.2019)
BEAR
Battery electric waste management with robotic assistance (01.2017- 06.2020)
TransFIT
Flexible Interaction for infrastructures establishment by means of teleoperation and direct collaboration; transfer into industry 4.0 (07.2017- 12.2021)
KAMeri
Cognitive Occupational Safety for Human-Machine Interaction (08.2018- 07.2021)
KiMMI-SF
Adaptive software framework for context-sensitive, intuitive man-machine-interaction (06.2020- 12.2023)
EXPECT
Exploring the Potential of Pervasive Embedded Brain Reading in Human Robot Collaborations (06.2020- 05.2024)
HaLeR
Detection of action deviations through learning with limited computing resources (08.2020- 12.2022)
M-Rock
Human-Machine Interaction Modeling for Continuous Improvement of Robot Behavior (08.2021- 07.2024)
NEARBY
Rausch- und variabilitätsfreie Brain-Computer-Interface Systeme für einen Einsatz auch außerhalb des Labors (12.2023- 02.2027)
IMMI
Intelligent Man-Machine Interface - Adaptive Brain-reading for assistive robotics (05.2010- 04.2015)
VI-Bot
Virtual Immersion for holistic feedback control of semi-autonomous robots (01.2008- 12.2010)
InFuse (OG3)
Allgemeines Framework zur Datenfusion für die Weltraumrobotik (11.2016- 01.2019)
BEAR
Batterieelektrische Abfallentsorgung mit Roboterunterstützung (01.2017- 06.2020)
KAMeri
Kognitiver Arbeitsschutz für die Mensch-Maschinen-Interaktion (08.2018- 07.2021)
TransFIT
Flexible Interaktion für Infrastrukturaufbau mittels Teleoperation und direkte Kollaboration und Transfer in Industrie 4.0 (07.2017- 12.2021)
KiMMI-SF
Adaptives Softwareframework für Kontextabhängige intuitive Mensch-Maschine-Interaktion (06.2020- 12.2023)
EXPECT
Exploring the Potential of Pervasive Embedded Brain Reading in Human Robot Collaborations (06.2020- 05.2024)
HaLeR
Erkennung von Handlungsabweichungen durch Lernen mit eingeschränkten Rechenressourcen (08.2020- 12.2022)
M-Rock
Modellierung der Mensch-Maschine-Interaktion zur kontinuierlichen Verbesserung des Roboterverhaltens (08.2021- 07.2024)
ACTIVE
Active Constraints Technologies for Ill-defined or Volatile Environments (04.2011- 03.2015)
IMMI
Intelligentes Mensch-Maschine-Interface - Adaptives Brain-Reading für unterstützende Robotik (05.2010- 04.2015)
Recupera REHA
Ganzkörper Exoskelett für die robotische Oberkörper-Assistenz (09.2014- 12.2017)
TransTerrA
Semi-autonome kooperative Exploration planetarer Oberflächen mit Errichtung einer logistischen Kette sowie Betrachtung terrestrischer Anwendbarkeit einzelner Aspekte (05.2013- 12.2017)
VI-Bot
Virtual Immersion for holistic feedback control of semi-autonomous robots (01.2008- 12.2010)
VirGo4
Vorhersagesysteme in reaktiven Gruppen autonomer Roboter (04.2011- 06.2014)
Verwandte Robotersysteme: Exoskeleton Active (VI-Bot)
Upper body Exoskeleton (right arm)
BRIO Labyrinth
Testbed for the development of learning architectures
Ganzkörperexoskelett
Exoskelett für die robotische Oberkörper-Assistenz
Full Body Exoskeleton
Exoskeleton for upper body robotic assistance
Aktives Zweiarm-Exoskelett
Zweiarmiges Exoskelett für die robotische Oberkörper-Assistenz (Recupera REHA)
Dual Arm Exoskeleton
Exoskeleton for upper body robotic assistance (Recupera REHA)
BRIO Labyrinth
Testbed für die Entwicklung von Lernarchitekturen
Exoskelett Aktiv (VI-Bot)
Exoskelett für den menschlichen Oberkörper (rechter Arm)
Fördergeber: Bundesministerium für Wirtschaft und Technologie
Deutsches Zentrum für Luft- und Raumfahrt e.V.
Förderkennzeichen: FKZ 50 RA 1012, FKZ 50 RA 1011
© DFKI GmbH
zuletzt geändert am 16.11.2023