Aus Raspberry Pi Geek 01/2014

Aktivitätsüberwachung für allein lebende Senioren (Seite 2)

Bei der Auswertung unterscheidet Seheiah zudem zwischen Wochentagen sowie Wochenenden. Eine Aufzeichnungszeit von 10 Tagen würde daher zehn Wochentage und fünf Wochenenden umfassen, also insgesamt 20 Tage. Mittels der Anzahl der aufgezeichneten Tage kann Seheiah neues Verhalten schnell lernen, etwa wenn der Senior in der dunklen Jahreszeit eine halbe Stunde länger schläft.

Basierend auf den gespeicherten Werten prüft das System regelmäßig die Wahrscheinlichkeit eines Wasserverbrauchs innerhalb des erwähnten, frei wählbaren Intervalls. Die Höhe der Wahrscheinlichkeit lässt sich ebenfalls frei wählen, sodass selten auftretende Ereignisse nicht berücksichtigt werden.

Bei der Auswertung bildet Seheiah Intervalle mit einer Länge von l Sekunden. Tritt innerhalb eines Intervalls mindestens einmal eines der überwachten Ereignisse ein, gilt dieser Wert für das gesamte Intervall. Auf diesem Weg fasst Seheiah auch viele kurze, rasch aufeinanderfolgende Ereignisse zusammen. Mindestens drei aufeinanderfolgende Intervalle bilden einen “Verhaltensvektor” für die zurückliegenden n mal l Sekunden. Die Anzahl der Intervalle (“Intervallquantum” n) lässt sich prinzipiell frei wählen, sollte aber nicht zu groß ausfallen. Der Faktor n*l bildet auch die oben erwähnte Toleranz ab, indem er das Verhalten in der Vergangenheit mit dem aktuellen Verhalten abgleicht.

Neben dem in der Datenbank abgefragten Verhalten für das letzte Intervallquantum prüft Seheiah auch, ob gerade Wasser fließt. Die Daten schreibt es erst in die Datenbank, wenn der Wasserfluss beendet wurde, weshalb zu prüfen ist, ob und gegebenenfalls wie lange der Sensor bereits eine Aktivität feststellt.

Dazu ein Beispiel: Bei einem Intervall von 300 Sekunden und einem Verhaltensvektor von drei Intervallen prüft Seheiah bei einem möglichen abweichenden Verhalten zum Zeitpunkt t anhand der Aufzeichnungen, mit welcher Wahrscheinlichkeit das Verhalten auftreten kann. Bei der Datenabfrage sucht es jedoch im Zeitraum t ± (n*l) Sekunden – also eine Viertelstunde vor und nach dem aktuellen Zeitpunkt – nach Sensoraktivitäten.

Kritische Ereignisse ausmachen

Entnimmt der Senior innerhalb eines Beobachtungszeitraumes Wasser, lässt dieses aber nicht die ganze Zeit fließen, geht es ihm vermutlich gut. Kritisch sind solche Fälle, in denen kein Wasser fließt oder in denen lange Wasser fließt (etwa, weil der Beobachtete in der Dusche gestürzt ist). Um kritische Fälle zu erkennen, normiert Seheiah den Verhaltensvektor und nimmt anschließend eine Fallunterscheidung vor.

Dazu fragt es für jeden Wert im Verhaltensvektor in der Datenbank ab, wie es zu diesem Zeitpunkt in der Vergangenheit aussah. Dabei berücksichtigt es sowohl die Toleranz als auch den Unterschied zwischen Wochentagen und Wochenenden oder Feiertagen. Alle gefundenen Ereignisse im Zeitraum t ± (n*l) Sekunden summiert Seheiah und teilt den Wert durch die Anzahl beobachteter Tage. So bildet es die Laplace-Wahrscheinlichkeit P(e_t).

