Subject Invariant Contrastive Learning for Human Activity Recognition

Yavuz Yarici, Kiran Kokilepersaud, Mohit Prabhushankar, Ghassan AlRegib
7/4/2025
cs.CVcs.LG

No official code found. Best implementation: olivesgatech/SICL (3 stars, last commit 2025-09-22).

Abstract

The high cost of annotating data makes self-supervised approaches, such as contrastive learning methods, appealing for Human Activity Recognition (HAR). Effective contrastive learning relies on selecting informative positive and negative samples. However, HAR sensor signals are subject to significant domain shifts caused by subject variability. These domain shifts hinder model generalization to unseen subjects by embedding subject-specific variations rather than activity-specific features. As a result, human activity recognition models trained with contrastive learning often struggle to generalize to new subjects. We introduce Subject-Invariant Contrastive Learning (SICL), a simple yet effective loss function to improve generalization in human activity recognition. SICL re-weights negative pairs drawn from the same subject to suppress subject-specific cues and emphasize activity-specific information. We evaluate our loss function on three public benchmarks: UTD-MHAD, MMAct, and DARai. We show that SICL improves performance by up to 11% over traditional contrastive learning methods. Additionally, we demonstrate the adaptability of our loss function across various settings, including multiple self-supervised methods, multimodal scenarios, and supervised learning frameworks.

View on arXivView PDF

Code Implementations(1)

olivesgatech/SICLCommunity75%

Code for Subject Invariant Contrastive Learning for Human Activity Recognition published at MLSP 2025

31Shell, PythonJul 4, 20251 years ago

Similar Papers

Cite this paper

@article{yarici2025subject,
  title  = {Subject Invariant Contrastive Learning for Human Activity Recognition},
  author = {Yavuz Yarici and Kiran Kokilepersaud and Mohit Prabhushankar and Ghassan AlRegib},
  year   = {2025},
  eprint = {2507.03250},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2507.03250v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2507.03250.svg)](https://codeofpaper.com/paper/2507.03250)

Discussion