Projekt 05

FocusPulse

Eine Android-Anwendung, die Aufmerksamkeit und Konzentration während der Arbeit über Kameradaten analysiert. Die gesamte Verarbeitung findet auf dem Gerät statt; das Bild verlässt es nie.

Kategorie
Mobile
Rolle
Einzelentwickler — Android und Edge-KI
Jahr
2026

verwendete technologien

  • Kotlin
  • Android
  • ML Kit
  • TensorFlow Lite
  • Python
  • OpenCV

problem

Problem

Konzentrationsverlust und Ermüdung bei Remote-Arbeit und langen Arbeitsphasen lassen sich nicht objektiv nachverfolgen. Die meisten bestehenden Lösungen senden den Kamerastream in die Cloud — sie verlangen also, dass man für die Beobachtung die eigene Privatsphäre aufgibt.

lösung

Lösung

Ich habe eine Android-Anwendung entwickelt, die Blinzelfrequenz, Kopfhaltung und Blickrichtung vollständig auf dem Gerät analysiert. Die Modellseite habe ich in Python und OpenCV prototypisiert und anschließend nach TFLite konvertiert; die App führt diese leichtgewichtigen Modelle lokal aus. Die Signale werden zu einem Live-Ablenkungsindex verrechnet, aus dem dynamische Pausenvorschläge entstehen.

ergebnis

Ergebnis

Entstanden ist eine funktionierende Android-Anwendung, die das Bild des Nutzers nie das Gerät verlassen lässt, einen Live-Fokusindex berechnet und Pausenrückmeldungen erzeugt.

wichtigste funktionen

  • 01Erkennung von Ablenkung über Blinzelfrequenz, Kopfhaltung und Blickrichtung.
  • 02On-Device-Bildverarbeitungsarchitektur, die einen Live-Ablenkungsindex berechnet.
  • 03Latenzarme Inferenz mit nach TFLite konvertierten Modellen.
  • 04Dynamische Pausenvorschläge und Hinweisrückmeldungen.
  • 05Daten werden vollständig lokal verarbeitet und erreichen keinen Server.

warum diese entscheidungen

Warum On-Device-Inferenz statt Cloud?

Cloudbasierte Vision-APIs bieten stärkere Modelle, widersprechen aber dem Zweck des Systems: In einer Anwendung, die jemanden während der Arbeit dauerhaft beobachtet, ist das Senden des Bildes in die Cloud inakzeptabel. Leichtgewichtige Inferenz auf dem Gerät beseitigte dieses Problem vollständig und machte das Netz überflüssig.

Warum wurde das Modell in Python gebaut, die App aber in Kotlin?

Für Modellexperimente und Validierung ist das Python-Ökosystem unvergleichlich schneller. Das Endprodukt sollte jedoch eine Android-Anwendung sein; die Konvertierung nach TFLite und die Ausführung über Kotlin brachten native Performance, ohne die Entwicklung zu verlangsamen.

Warum Verhaltenssignale statt direkter Klassifikation?

Statt einer einzelnen Einstufung als „konzentriert / abgelenkt" habe ich einzelne Signale gemessen — Blinzeln, Kopfhaltung, Blickrichtung — und daraus einen Index abgeleitet. So blieb das Ergebnis erklärbar: Der Nutzer sieht, warum er einen Hinweis erhalten hat.

Denken Sie an ein ähnliches Projekt?