Beim “idealen” Rentner, der jeden Tag daheim ist und zur selben Zeit innerhalb des Toleranzzeitraumes Wasser verbraucht, beträgt die Laplace-Wahrscheinlichkeit 1, im wirklichen Leben fällt sie meist geringer aus. Darum nutzt Seheiah einen Schwellwert für ziemlich sicheres Verhalten, der auch berücksichtigt, dass der Senior mal verschläft oder der geregelte Tagesablauf vereinzelt abweicht. Bei einer Wahrscheinlichkeit unterhalb dieses Schwellwerts berücksichtigt Seheiah die Ereignisse nicht. Das unterbindet, dass selten auftretende Ereignisse (Besuch geht auf Toilette, schwitzende Bauarbeiter bitten um ein Glas Wasser etc.) gewertet werden.

Die Wahrscheinlichkeitswerte erfasst Seheiah in einem “historischen Verhaltensvektor”, den es anschließend mittels Kosinus-Ähnlichkeit mit dem normalen Verhaltensvektor vergleicht. Auch hier kommt zur Erkennung unüblichen Verhaltens ein Schwellwert zum Einsatz, der mit der Anzahl der betrachteten Intervalle n korreliert. Für den Standardwert n=3 wäre beispielsweise 0,7 ein guter Ausgangsschwellwert. Tritt mehrmals 3n Intervalle hintereinander eine Laplace-Wahrscheinlichkeit unterhalb des Schwellwerts auf, stößt Seheiah die Alarmkaskade an (Abbildung 2).

Abbildung 2: Das Flussdiagramm der Sturzerkennung von Seheiah.

Abbildung 2: Das Flussdiagramm der Sturzerkennung von Seheiah.

Es ist möglich, das System über Abwesenheit zu informieren. Verabschiedet sich der Senior beim Verlassen der Wohnung höflich mit “Seheiah bye bye”, wertet das System kritische Ereignisse nicht aus. Jede spätere Wasserentnahme aktiviert es automatisch wieder.

Alarmkaskade

Die Alarmkaskade informiert Angehörige oder Pflegepersonal über einen vermutlichen Sturz. Sie kommuniziert mit der Aktivitätsüberwachung und Spracherkennung über einen Unix-Socket. Alle dort empfangenen Nachrichten (ALARM, UNEXPECTED BEHAVIOR, FINE, WATERFLOW) werden interpretiert. Stellt die Aktivitätserkennung ein abweichendes Verhalten fest, sendet sie die Nachricht UNEXPECTED BEHAVIOR an die Alarmkaskade. Diese spielt eine Audio-Datei ab, die den Senior auffordert, sein Wohlergehen zu bestätigen (Nachricht FINE). Dafür hat er zwei Minuten Zeit.

Fehlalarme können relativ häufig auftreten, je nachdem, welche Werte für Intervalle, Verhaltensvektoren oder Schwellwerte gesetzt wurden. Auch Verhaltensänderungen lösen solche aus, etwa wenn der Sturzgefährdete morgens eine halbe Stunde länger schläft. Geht es dem Senior gut, kann er den Alarm durch ein einfaches Sprachkommando (“Seheiah Alarm aus”) abbrechen. Ein Fehlalarm ist für den Senior nicht mehr als eine lästige Störung, die deutlich weniger kostet als ein (von Angehörigen oder Pflegedienst unbemerkter) Sturz.

Bestätigt der Rentner innerhalb einer vorgegebenen Zeitspanne sein Wohlergehen nicht oder empfängt die Alarmkaskade die Nachricht ALARM, löst dies einen Alarm aus. Dazu macht die Webcam ein Foto, das anschließend zusammen mit der Aufforderung, sich um den Rentner zu kümmern, per E-Mail an eine Empfängerliste versendet wird (Abbildung 3).

Abbildung 3: Das Flussdiagramm der Alarmkaskade von Seheiah.

Abbildung 3: Das Flussdiagramm der Alarmkaskade von Seheiah.

Installation und Inbetriebnahme

Seheiah [3] selbst ist relativ leicht zu installieren. Dazu laden Sie lediglich die Python-Skripte herunter und installieren die in der Anweisung genannten Pakete mittels apt-get.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben