FlexTail Sensor Evaluation Series

Quantifizierung lumbaler und axialer Exposition aus kontinuierlichen Wirbelsäulendaten

Eine reproduzierbare Erläuterung des Modells für lumbale und torsionale Exposition aus der FlexTail-HAR-Studie, einschließlich Merkmalsbildung, globaler Normalisierung und Interpretationsgrenzen.

Veröffentlicht

Forschungsfrage und Datenumfang

Die erste Analyse stellt bewusst eine eng gefasste Frage: Wie lassen sich Aktivitäten anhand kontinuierlicher lumbaler und axialer Rotationssignale vergleichen, ohne eine Aufzeichnung auf die Überschreitung eines beliebigen Schwellenwerts zu reduzieren? Der Datensatz stammt aus einer kontrollierten Studie zur Human Activity Recognition (HAR). Zehn Teilnehmende führten sieben vertraute Haushaltstätigkeiten jeweils etwa eine Minute lang aus: Schneiden, Essen, Geschirrspüler beladen, Gehen, Geschirrspüler ausräumen, Staubsaugen und Wischen. FlexTail erfasst während jeder Aufgabe die kontinuierliche Wirbelsäulenkinematik.

Eine Stichprobe ist ein Sensorframe. Eine Teilnehmenden-Aktivitäts-Aufzeichnung umfasst alle Frames einer Person bei einer Aufgabe. Für Risikostreuung und Aktivitätszusammenfassung ist letztere die Beobachtungseinheit. Damit dominiert eine längere Aufzeichnung den Vergleich auf Teilnehmendenebene nicht.

Das Modell beschreibt Exposition, es ist kein klinisches Vorhersagemodell. Ein hoher Wert bedeutet, dass die gemessenen Haltungsmerkmale relativ zur verwendeten Referenzverteilung hoch sind. Er belegt weder Verletzungswahrscheinlichkeit noch Krankheit und ersetzt keine Gefährdungsbeurteilung. Bei der kleinen kontrollierten Stichprobe dient das Modell dem transparenten Vergleich und der Hypothesengenerierung, nicht der Schätzung von Prävalenzen.

Die zugrunde liegende HAR-Studie ist beschrieben in Walkling, Masch, Sander und Deserno, Sensors 25(12), 3806 (2025), doi:10.3390/s25123806. Die folgenden Beispiele bilden die Analyselogik unabhängig nachvollziehbar ab.

Vom Frame zu interpretierbaren Merkmalen

Für eine Aufzeichnung mit $N$ Frames sei $b_i$ der Lumbalwinkel in Grad in Frame $i$ und $r_i$ die axiale Torsion. Die von flexlib gelieferten Kanäle lumbarAngle und twist werden vor der Merkmalsextraktion von Radiant in Grad umgerechnet. Je anatomischer Ebene werden vier Merkmale berechnet.

Der Mittelwert beschreibt die zentrale Tendenz:

$$ \mu_b = \frac{1}{N}\sum_{i=1}^{N} b_i, \qquad \mu_r = \frac{1}{N}\sum_{i=1}^{N} |r_i|. $$

Das 90. Perzentil zeigt den oberen Bereich, ohne dass ein einzelner extremer Frame die gesamte Aufzeichnung bestimmt:

$$ P90_b = Q_{0.90}(b_1, \ldots, b_N), \qquad P90_r = Q_{0.90}(|r_1|, \ldots, |r_N|). $$

Zeit-über-Schwelle-Merkmale geben den Anteil einer Aufgabe in einer vordefinierten Haltungszone an:

$$ T20_b = 100\frac{1}{N}\sum_{i=1}^{N}\mathbb{1}(b_i > 20^\circ), \qquad T10_r = 100\frac{1}{N}\sum_{i=1}^{N}\mathbb{1}(|r_i| > 10^\circ). $$

Als Dynamikproxy wird der quadratische Mittelwert des Rucks verwendet. Bei angenommener Abtastzeit $\Delta t$ gilt näherungsweise:

$$ J_b = \sqrt{\frac{1}{N}\sum_{i=1}^{N}\left(\frac{b_{i+1}-2b_i+b_{i-1}}{\Delta t^2}\right)^2}, \qquad J_r = \sqrt{\frac{1}{N}\sum_{i=1}^{N}\left(\frac{r_{i+1}-2r_i+r_{i-1}}{\Delta t^2}\right)^2}. $$

Der Pipelineauszug verwendet dt = 1 / 15. Für anders abgetastete Aufzeichnungen müssen Zeitstempel oder die tatsächliche Rate eingesetzt werden, weil sich die Ruckgröße sonst mit der Abtastrate ändert.

dt = 1 / 15
b = np.degrees(df["lumbarAngle"].values)
tw = np.degrees(df["twist"].values)
lumbar_jerk = np.sqrt(np.mean(np.gradient(np.gradient(b, dt), dt) ** 2))
twist_jerk = np.sqrt(np.mean(np.gradient(np.gradient(tw, dt), dt) ** 2))
row = {"lumbar_mean": b.mean(), "lumbar_p90": np.percentile(b, 90),
       "lumbar_t20": 100 * np.mean(b > 20), "lumbar_jerk": lumbar_jerk,
       "twist_mean": np.abs(tw).mean(), "twist_p90": np.percentile(np.abs(tw), 90),
       "twist_t10": 100 * np.mean(np.abs(tw) > 10), "twist_jerk": twist_jerk}

