-
Aufgabe der Erfindung ist es, ein Verfahren zu entwickeln, das die gegenwärtig durchgeführte Bewegung eines Gerätes mit einer vorher abgespeicherten Referenzbewegung vergleicht und in Abhängigkeit von der Ähnlichkeit beider Bewegungen ein Signal erzeugt. Das Auftreten oder das Ausbleiben dieses Signales kann im Weiteren einem Zeitbereich zugeordnet und zur Darstellung beliebiger Informationen für den Benutzer herangezogen werden.
-
Geräte und Verfahren, die Muster innerhalb eines Datenstromes von Messwerten erkennen und auswerten sind bekannt. Dabei handelt es sich typischerweise um eng begrenzte Aufgaben, wie z.B. Spracherkennung, Schritterkennung bei Personen oder Algorithmen zur Sturzerkennung die speziell für das vorgesehene Einsatzgebiet entwickelt wurden.
-
Normalerweise wird ein Gerät oder Verfahren speziell für das vorgesehene Einsatzgebiet hin entwickelt. Dies bedeutet, dass die zu bewertende Referenz-Sequenz in die Entwicklung eingeht und die Entwickler das Verfahren daraufhin optimieren. Ziel des erfindungsgemäßen Verfahrens ist es, die Definition des Referenzdatensatzes dem Anwender selber zu überlassen und damit das Verfahren von einer konkreten Aufgabe abzukoppeln. Kennzeichnend dafür ist, dass die Anwendung des Gerätes offen ist und die beschriebenen Anwendungen nur beispielhaft zu verstehen sind.
-
Die folgende Beschreibung gilt sinngemäß für die Verarbeitung von Messwerten beliebiger Sensoren, wie z.B. Sprachdaten. Im Folgenden wird beispielhaft die Erkennung von speziellen Bewegungssequenzen und Änderungen in der Orientierung eines Gerätes anhand von bewegungsabhängigen Messwerten beschrieben.
-
Das Bewegungsmuster, das von den Sensoren des Gerätes erzeugt wird, unterscheidet sich je nach Orientierung und Position des Gerätes an dem zu bewegenden Objekt bei gleicher oder ähnlicher Bewegung deutlich. Deshalb muss die Orientierung bzw. Position des Gerätes am Objekt bekannt sein. Dies wird normalerweise dadurch gelöst, dass das Gerät am wirkverbundenen Objekt mit hinreichender Genauigkeit fixiert wird, was z.B. bei sogenannten Wearables, bei denen das Gerät mit Textilien wirkverbunden ist, einen erheblichen Aufwand generieren kann. Bei einem anderen gängigen Verfahren wird die Orientierung bzw. Position des Gerätes nach der wirkverbundenen Anbringung am Objekt durch ein definiertes Kalibrierverfahren ermittelt. Dabei muss z.B. eine bestimmte Bewegungssequenz, bestehend aus bestimmten statischen Haltungen und oder vordefinieren Bewegungen ausgeführt werden.
-
Bei Anwendungen, bei denen das Objekt frei geführt wird, unterscheiden sich die Bewegungssequenzen pro Referenzdatensatz mehr oder weniger stark. Dies betrifft sowohl Änderungen in Amplituden- und/oder im Zeitverlauf. Im Bereich der Amplitude sind die Merkmale im Verlauf oft unterschiedlich stark ausgeprägt, zusätzlich kommt es oft zu Störpulsen, die z.B. zu zusätzlichen Extremwerten führen. Um diese Variabilität einzugrenzen wird die Bewegungssequenz üblicherweise durch lineare oder nicht lineare Filteroperationen wie z.B. Hochpass, Tiefpass, gleitende Mittelwert- oder Medianbildung (sliding-window Filtering) vorverarbeitet.
-
Der zeitliche Verlauf der Sequenz kann große Abweichungen von Sequenz zu Sequenz aufweisen. Ein weiteres Problem können zusätzliche oder fehlende Teilsequenzen innerhalb der zu untersuchenden Bewegungssequenz sein. Im Weiteren wird dies als Insertion bzw. Deletion bezeichnet. Dieses Problem wird üblicherweise dadurch gelöst, dass nicht nach einer exakten Übereinstimmung sondern nach der Ähnlichkeit zwischen Referenz und ausgeführter Bewegung bewertet wird.
-
Um die Ähnlichkeit zu bestimmen werden normalerweise Algorithmen eingesetzt, die hohe Anforderungen in Bezug auf Rechenzeit und Speicherbedarf der dafür eingesetzten Datenverarbeitungseinheiten stellen. Üblicherweise wird die Ähnlichkeit durch Korrelation der durch die Sensoren abgebildeten aktuellen Bewegung mit der hinterlegten Referenzsequenz berechnet. Dieses Verfahren hat sich bei Änderungen hauptsächlich im Amplitudenbereich bewährt, liefert aber schon bei verhältnismäßig kleinen Abweichungen im Zeitbereich eher zufällige Werte. Abhilfe schafft üblicherweise eine vorausgehende zeitliche Normierung der Sequenzen. Dazu sind Referenzpunkte innerhalb der Sequenz nötig, die je nach Bewegungssequenz unterschiedlich sind und vorher definiert wurden. Beispielweise wird bei der Berechnung der Ähnlichkeit von Schrittsequenzen bei Läufern das Auftreffen des Fußes auf und das Abstoßen vom Boden gewählt, da dabei sehr charakteristische Signale entstehen. Dadurch ist Beginn und Ende der Schwung- und Standphase bekannt und beide können vor der Korrelation normiert werden. Da bei der erfindungsgemäßen Aufgabe beliebige, vorher nicht bekannte Bewegungssequenzen erkannt und bewertet werden sollen, ist das oben beschriebene Referenzpunkt Verfahren nicht anwendbar.
-
Andere bekannte Verfahren sind sehr rechenintensiv. Beispielsweise werden zusätzlich zu dem originalen Referenzdatensatz weitere mit gedehnten oder gestauchten Zeitbereichen erstellt. Bei der Auswertung müssen dann all diese erzeugten Referenzen mit der aktuell durchgeführten Bewegungssequenz verglichen werden.
-
Die Analyse der Bewegungssequenzen kann im Frequenzbereich durchgeführt werden. Dabei kommt z.B. die FFT oder eine Wavelet Transformation zur Anwendung. Da diese Verfahren einen Kurvenverlauf über die Frequenz erzeugen bleibt das Problem, einen Ähnlichkeitsfaktor zwischen dem Referenzspektrum und dem zu untersuchenden Bewegungsspektrum zu berechnen.
-
In einem anderen üblichen Verfahren wird aus dem originalen Referenzdatensatz zunächst ein meist mehrdimensionaler Merkmalsvektor erstellt. Als Merkmale werden üblicherweise Kennzahlen aus dem Zeitbereich wie z.B. Mittelwerte, Extremwerte, Nulldurchgänge, Über oder Unterschreiten von Schwellwerten und / oder aus dem Frequenzbereich wie z.B. FourierKoeffizienten, Frequenzanteile Phasenverschiebungen benutzt, die üblicherweise eine charakteristische zeitliche Aufeinanderfolge aufweisen und deshalb besonders empfindlich auf Insertionen und Deletionen innerhalb der Sequenz sind
-
In anderen üblichen Verfahren kommen neuronale Netzwerk bzw. Hidden Markow Modelle (HMM) zur Anwendung. Diese Verfahren werden z.B. bei den bekannten BIG Data Berechnungen durchgeführt. Beispielweise funktioniert eine Sprecher unabhängige Spracherkennung üblicherweise durch Übertragung der Sprechdaten an einen zentralen Server, auf dem die aufwändige Auswertungen laufen. Die Ergebnisse werden dann an den Benutzer rückübertragen.
-
All diesen Verfahren ist gemeinsam, dass sie auf günstigen embedded Prozessoren nur bedingt ausführbar sind oder für das erfindungsgemäße Einsatzgebiete zu lange Rechenzeiten benötigen.
-
Es ist Aufgabe der Erfindung, ein System zu entwickeln, das bei beliebiger Position bzw. Orientierung des Gerätes am wirkverbunden Objekt auf die Anwesenheit oder Abwesenheit von Orientierungen oder Bewegungssequenzen reagiert und deshalb für unterschiedlichste Einsatzgebiet geeignet ist. Die Analyse soll in Echtzeit auf dem Gerät selber erfolgen, eine Übertragung der Messdaten auf einen Server ist dazu nicht erforderlich.
-
Die Ähnlichkeit der Referenzbewegung mit der tatsächlich ausgeführten Bewegung soll in Echtzeit ermittelt, bewertet und weitergeleitet werden. In Abhängigkeit davon werden je nach Einstellung Erinnerungs- und/oder Warnhinweise erzeugt. Zudem wird bei erkannten Bewegungsabläufen ein Qualitätsfaktor erzeugt, der angibt, wie stark die erkannte und vorgegebene Bewegungssequenz übereinstimmen.
-
Typischerweise geschieht die Bewertung der Bewegung auf einem kleinen, tragbaren, batteriebetriebenen Gerät, im Folgenden als Bewegungserfassungseinheit (BE) bezeichnet, das das Ergebnis-Signal drahtlos an eine Ausgabeeinheit (AE) weiterleitet. Das Ergebnis (ERG) ist die Erkennung einer Bewegungssequenz und / oder die Erkennung einer Änderung in der Orientierung, oder deren Ausbleiben. Beispielhaft handelt es sich beim BE um ein kleines, tragbares batteriebetriebenen Gerät mit einem embedded Prozessor mit Sensoren und einer BLE Schnittstelle zur Übertragung, als AE wird typischerweise ein Smartphone eingesetzt, auf dem eine spezielle App läuft, die zur Einstellung und Darstellung der Signale dient. Zur Aufnahme und Weiteleitung der BE Signale kann auch eine Datenverarbeitungseinheit mit BLE und/oder GSM oder ähnlicher Schnittstelle benutzt werden. Entsprechende günstige Einplatinen-Computersysteme stehen in großer Auswahl am Markt zur Verfügung.
-
Die Referenzbewegung oder Orientierung wird mindestens einmal mit Hilfe der BE und AE aufgezeichnet. Die genaue Art der zu erkennenden Bewegung wird in der AE eingestellt und an die BE übermittelt. Danach wird die Aufzeichnung der Referenzbewegung in der BE gestartet indem die Bewegung mit der BE durchgeführt wird. Als Ende der Aufzeichnung dient beispielhaft ein bestimmte Zeitdauer der Bewegungslosigkeit oder die Ruhelage des mit der BLE wirkverbundenen Gegenstands. Alternativ kann die Aufzeichnungsdauer auch durch ein einstellbares Zeitfenster definiert sein.
-
Da die zu detektierende Bewegung nach der wirkverbundenen Fixierung am Objekt aufgezeichnet, analysiert wurde sind weiter Orientierungs- und oder Positions-Kalibrierverfahren nicht mehr nötig. Der Referenzdatensatz beinhaltet vielmehr die Positions- und Orientierungs-Kalibrierung.
-
Im AE wird nun beispielhaft über einen Schiebeschalter die Ähnlichkeit der zu erkennenden Bewegung mit der Referenzbewegung und damit die Auslöseschwelle für das Signal eingestellt und an die BE übermittelt. Ferner wird ausgewählt, ob eine Information des Benutzers aufgrund des Eintretens oder des Ausbleibens des vom BE erzeugten und gesendeten Signales in einem gewählten Zeitbereich stattfinden soll. Unabhängig davon wird die Anzahl der erkannten Bewegungen mitgezählt und protokolliert.
-
In einer Verwirklichung hat die BE in etwa die Abmessungen einer Münze mit einem Flansch für verschiedene Halter und Vorrichtungen. Beispielhaft für eine angeflanschte Vorrichtung ist eine Pillendose für Medikamente, die an den Benutzer auszugebende Information ist die Meldung, ob das Medikament in dem betreffenden Zeitraum genommen wurde oder nicht. Die genaue Lösung dieser Aufgabe ist dem Benutzer überlassen. Beispielhaft kann es ausreichend sein, als Referenzbewegung eine beliebige Bewegung einer bestimmten Intensität und Dauer einzulernen. Es kann aber auch das Öffnen des Schnappdeckels als Referenzbewegung eingelernt werden. Die dabei auftretenden hochfrequenten Bewegungsanteile machen diese Referenzbewegung sehr viel spezifischer.
-
In einer anderen Verwirklichung wird der Sensor an eine Flasche angebracht. Beim angeflanschten Gerät handelt es sich um einen zweckentsprechenden Halter. Die Referenzbewegung könnte das Anheben der Flasche sein. Handelt es sich um eine Trinkflasche, kann damit an das Trinken pro Zeiteinheit angemahnt werden, bei flüssigen Medikamenten die Einnahme der Arznei.
-
In einer anderen Verwirklichung wird die BE an einen Gegenstand angebracht. Handelt es sich dabei um einen Müllbehälter kann gemeldet werden, ob der Mülleimer herausgestellt wurde oder nicht. Handelt es sich um einen Stuhl, kann die Anwesenheit oder Abwesenheit eines Mitarbeiters erfasst werden.
-
Befindet sich die BE an einem Fenster oder einer Tür, so wird das Öffnen oder Schließen oder der Winkel zum Rahmen erfasst und weitergeleitet werden. Damit kann ein Alam System ohne weiter Verkabelung aufgebaut werden.
-
Da neben der Bewegung der BE auch die Orientierung derselben erfasst wird, kann der Zustand eines Drehknopfs wie z.B. eines Wasserhahns oder eines Schalters am Herd detektiert werden und damit weitergemeldet werden, ob das Wasser läuft oder der Gas- oder Elektro-Herd noch eingeschalten ist. Mit Vergleich zum Referenzwinkel kann auch die Stellung einer Tür, beispielsweise einer Kühlschranktür detektiert werden. Befindet sich die BE am Fenstergriff, kann dessen Stellung rückgemeldet werden und beispielsweise ein Warnhinweis beim Verlassen des Hauses bei offenem Fenster erzeugt werden.
-
In einer anderen Anwendung wird die BE direkt am Körper angebracht. Damit kann, je nach der Spezifität der Referenzbewegung die Quantität und Qualität von Übungen, z.B. im Gesundheitsbereich erfasst und dokumentiert werden. In einer anderen Anwendung kann dabei die richtige Körperhaltung während einer Übung an Trainingsgeräten überwacht werden. In einer anderen Anwendung wird eine gerade Haltung als Referenz eingegeben und die App zeigt an, wie oft und wann diese Haltung eingenommen wurde.
-
In einer Beispielhaften Anwendung wird eine komplexe Bewegung mit dem erfindungsgemäßen Verfahren aufgezeichnet, die Ähnlichkeit als klein eingestellt und der Qualitätsfaktor zur Hilfe beim Erlernen dieser Bewegung herangezogen. Bei dieser Bewegung handelt es sich beispielshaft um Tanzschritte, oder Anwendungen in Aerobic, Gymnastik oder im Kampfsport.
-
Bei dem Gegenstand kann es sich um ein Sportgerät handeln. Wird die BE beispielhaft an einen Faszien Rolle angebracht, so kann die Anzahl der Umdrehungen detektiert werden. Bei einem Heimtrainer kann die Anzahl der Übungen erfasst werden.
-
Wird das Gerät an die Tretkurbel eines Fahrrades angebracht, zeigt sie die Trittfrequenz beim Fahren an. Wenn der Benutzer zusätzlich eine BE am Körper trägt, kann zusätzlich die korrekte Körperposition während des Fahrens angezeigt werden.
-
Bei Säuglingen kann das Gerät das Ausbleiben von Körperdrehungen während der Nacht oder auf die Dauer von Bauchlagen erkennen und Alarm auslösen. Bei Erwachsen können analog dazu Parameter zur Berechnung der Schlafqualität ermittelt werden.
-
Je nach Empfindlichkeit der Sensoren kann auch die Atembewegung erfasst und überwacht werden.
-
Darüber hinaus sind industrielle Anwendungen möglich. So kann die Stabilität von Gerüsten und Stützsystemen erkannt und gemeldet werden. Auch die Standsicherheit beispielweise von einem Kran kann so detektiert werden. Wird die BE an einem Baum angebracht, kann dessen Umstürzen z.B. auf eine Straße oder Geleise erkannt und weitergemeldet werden.
-
Werden 2 BE gleichzeitig benutzt, so kann auch eine relative Bewegung zueinander erkannt werden. Damit kann beispielhaft ein Verrutschen einer Ladung erkannt werden, auch Anwendungen im Hoch und Tiefbau sind möglich (Verrutschen von Abdeckplatten, Umfallen von Verkehrszeichen oder Absperrungen).
-
Die Erfassung der Bewegung und die Bewertung der Ähnlichkeit zu einer Referenzbewegung ist dergestalt, dass sie ohne rechenintensive Verfahren oder gar einen Big Data Ansatz auskommt, bei dem die Rohdaten zur weiteren Verarbeitung an externe Server weitergeleitet und die Bewertung rückübertragen wird. Vielmehr wird ein Verfahren benutzt, das möglichst wenig speicher- und rechenintensiv ist und in einem kostengünstigen embedded Prozessor ablaufen kann.
-
Als Sensor wird eine sogenannte Inertial Measurement Unit (IMU) eingesetzt. Diese besteht mindestens aus einem 3- achsigen Beschleunigungsmesser und einem 3- achsigen Gyroskop. Bei manchen Anwendungen kommt noch ein 3-achsiges Magnetometer dazu. Die von diesen Einzelsensoren erzeugten Daten können sowohl jeder für sich als auch zur Ermittlung der Orientierung fusioniert und zur Quaternionen Berechnung benutzt werden.
-
Es liegt im Ermessen des Anwenders, wie aufwändig die Berechnung der Ähnlichkeit zu erfolgen hat. Je nachdem können verschiedene Verfahren eingesetzt werden.
-
Unterschied Änderung der Orientierung bzw. Ähnlichkeiten von Bewegungssequenzen
-
Änderungen von Orientierungen:
-
Eine Änderung der Orientierung setzt eine Bewegung voraus. Diese führt zunächst zum Verlassen des Sleep Zustandes der BE. Anschließend wir geprüft, ob und wie oft das Gerät einen bestimmten Bereich verlässt oder in einen anderen eintritt und ein entsprechendes Signal an die AE weiterleitet.
-
Ähnlichkeit von Bewegungssequenzen:
-
Die Berechnung der Ähnlichkeit geschieht normalerweise direkt nach dem Beginn der Bewegung aus der Ruhelage heraus. Das bedeutet, dass sich der Prozessor während der Ruhephase im stromsparenden Sleepmodus befindet. Der Beginn der Bewegung wird beispielhaft durch die Sensoren selbst erkannt, die den Prozessor durch eine geeignete Hardware in den aktiven Stand versetzten. Vor allem bei der Beurteilung der Änderung der Orientierung kann der Prozessor zusätzlich mit einem einstellbaren Zeitintervall aufgeweckt werden, um die aktuelle Orientierung zu berechnet und je nach Differenz die entsprechenden Signale zu erzeugt.
-
Die Berechnung der Ähnlichkeit zwischen 2 Bewegungssequenzen wird nachfolgend beschrieben.
-
Gefordert ist ein Verfahren, das bei den oben beschriebenen Störungen im Amplituden Bereich, bei Stauchungen und/oder Dehnungen im Zeitbereich und bei Deletion und / oder Insertion einer oder mehrererTeile der Bewgungssequenz bei minimalem Rechenaufwand zufriedenstellende Ergebnisse hinsichtlich Erkennungssicherheit und Ähnlichkeitsbetrachtungen zu liefert.
-
Ermitteln von Merkmalsvektoren durch das Echtzeit PLA Verfahren (ePLA)
-
Das Piecewise Linear Approximation (PLA) Verfahren wurde sowohl zur Datenreduktion als auch zur Eliminierung von Rauscheffekten und Artefakten entwickelt. Dabei werden die Messwerte in Vektoren mit einer bestimmten zeitlichen Länge (Zahl der Messwerte) und einer bestimmten Steigung (durchschnittliche Anstiegsrate) umgerechnet. Dazu wird zunächst ein Datenpunkt als Startpunkt gewählt. Der nächste, gegenwärtige Messwert ist der vorläufige Endpunkt, was einen Startvektor der Länge 1 ergibt. Ab einer Vektor der Länge 2 wird zwischen Startpunkt und vorläufigem Endpunkt eine Gerade berechnet. Die Abweichungen aller zwischenliegenden Messpunkte zu der Geraden werden aufsummiert und normiert. Ist die Abweichung unter einer Schwelle, bleibt der Startpunkt derselbe, der nächste Messpunkt wird zum neuen vorläufigen Endpunkt, eine neue Gerade berechnet und wiederum die Abweichungen aller zwischenliegenden Messpunkte zur neuen Geraden betrachtet. Ist die Abweichung größer, wird der alte Vektor abgeschlossen, d.h. der vorhergehende Messwert wird der definitive Endpunkt und gleichzeitig der neue Startpunkt für den nächsten Vektor. Dies ergibt eine Sequenz von Vektoren, die sich durch eine Länge und eine Steigung auszeichnen (aus der Differenz von Endwert zu Startwert). Der Vorteil dieses Verfahrens liegt darin, dass sich die Originaldaten und die durch Geraden angenäherte Version je nach gewähltem Schwellwert mehr oder weniger ähnlich sehen ( ). Der Nachteil besteht darin, dass die Rechenzeit nicht vorbestimmbar ist, je länger ein Vektor wird, desto länger dauert die Summenbildung. Dies bewirkt, dass es für Echtzeitverfahen nur bedingt geeignet ist.
-
Zur Abhilfe wird das erfindungsgemäße Echtzeit-PLA (ePLA) Verfahren eingesetzt. Dabei werden nicht alle Messpunkte in die Summenbildung der quadratischen Abweichung einberechnet sondern nur einen vorher definierte Anzahl der Punkte am Ende des Vektors. Dadurch ist die maximale Rechenzeit vorhersehbar, der Nachteil ist, dass die Approximationen bei hohen Schwellen und dadurch langen Vektoren schlechter ist, als bei kurzen Vektoren ( ). Da die Abweichungen aber reproduzierbar sind, betreffen sie den Referenzdatensatz und den zu vergleichenden Datensatz in gleicher Weise und beeinflusst die Erkennungssicherheit daher nicht.
-
Das Ergebnis des Verfahrens ist in dargestellt.
-
Figurenliste
-
- ePLA Verfahren mit kleinem Schwellwert. Bei kleinen Schwellwerten ähnelt die Vektor Generierung sehr stark dem PLA Verfahren (Nicht gezeigt). Fett: Originaldaten, dünn: Vektoren
- ePLA Verfahren bei mittleren Schwellwerten. Die erzeugten Vektoren bilden nicht mehr den Mittelwert der fetten Kurve ab.
- ePLA Verfahren bei hohen Schwellwerten. Lange flache Abschnitte werden nicht optimal abgebildet, statt kleiner Steigung wird ein Vektor mit hoher negativer Steigung erzeugt, z.B. im Bereich von 680 bis 840
- Überblick über die Mustererkennung. Als Eingang dienen Messdaten, bei „Referenzdatensatz erzeugen“ wird daraus der Referenzdatensatz erzeugt, ansonsten werden die Messdaten auf Auftreten eines des Referenzdatensatzes ähnlichen Musters hin untersucht. Ist ähnliches Muster im Messdatenstrom enthalten wird das Signal „Bewegung erkannt“ gesetzt, der „Qualitätsfaktor“ zeigt den Grad der Ähnlichkeit an. Über die beiden Eingabesignale „Absolute Ähnlichkeit“ und „Relative Ähnlichkeit“ kann der Grad der Ähnlichkeit eingestellt werden. Alle Prozesse laufen auf dem gleichen Gerät.
- Details der Mustererkennung. Strang B: Referenzdaten erzeugen: Die Messdaten werden durch den „ePLA“ Block in Vektoren zerlegt. Im Block „Referenzvektoren“ werden daraus n Vektoren aufgrund ihrer Steilheit und Länge ausgewählt und in eine Referenzsequenz geschrieben. Die zeitlichen Lücken dazwischen werden mit reinen innerhalb der Sequenz beschrieben. Im Block „Ähnlichkeit setzen“ werden die Vorgaben mit Minimal- und Maximalwerten ausgestattet. Im Block „Sequenzliste“ wird die Sequenz bis zur nächsten Referenz gespeichert. Strang A: Die Messdaten werden im Block „ePLA“ in Vektoren übersetzt. Im Block „Sequenzvergleich“ werden diese mit den Vorgaben aus der Sequenzliste verglichen. Bei positivem Ergebnis wird das „Sequenz“ Signal gesetzt und die „Qualität“ als Zahlenfaktor berechnet. Die Berechnung in Strang A muss in Echtzeit erfolgen.
-
Die Vorteile des ePLA Verfahrens sind: Erstens werden durch diesen Verfahrensschritt Störungen im Verlauf der Amplitude weitestgehend beseitigt, eine weitere Filterung ist nicht mehr nötig. Zweitens kann die Stauchung bzw. Dehnung der Sequenz im zeitlichen Verlauf einfach abgebildet werden. Eine Stauchung im zeitlichen Verlauf entspricht einer Zunahme, eine Streckung der Abnahme der Steigung der gebildeten Vektoren bzw. umgekehrt für die Länge. Die zeitliche Varianz kann also durch eine Varianz der Steigungswerte und/oder Längenwerte der Referenzvektoren angegeben werden. Drittens wird damit das Erstellen der relevanten Referenzvektoren erleichtert.
-
Erzeugung der Referenzvektoren:
-
Die Hauptinformation einer Bewegungssequenz steckt meist in den Änderungen der Sequenz (oder deren Ausbleiben), d.h. die Liste der erzeugten Referenzvektoren wird nach Länge und Steilheit sortiert. Vom Anfang / Ende der sortierten Liste werden die ersten „n“ Vektoren ausgewählt. Indem die Listen getrennt nach Sensoren erstellt werden, erlaubt dieses Verfahren die Beschränkung der zu analysierenden Sensorkanäle (x-,y-,z-Beschleunigungs-, x-,y,-z-Gyroskop-, x-,y-,z-Magnetometer-Sensor). Dabei werden Schwellwerte für geeignet Vektoren festgelegt und beispielhaft mit der Beschleunigungs-Sensor Liste begonnen. Nur wenn nicht genügend Vektoren in dieser Liste existieren, wird der nächste Sensor bzw. Sensorkanal analysiert. Auf ähnliche Weise geschieht die Unterscheidung nach Bewegungssequenz bzw. Änderung in der Orientierung. Sind nur wenige oder gar keine überschwellige Vektoren vorhanden, handelt es sich bei der Referenz um eine Orientieru ngsvorga be.
-
Die Anzahl der zu benutzenden Referenzvektoren „n“ beeinflusst den Grad der Ähnlichkeit der Referenzbewegung zur tatsächlich ausgeführten Bewegung, die vom Benutzer vorgegeben wird. Bei hohen Ähnlichkeiten sind mehr Referenzvektoren, bei niederer Ähnlichkeit weniger Referenzvektoren erforderlich.
-
Durch das oben beschriebene erfindungsgemäße Verfahren wird die Anforderung bezüglich Rechenzeit weiter reduziert und die Echtzeitfähigkeit damit erleichtert. Alternativ dazu können entsprechend höhere Datenraten verarbeitet werden.
-
Absolute und relative Ähnlichkeit setzen:
-
Üblicherweise wird die Ähnlichkeit zwischen Datensätzen durch Korrelation berechnet. Dieses Verfahren ist aber sehr sensitiv gegenüber zeitlichen Dehnungen oder Streckungen eines der beiden Datensätze. Diesem und anderen bekannten Verfahren ist gemeinsam, dass sie sehr rechenintensiv und deshalb für den erfindungsgemäßen Einsatz nicht geeignet sind.
-
Im erfindungsgemäßen Verfahren wird die Ähnlichkeit des Datensatzes durch die Ähnlichkeit der linearen Segmente ausgedrückt, nämlich der Ähnlichkeit der Steigung und / oder der Länge und / oder des Startwertes. Dies sind jeweils einzeln Werte, die Ähnlichkeit kann beispielshaft in Prozent Abweichung der genannten Faktoren ausgedrückt werden. Umgekehrt kann beim Erkennungsprozess ein fester Wert als Vorgabe durch einem Bereich mit Minimal und Maximalwerten ersetzt werden. Beispielweise wird dieser Bereich als +/- in Prozent angegeben werden. Bei dieser Art der Angabe gibt es zwei verschiedene Bezugswerte, absolute und relative. Beim absoluten Verfahren bezieht sich der Bereich auf den Referenzwert jedes einzelnen Referenzvektors, beim relativen Verfahren ist 100% durch einen speziell markierten Master Vektor definiert. Das letztere Verfahren hat den Vorteil, dass unabhängig vom absoluten Zeit- und Amplitudenverlauf Muster gefunden werden, bei denen die Änderungen des Verlaufes ähnlich sind. Bei beiden Verfahren gilt: Je größer der Bereich, desto kleiner die Ähnlichkeit.
-
Zur Mustersuche können verschiedene Verfahren eingesetzt werden. Beispielshaft erfolgt die Auswertung anhand eines Entscheidungsbaumes.
-
Einfache Mustersuche mittels einer Sequenzliste:
-
Ist für die Anwendung das Erkennen / Nicht-Erkennen einer Bewegungssequenz maßgeblich, wird das sequentielle Verfahren eingesetzt. Nachteil dabei ist, dass dieses Verfahren schlecht für Insertionen und Deletionen geeignet ist.
-
Die Vektoren definieren in ihrer zeitlichen Aufeinanderfolge die Suchsequenz für das gesuchte Muster, gesucht wird eine Abfolge von Vektoren mit jeweils einer bestimmten Steilheit und Länge die innerhalb einer definierten Zeit aufeinander folgen müssen. Dabei entspricht jeder Referenzvektor einer Suchbedingung, bei der mindestens die Vektorlänge und Steigung vorgegeben sind. Der Abstand zum nächsten Referenzvektor entspricht einer Zeitvorgabe. Dabei entspricht jeder Referenzvektor einer Suchbedingung, bei der mindestens die Vektorlänge und/oder die Steigung und / oder der Startwert vorgegeben sind. Der zeitliche Abstand zum nächsten Referenzvektor entspricht einer reinen Zeitvorgabe, während der der Amplitudenverlauf unerheblich ist. Das Suchmuster ergibt sich aus der Abfolge der Referenzvektoren und deren darauffolgenden Zeitfenster. Ist ein Schritt gefunden, wird ein Sequenzzähler einen Schritt weitergezählt, ist er am Ende angekommen, ist das Muster gefunden.
-
Im Folgenden wird das Verfahren beispielhaft beschrieben. Sind z.B. 4 Referenzvektoren definiert, besteht die Suchsequenz aus 7 Schritten, bestehend aus 4 Referenzvektoren mit 3 zeitlichen Zwischenräumen. Bei Beginn steht der Sequenzzähler am Anfang. Im kontinuierlichen Datenstrom wird bei jedem neuen Messwert nach jedem Referenzvektor gesucht. Erfüllt einer die Bedingung hinsichtlich minimaler / maximaler Länge / Steilheit wird an der Stelle des Sequenzzählers das zugehörige Valid Flag gesetzt, wenn nein wird es rückgesetzt. Für die zeitliche Lücke wird ausschließlich das Zeitfenster bewertet, der Amplitudenverlauf während des Abstandsfensters ist unerheblich. Ist die minimale Zeitbedingung erfüllt wird ein Valid Flag gesetzt. Bei Überschreiten der Höchstdauer wird es rückgesetzt. Der Sequenzzähler wird dann auf den Anfang zurückgesetzt, wenn die Maximalzeit des Zeitfensters oder des zum Sequenzzähler gehörenden Vektors abläuft. Nach dieser Prüfung wird der Sequenzzähler, ausgehend vom gegenwärtigen Stand, bis vor die nächste Lücke in den Valid Zuständen gesetzt.
-
Die Suchsequenz wird, je nach Grad der Ähnlichkeit mit einer Fensterfunktion beaufschlagt, durch die die exakten Vorgaben z.B. für Zeitbedingungen und Steilheit des Vektors durch einen zulässigen Bereich von Minimum - und Maximum-Werten ersetzt wird. Umgekehrt kann durch die Bewertung der Abweichung vom exakten Referenzwert die Ähnlichkeit der Bewegungssequenz insgesamt bewertet werden. Dies kann in Form eines Qualitätsfaktor (= Ähnlichkeit) einer Bewegungssequenz ausgedrückt werden.
-
Ähnlichkeitsbestimmung von Sequenzen durch das Aminosäure-Transformations Verfahren
-
Ist bei der Anwendung die Ähnlichkeit zwischen der Bewgungssequenz und der Referenzsequenz maßgeblich, kommt das erfindungsgemäße Aminosäure-Transformation Verfahren (ATV) zum Einsatz. Dabei werden die Bewegungssequenzen dergestalt transformiert, dass sie nach der Transformation durch Verfahren auswertbar sind, die innerhalb der Bioinformatik zum Vergleich von Aminosäure- und Proteinsequenzen entwickelt wurden. Das Besondere an diesen Verfahren ist, dass sie mit Insertionen und Deletionen innerhalb der Sequenzen umgehen können. Da die Verfahren für große Datenmengen hin entwickelt wurden, sind die zugrundeliegenden Algorithmen auf Rechenzeit hin optimiert, wodurch sie für die erfindungsgemäße Anwendung geeignet sind. Die Algorithmen zum Alignment von Nukleotid oder Aminosäuren Sequenzen sind beispielhaft unter dem der frei zugänglichen Software Blast zugänglich.
-
Das erfindungsgemäße Verfahren (ATV) zur Bestimmung der Ähnlichkeiten zwischen Sequenzen beruht auf dem Needleman-Wunsch Algorithmus oder einer deren Ableitung wie z.B. Smith-Waterman. Der Algorithmus besteht aus 3 Schritten, Initialisierung, Auffüllen und Trace -back. Grundlage ist eine 2 dimensionale Matrize, die im Initialisierungsschritt als Spalten bzw. Zeilenbeschriftungen die Symbole der zu vergleichenden bzw. der aktuellen Sequenzen erhält. Jedes Feld der Matrize erhält bei der Auffüllung einen Wert der dem Maximum aus verschiedene Score Werten entspricht. Es gibt Score Werte für den Grad der Übereinstimmung der Symbole und Score Werte für mögliche Lücken in der Sequenz. Im Trace-back Schritt wird ausgehend von der Zelle mit dem höchsten Score Wert die Sequenz rückwärts (diagonal oder nach links) ermittelt.
-
Beim ATV wird die Bewegungssequenz zunächst in Symbole umgewandelt. Dazu werden die Steigungen in verschiedene Klassen eingeteilt und jeder Klasse ein Symbol zugewiesen. In einer beispielhaften Bewegung im 3d Raum werden die 3 Sensorkanäle der Raumrichtungen x,y,z zu einem Triplet mit verschiedener Länge zusammengefasst. Jedes Mal, wenn sich bei einem der Kanäle die Kodierung ändert, wird ein neues Triplet mit der Länge n erzeugt.
-
Die eine Dimension der Tabelle wird durch die Länge der Referenzsequenz vorgegeben. Die andere Dimension hängt davon ab, wie viele Lücken tolerierbar sind und ist im Normalfall größer als die der Referenzsequenz.
-
Die Score Werte für das Matching ergeben sich aus dem Abstand der Steigungsklassen, der Wert ist am höchsten bei gleicher Klasse und nimmt mit steigendem Abstand der Klassen ab.
-
Die Score Werte für die Lücken (Gap) hängen von der Steilheit ab. Die Zuordnung berücksichtigt dabei, dass die Kosten für Gap bei große Steilheiten = große Veränderung pro Zeiteinheit größer ist als bei kleinen Steilheiten.
-
Die Ähnlichkeit ergibt sich durch die Summe der Score Werte der durch das Trace-back Verfahren ermittelten Sequenz, wobei jeder Score Wert noch mit der Länge n der Sequenz bewertet wird.
-
Wird die Rechenzeit für die Berechnung der Ähnlichkeit aufgrund der Länge der Referenz bzw. der aktuellen Sequenz zu groß, kann auf modifizierte Verfahren zurückgegriffen werden, die z.B. in BLAST beschrieben und zur Verfügung gestellt werden. Durch die Transformation der Bewegungsdaten in eine Aminosäure ähnliche Sequenz sind im Prinzip alle Methoden des Sequenzvergleichs aus der Bioinformatik verfügbar.
-
Mustersuche anhand von Histogrammen
-
In einer anderen Beispielhaften Verwirklichung werden die Vektoren aus dem ePLA Verfahren zu mindestens 2 dimensionalen Histogrammen zusammengefügt. Eines ist z.B. die Verteilung der Längen (x-Achse: verschiedene Gruppen von Vektorlängen, y-Achse: Anzahl der Vektoren in dieser Gruppe) oder der Steigungen (x-Achse: verschiedenen Steigungsgruppen, y-Achse: Anzahl der Vektoren in dieser Gruppe). Diese Histogramme werden normiert und der Mittelwert wird abgezogen. Die Ähnlichkeit dieser Histogramme mit den entsprechenden aus der Referenzmessung kann beispielweise durch die Berechnung der Korrelation erfolgen. Dabei werden die normierten Histogramm Kurven von Messung und Referenz punktweise miteinander multipliziert, aufsummiert und wieder normiert wobei gilt: Je höher der Wert desto größer die Ähnlichkeit. Die Histogramme der verschiedenen Kanäle können einfach hintereinander gesetzt und als eine Kurve betrachtet werden. Die Korrelation wird dabei nur einmal berechnet. Alternativ kann pro Kanal ein Korrelationswert und mit unterschiedlichen Gewichtungsfaktoren versehen werden, bevor ein Gesamtfaktor aus der gewichteten Summe berechnet wird. Als zusätzlicher Kennwert bietet sich die Anzahl der Nulldurchgänge der Sensordaten an.
-
In einem weiteren Verfahren wird zunächst ein mehrdimensionaler Merkmalsvektor erstellt. In einer Verwirklichung wird dieser ganz oder teilweise durch die aus dem das oben beschriebene ePLA Verfahren stammenden Vektoren gebildet. Alternative oder zusätzliche Bestandteil dieses Vektors sind entweder die die Rohdaten selbst, und/oder deren Ableitungen oder daraus abgeleitete Parameter. Geeignet sind auch die Frequenz- und Phasen Parameter aus einer FFT oder Wavelet Analyse.
-
Die Ähnlichkeit wird durch den Abstand der Merkmalsvektoren von Referenz und aktueller Bewegung erfasst. Die Klassifizierung als ähnlich oder nicht erfolgt durch die Verwendung von Baysian Klassifikatoren, Hidden Markov Modelle (HMM), Support Vector Machine (SVN) oder einem neuronalen Netzwerk.
-
Aus dem oben genannten ergibt sich für den Betrieb folgender Ablauf:
- 1. Das Gerät wird mit dem zu bewegenden Objekt wirkverbunden.
- 2. Das Signal zur Erzeugung des Referenz - Datensatzes wird gesetzt. Dies kann entweder über eine App gesendet werden oder über ein am Gerät befindliche Eingabeeinheit, wie z.B. einen Taster, oder durch ein Bewegungssignal, wie z.B. ein Doppelklicken mit dem Finger auf dem Gehäuse.
- 3. Die relative und /oder absolute Ähnlichkeit wird eingestellt.
- 4. Testläufe mit den vorhanden Einstellungen, eventuell Änderungen oder Neuaufnahme der Sequenz.
- 5. Betriebsbereit.