Overview
The HumCare Mobile Application is a multi-device Human Activity Recognition (HAR) system designed on the principle that no single wearable device can fully capture human movement. A smartphone carried on the torso may miss hand movements, a smartwatch primarily captures wrist activity, and smart glasses focus on head motion. HumCare integrates all three devices, simultaneously collecting 9-axis IMU sensor data from a smartphone, smartwatch, and smart glasses to recognize Activities of Daily Living (ADLs) in real time. The application is also flexible enough to operate with any combination of these devices.
Developed using Flutter, the application incorporates native Android/Kotlin modules for low-level Bluetooth Low Energy (BLE) communication through MethodChannels and EventChannels. On the backend, a Python Flask server combined with Mosquitto MQTT receives and fuses sensor streams before performing activity recognition using seven CNN-BiLSTM model configurations trained with TensorFlow 2.20 and Keras. All devices communicate over the same local Wi-Fi network, enabling a fully self-contained system without any cloud dependency. The best-performing model achieves an average recognition accuracy of 90%, validated using both 5-fold cross-validation and Leave-One-Subject-Out (LOSO) evaluation on the HumCare dataset.
Application Features and Interfaces
Displays real-time accelerometer, gyroscope, and magnetometer readings for all connected devices. Live sampling rates are also shown, allowing users to verify that sensors are streaming correctly before starting a recording session.
Supports the collection of activity data for Activities of Daily Living (ADLs). Users can select sensor sources and activity labels, then record data manually. Sessions are stored in JSON format and can be exported to CSV, renamed, shared, or deleted through the built-in file management interface.
3. Real-Time Activity Monitoring
Once the backend server is running and devices are connected, the monitoring interface displays live activity predictions along with confidence scores generated by the Flask inference server. The interface automatically adapts to the selected model configuration. Single-device models display individual circular prediction panel, while multi-device models provide a unified fused prediction, accompanied by a pulsing activity indicator and a session timer.
The application provides access to all seven supported model configurations. A recommended model is automatically highlighted based on the currently connected devices.
Single-device, dual-device, and three-device variants are available, covering all possible combinations of smartphone, smartwatch, and smart glasses inputs.
Displays continuous activity predictions and confidence percentages as they are received from the backend inference server, enabling real-time monitoring of user activities.
Video Demonstration
Download
Citation
@article{PLACEHOLDER_YEAR,
author = {PLACEHOLDER_AUTHORS},
title = {PLACEHOLDER_TITLE},
journal = {PLACEHOLDER_JOURNAL},
year = {PLACEHOLDER_YEAR},
volume = {XX},
pages = {XX--XX},
doi = {PLACEHOLDER_DOI}
}