chaof96 / SFTSeg

Self-Supervised Few-Shot Time-series Segmentation for Activity Recognition, TMC 2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SFTSeg

These are the code and data for the paper: Self-Supervised Few-Shot Time-series Segmentation for Activity Recognition, IEEE Transactions on Mobile Computing, 2022. https://ieeexplore.ieee.org/document/9858001

Citation

@article{xiao2022self,
    title={Self-Supervised Few-Shot Time-series Segmentation for Activity Recognition},
    author={Xiao, Chunjing and Chen, Shiming and Zhou, Fan and Wu, Jie},
    journal={IEEE Transactions on Mobile Computing},
    year={2022},
    publisher={IEEE}
}

Datasets

Original data:

(1) USC-HAD: http://sipi.usc.edu/had/

(2) Handgesture:https://github.com/andreas-bulling/ActRecTut

(3) RFID:https://xploreqa.ieee.org/document/7384286

(4) WiFiAction: https://github.com/ChunjingXiao/DeepSeg

Preprocessd data and discretized data are in https://github.com/simonchen333/SFTSeg/releases

Requements

Python3.7

Tensorflow 2.3

Matlab 2018a

Folder descriptions:

Hand-base: It means when we regard HandGesture dataset as the source data.And 'WiFi-base' mean the same.

Hand-base/RFID: It means when we regard RFID dataset as the target data.And 'USC-HAD','WiFi' mean the same.

04Seg_TrainSiamese_StateInference/01TrainSiameseNetwork: This is for training the state inference model.

04Seg_TrainSiamese_StateInference/02LoadModel_StateInference: This is for inferring the state labels of discretized sensor data bins.

05Segment_CnnSegAlgorithm1: This is used to segment activities according to the state labels of CSI data bins generated by 04Segment_TrainSiamese_StateInference.

06Calulate_RMSE: This is used to calculate the F_score and RMSE of our model.

Motivation for SFTSeg:

Extracting valuable activity segments from continuously received sensor data is a key step for many downstream applications such as activity recognition, trajectory prediction, and gesture recognition.

Numerous unsupervised and supervised approaches have been proposed for activity segmentation. However, current unsupervised methods generally suffer from subject and environment-dependent problems, and supervised methods require a great many labeled data which is time-consuming and expensive to be collected.

SFTSeg Overview:

SFTSeg introduces few-shot learning to conduct activity segmentation only relying on several labeled target samples.

To be applicable to time-series data, SFTSeg use a line-level data augmentation method to build a consistency regularization for the few-shot learning framework, which can augment limited labeled target samples to enhance generalization capacity of the model. Also, SFTSeg use a time series-specific pretext task to construct a self-supervised loss with adaptive weighting, which can adopt unlabeled target data to enable the model to learn characteristics of the target data and further improve segmentation performance.

About

Self-Supervised Few-Shot Time-series Segmentation for Activity Recognition, TMC 2022


Languages

Language:Python 83.9%Language:MATLAB 15.7%Language:Batchfile 0.4%