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: M-Rock
Modellierung der Mensch-Maschine-Interaktion zur kontinuierlichen Verbesserung des Roboterverhaltens (08.2021- 07.2024)
IMMI
Intelligentes Mensch-Maschine-Interface - Adaptives Brain-Reading für unterstützende Robotik (05.2010- 04.2015)
VirGo4
Vorhersagesysteme in reaktiven Gruppen autonomer Roboter (04.2011- 06.2014)
ACTIVE
Active Constraints Technologies for Ill-defined or Volatile Environments (04.2011- 03.2015)
TransTerrA
Semi-autonome kooperative Exploration planetarer Oberflächen mit Errichtung einer logistischen Kette sowie Betrachtung terrestrischer Anwendbarkeit einzelner Aspekte (05.2013- 12.2017)
Recupera REHA
Ganzkörper Exoskelett für die robotische Oberkörper-Assistenz (09.2014- 12.2017)
InFuse (OG3)
Allgemeines Framework zur Datenfusion für die Weltraumrobotik (11.2016- 01.2019)
BEAR
Batterieelektrische Abfallentsorgung mit Roboterunterstützung (01.2017- 06.2020)
TransFIT
Flexible Interaktion für Infrastrukturaufbau mittels Teleoperation und direkte Kollaboration und Transfer in Industrie 4.0 (07.2017- 12.2021)
KAMeri
Kognitiver Arbeitsschutz für die Mensch-Maschinen-Interaktion (08.2018- 07.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)
VI-Bot
Virtual Immersion for holistic feedback control of semi-autonomous robots (01.2008- 12.2010)
Verwandte Robotersysteme: Ganzkörperexoskelett
Exoskelett für die robotische Oberkörper-Assistenz
Aktives Zweiarm-Exoskelett
Zweiarmiges Exoskelett für die robotische Oberkörper-Assistenz (Recupera REHA)
Exoskelett Aktiv (VI-Bot)
Exoskelett für den menschlichen Oberkörper (rechter Arm)
BRIO Labyrinth
Testbed für die Entwicklung von Lernarchitekturen
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
nach oben