HumCare Mobile Application

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.

System Architecture Diagram

Application Features and Interfaces

Sensor Data Visualization

1. Sensor Data Visualization

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.

Data Collection

2. Data Collection

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.

Model Selection Screen

Model Selection

The application provides access to all seven supported model configurations. A recommended model is automatically highlighted based on the currently connected devices.

7 CNN-BiLSTM Models

Seven CNN-BiLSTM Models

Single-device, dual-device, and three-device variants are available, covering all possible combinations of smartphone, smartwatch, and smart glasses inputs.

Real-Time Activity Detection

Real-Time Activity Detection

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

Video demonstration

Download

URL: https://drive.google.com/drive/folders/15Dfh61k-N8RiZhpCjv7pMi9UdTLD3eYw?usp=sharing

Citation

Paper: Please cite the following paper if you use this app or dataset.
@article{PLACEHOLDER_YEAR,
  author    = {PLACEHOLDER_AUTHORS},
  title     = {PLACEHOLDER_TITLE},
  journal   = {PLACEHOLDER_JOURNAL},
  year      = {PLACEHOLDER_YEAR},
  volume    = {XX},
  pages     = {XX--XX},
  doi       = {PLACEHOLDER_DOI}
}