Mittelwert und Randstatistik verhindern Mehrdeutigkeit: Ein moderater Mittelwert bei hohem $P90_b$ kann wiederholte tiefe Beugungen bedeuten; ein hoher Mittelwert bei geringem Ruck kann eine lang anhaltende statische Vorbeuge kennzeichnen. Das sind mechanisch unterschiedliche Muster.

Globale Normalisierung und zusammengesetzter Score

Die Analyse verwendet einen einzigen Referenz-Scaler über alle Risikoaktivitäten und keinen neuen Maßstab je Aktivität. Für Merkmal $x_j$ ist der standardisierte Wert

$$z_j = \frac{x_j - \mu^{(g)}_j}{\sigma^{(g)}_j}.$$

Die vier lumbalen z-Werte werden zu $\bar z_L$, die vier Torsionswerte zu $\bar z_T$ gemittelt. Beide werden aus dem festen Intervall $[-2,2]$ auf $[0,1]$ abgebildet und außerhalb begrenzt:

$$ R_L=\operatorname{clip}\left(\frac{\bar z_L+2}{4},0,1\right),\qquad R_T=\operatorname{clip}\left(\frac{\bar z_T+2}{4},0,1\right),\qquad R=\frac{R_L+R_T}{2}. $$

z = (df_r[METRIC_COLS_LT] - g_mean) / g_std
def sub_score(columns):
    return ((z[columns].mean(axis=1) + 2.0) / 4.0).clip(0.0, 1.0)
lumbar_risk, twist_risk = sub_score(LUMBAR_COLS), sub_score(TWIST_COLS)
composite_risk = (lumbar_risk + twist_risk) / 2

Auf dieser Skala entspricht $R=0.50$ dem globalen Mittel, $R=0.75$ ungefähr einem mittleren Merkmalsprofil bei $+1$ SD und $R=1$ dem begrenzten oberen Ende bei etwa $+2$ SD. Dies sind analytische Stufengrenzen, keine physiologischen Sicherheitsgrenzen: 0,75 bedeutet nicht 75 Prozent Risiko, und ein Wert unter 0,50 bedeutet nicht keine Belastung.

Getrennte Betrachtung von Lumbal- und Torsionsanteil

Ein Mittelwert kann den Entstehungsweg verdecken. Die Profile $(R_L,R_T)=(0.80,0.20)$ und $(0.50,0.50)$ haben beide $R=0.50$, das erste wird jedoch von sagittaler Exposition dominiert, das zweite ist ausgeglichen. Der zweidimensionale Scatterplot bewahrt diese Information.

  • Niedrig lumbal, niedrig Torsion: beide Merkmalsgruppen unter dem Referenzmittel.
  • Hoch lumbal, niedrig Torsion: Flexion dominiert.
  • Niedrig lumbal, hoch Torsion: axiale Asymmetrie dominiert.
  • Hoch lumbal, hoch Torsion: beide Merkmalsfamilien sind erhöht.

Punktgröße und Farbe im Playbook codieren die zusammengesetzte Stufe, nicht Unsicherheitsintervalle. Wissenschaftliche Vergleiche sollten teilnehmendenbezogene Konfidenzintervalle oder hierarchische Modelle ergänzen.

Reproduzierbare Tabelle und Grenzen

Jede RSF-Aufzeichnung wird mit flexlib in einen DataFrame überführt, Merkmale werden pro Person und Aktivität berechnet, und die Referenzverteilung wird einmal über den festgelegten Datensatz angepasst. Beim Vergleich neuer Daten muss die Herkunft des festen Scalers dokumentiert werden: Teilnehmende, Aktivitäten, Merkmalsdefinitionen, Einheiten, Softwareversion und Umgang mit fehlenden Samples. Ein Refit beantwortet eine gültige Frage innerhalb der neuen Kohorte, ist aber nicht numerisch mit den ursprünglichen Grafiken vergleichbar.

Die kontrollierten, kurzen HAR-Aufzeichnungen schätzen keine Dosis-Wirkungs-Beziehung über Arbeitsschichten. Die gleichgewichtete Merkmalsaggregation ist eine Designentscheidung, kein empirisch angepasstes Verletzungsmodell; die Schwellen 20 Grad Lumbal und 10 Grad Torsion sind operationale Schnittpunkte. Sensorposition, Sitz des Kleidungsstücks, Tempo und individuelle Strategie tragen ebenfalls zur Variation bei. Berichten Sie daher Rohmerkmale neben $R_L$, $R_T$ und $R$.

Quellen und weiterführende Literatur

  • Walkling J, Masch A, Sander L, Deserno TM. Wearable Spine Tracker vs. Video-Based Pose Estimation for Human Activity Recognition. Sensors. 2025;25(12):3806. doi:10.3390/s25123806
  • Hoogendoorn WE, et al. Flexion and Rotation of the Trunk and Lifting at Work are Risk Factors for Low Back Pain. Spine. 2000;25(23):3087-3092. doi:10.1097/00007632-200012010-00018