#A Tutorial on Human Activity Recognition Using Body-worn Inertial Sensors
MATLAB toolbox for the publication
**A Tutorial on Human Activity Recognition Using Body-worn Inertial Sensors**
Andreas Bulling, Ulf Blanke and Bernt Schiele
ACM Computing Surveys 46, 3, Article 33 (January 2014), 33 pages
DOI: [http://dx.doi.org/10.1145/2499621](http://dx.doi.org/10.1145/2499621)
```Latex
@article{bulling14_csur,
title = {A Tutorial on Human Activity Recognition Using Body-worn Inertial Sensors},
author = {Andreas Bulling and Ulf Blanke and Bernt Schiele},
url = {https://github.com/andyknownasabu/ActRecTut},
issn = {0360-0300},
doi = {10.1145/2499621},
year = {2014},
journal = {ACM Computing Surveys},
volume = {46},
number = {3},
pages = {33:1-33:33},
abstract = {The last 20 years have seen an ever increasing research activity in the field of human activity recognition. With activity recognition having considerably matured so did the number of challenges in designing, implementing and evaluating activity recognition systems. This tutorial aims to provide a comprehensive hands-on introduction for newcomers to the field of human activity recognition. It specifically focuses on activity recognition using on-body inertial sensors. We first discuss the key research challenges that human activity recognition shares with general pattern recognition and identify those challenges that are specific to human activity recognition. We then describe the concept of an activity recognition chain (ARC) as a general-purpose framework for designing and evaluating activity recognition systems. We detail each component of the framework, provide references to related research and introduce the best practise methods developed by the activity recognition research community. We conclude with the educational example problem of recognising different hand gestures from inertial sensors attached to the upper and lower arm. We illustrate how each component of this framework can be implemented for this specific activity recognition problem and demonstrate how different implementations compare and how they impact overall recognition performance.},
keywords = {}
}
```
**If you find the toolbox useful for your research please cite the above paper, thanks!**
# HOWTO
Version 1.4, 19 August 2014
## General Notes
- The data should be arranged in a MATLAB matrix with rows denoting the frames (samples) and columns
denoting the different sensors or axes -> matrix NxM (N: frames, M: sensors/axes)
IMPORTANT: make sure the matrix does not contain any timestamp columns as often added by data recording
toolboxes, such as the [Context Recognition Network Toolbox](http://crnt.sourceforge.net/CRN_Toolbox/Home.html)
- The ground truth labels should be integers, arranged in a MATLAB vector with rows denoting the frames
-> vector Nx1 (N: frames)
- The data matrix should be loaded into the variable `data`, the ground truth label vector into
the variable `labels`
- The NULL class needs to have label 1, the remaining classes labels 2:n
- If you want to modify the default parameters of the different classifiers
have a look at `setClassifier.m`
- This toolbox requires the following MATLAB toolboxes:
- [Statistics](http://www.mathworks.de/products/statistics/)
- To compile the different third-party libraries have a look at the documentation
## How to reproduce the results from the paper
Execute `run_experiments_paper.m` in MATLAB
## Specific notes on how to create and run your own experiment
1. Have a look at `settings.m`
This file contains all settings available in the toolbox and their defaults. All settings are
stored in a MATLAB struct `SETTINGS`. Set the different fields in this struct
according to the requirements of your planned experiment.
2. Have a look at `Experiments/expTutorial.m` and run the script
This file contains a (simple) example structure of an experiment. Note how `settings.m` is
executed first, followed by modifications to the `SETTINGS` fields.
optional: Install all third-party libraries you plan to use (see list below).
Archives of all supported libraries are provided in the subdirectory "Libraries".
The libraries should be installed in the same directory. If you prefer to install the libraries
in a different path, adapt the library paths in `settings.m` accordingly (line 33 and following)
3. To create your own experiment
1. Copy `Experiments/expTutorial.m` to `Experiments/expOwn.m`
2. Write code in `expOwn.m to` modify `SETTINGS` according to your experiment's requirements, in particular:
```Matlab
SETTINGS.CLASSIFIER (default: 'knnVoting')
SETTINGS.FEATURE_SELECTION (default: 'none')
SETTINGS.FEATURE_TYPE (default: 'VerySimple')
SETTINGS.EVALUATION (default: 'pd')
SETTINGS.SAMPLINGRATE (in Hz, default: 32)
SETTINGS.SUBJECT (default: 1)
SETTINGS.SUBJECT_TOTAL (default: 2)
SETTINGS.DATASET (default: 'gesture')
SETTINGS.CLASSLABELS (default: {'NULL', 'Open window', 'Drink', 'Water plant',
'Close window', 'Cut', 'Chop', 'Stir', 'Book', 'Forehand', 'Backhand', 'Smash'})
SETTINGS.SENSOR_PLACEMENT (default: {'Right hand', 'Right lower arm', 'Right upper arm'})
SETTINGS.FOLDS (default: 26)
SETTINGS.SENSORS_AVAILABLE = {'acc_1_x', 'acc_1_y', 'acc_1_z', ...
'gyr_1_x', 'gyr_1_y', ...
'acc_2_x', 'acc_2_y', 'acc_2_z', ...
'gyr_2_x', 'gyr_2_y', ...
'acc_3_x', 'acc_3_y', 'acc_3_z', ...
'gyr_3_x', 'gyr_3_y'};
SETTINGS.SENSORS_USED (default: {'acc_1', 'acc_2', 'acc_3', 'gyr_1', 'gyr_2', 'gyr_3'})
```
3. Change the `EXPERIMENT_NAME` and `IDENTIFIER_NAME` variables in `expOwn.m`
For example, `EXPERIMENT_NAME` could be set to 'kNN' and `IDENTIFIER_NAME` to 'k_5' if your
experiment involves using a kNN classifier with k fixed to 5.
4. Put your data files in subdirectories of "Data" named according to the scheme: subjectX_Y
- X denotes the index of the subject (`1:SETTINGS.SUBJECT_TOTAL`)
- Y denotes the type of dataset (`SETTINGS.DATASET` plus additional ones)
For example, the toolbox datasets are stored in the following subdirectories:
subject1_walk, subject1_gesture, subject2_walk, subject2_gesture
The data files should be called "data.mat" and should contain both variables `data` and `labels`
5. Run `expOwn.m` and wait for the script to finish.
Extracted features will be saved in "Output/features" whereas the experiment output will be saved
in "Output/experiments/EXPERIMENT_NAME/IDENTIFIER_NAME"
## Optional third-party libraries
* libSVM
URL: [http://www.csie.ntu.edu.tw/~cjlin/libsvm/](http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
* liblinear
URL: [http://www.csie.ntu.edu.tw/~cjlin/liblinear/](http://www.csie.ntu.edu.tw/~cjlin/liblinear/)
* mRMR
URL: [http://penglab.janelia.org/proj/mRMR/](http://penglab.janelia.org/proj/mRMR/)
* SVMlight
URL: [http://svmlight.joachims.org/](http://svmlight.joachims.org/)
* jointboosting by Christian Wojek
URL: none
* HMM Toolbox for MATLAB by Kevin Murphy
URL: [http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html](http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html)
* Performance evaluation scripts by Jamie Ward
URL: [http://www.jamieward.net/research/performance/](http://www.jamieward.net/research/performance/)
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计&课设-MATLAB人类活动识别工具箱.zip
共172个文件
m:138个
dat:18个
mat:7个
需积分: 1 1 下载量 133 浏览量
2024-01-08
22:33:26
上传
评论
收藏 20.46MB ZIP 举报
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计&课设-MATLAB人类活动识别工具箱.zip (172个子文件)
S125.dat 3.88MB
S125.dat 3.86MB
S131.dat 3.86MB
S131.dat 3.85MB
S111.dat 3.84MB
S111.dat 3.73MB
S112.dat 1.76MB
S111.dat 1.76MB
S125.dat 1.74MB
S131.dat 1.73MB
S131.dat 1.71MB
S111.dat 1.71MB
S125.dat 1.68MB
S112.dat 1.68MB
labels.dat 881KB
labels.dat 864KB
labels.dat 397KB
labels.dat 383KB
svm_light.tar.gz 49KB
plot_mset_errors.m 16KB
feature_ranking_analysis.m 13KB
mset_metrics.m 13KB
mset.m 12KB
xticklabel_rotate.m 10KB
mset_segments.m 10KB
run_evaluation.m 9KB
prepareFoldData.m 6KB
settings.m 6KB
plotEvaluationResults.m 5KB
plotFeatureRanking.m 5KB
plotmatAll.m 5KB
plotConfusionMatrix.m 5KB
mset_add.m 4KB
run_preprocessV2.m 4KB
process_options.m 4KB
run_preprocess.m 4KB
evaluation.m 4KB
run_experiments.m 4KB
softmax.m 4KB
boiler_transfer.m 4KB
mrmr_mid_d_modified.m 4KB
run_results_paper.m 3KB
seq2seg.m 3KB
training.m 3KB
cHMMtrain.m 3KB
evaluateDetection.m 3KB
selectSensorData.m 3KB
setClassifier.m 3KB
labeling2segments.m 3KB
feature_selection.m 3KB
calculateFeaturesAll.m 3KB
expOtherData.m 3KB
prettyEvalLabels.m 3KB
calculateFeaturesFFT.m 3KB
illustrateLabelsEfficient.m 3KB
jointboosting.m 3KB
feature_extraction.m 3KB
pr_plot.m 3KB
expHMM.m 3KB
mergeData.m 3KB
evaluate.m 3KB
expSVM.m 2KB
mset_empty.m 2KB
expEvalSchemes.m 2KB
cHMM.m 2KB
expStudy_2_3placements.m 2KB
fuseSegments.m 2KB
expFusion.m 2KB
prettyPrintSettings.m 2KB
jointboostingtrain.m 2KB
expStudy_2_4modality_pi.m 2KB
expStudy_2_4modality_pd.m 2KB
expSensorTypes.m 2KB
expStudy_4_1_3_feature_selection_classes.m 2KB
expSensorPlacements.m 2KB
expWindowSizes.m 2KB
expStudy_2_2_1window.m 2KB
aggregateFeatureRanks.m 2KB
fusion.m 2KB
expTopFeatures.m 2KB
expStudy_2_2window.m 2KB
expStudy_4_2_4_feature_selection.m 2KB
expNaiveBayes.m 2KB
expClassifiers.m 2KB
expStudy_4_1_1feature_selection.m 2KB
print_cell.m 2KB
expStudy_4_1_2_feature_selection_sweepset.m 2KB
expStudy_2_1_1features.m 2KB
expJointBoosting_Rounds.m 2KB
segment.m 2KB
expFeatures.m 2KB
expStudy_2_1features.m 2KB
expKnn_k.m 2KB
expStudy_3_1classifier.m 2KB
illustrateLabels.m 2KB
run_results.m 2KB
expStudy_3classifier.m 2KB
calculateFeaturesPCA.m 2KB
saveExperiment.m 2KB
segments2labeling.m 2KB
共 172 条
- 1
- 2
资源评论
白话机器学习
- 粉丝: 8726
- 资源: 7682
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功