本项目是基于Pose-based CNN的Action Recognition设计源码,主要使用MATLAB进行开发。项目共包含237个文件,其中MATLAB文件69个,M文件57个,C++源代码文件20个,CUDA源代码文件19个,HPP头文件19个,Markdown文档文件12个,Python源代码文件6个,Shell脚本文件5个,以及XCScheme文件3个。该项目利用Pose-based CNN Features来识别动作,适用于需要进行动作识别的应用程序。项目结构清晰,代码注释详尽,适合用于学习和研究Pose-based CNN在动作识别中的应用。
目录结构
├── .gitignore
├── ICCV15_results
├── SVMs
├── JHMDB_brush_hair_test1.mat
├── JHMDB_brush_hair_test2.mat
├── JHMDB_brush_hair_test3.mat
├── JHMDB_catch_test1.mat
├── JHMDB_catch_test2.mat
├── JHMDB_catch_test3.mat
├── JHMDB_clap_test1.mat
├── JHMDB_clap_test2.mat
├── JHMDB_clap_test3.mat
├── JHMDB_climb_stairs_test1.mat
├── JHMDB_climb_stairs_test2.mat
├── JHMDB_climb_stairs_test3.mat
├── JHMDB_golf_test1.mat
├── JHMDB_golf_test2.mat
├── JHMDB_golf_test3.mat
├── JHMDB_jump_test1.mat
├── JHMDB_jump_test2.mat
├── JHMDB_jump_test3.mat
├── JHMDB_kick_ball_test1.mat
├── JHMDB_kick_ball_test2.mat
├── JHMDB_kick_ball_test3.mat
├── JHMDB_pick_test1.mat
├── JHMDB_pick_test2.mat
├── JHMDB_pick_test3.mat
├── JHMDB_pour_test1.mat
├── JHMDB_pour_test2.mat
├── JHMDB_pour_test3.mat
├── JHMDB_pullup_test1.mat
├── JHMDB_pullup_test2.mat
├── JHMDB_pullup_test3.mat
├── JHMDB_push_test1.mat
├── JHMDB_push_test2.mat
├── JHMDB_push_test3.mat
├── JHMDB_run_test1.mat
├── JHMDB_run_test2.mat
├── JHMDB_run_test3.mat
├── JHMDB_shoot_ball_test1.mat
├── JHMDB_shoot_ball_test2.mat
├── JHMDB_shoot_ball_test3.mat
├── JHMDB_shoot_bow_test1.mat
├── JHMDB_shoot_bow_test2.mat
├── JHMDB_shoot_bow_test3.mat
├── JHMDB_shoot_gun_test1.mat
├── JHMDB_shoot_gun_test2.mat
├── JHMDB_shoot_gun_test3.mat
├── JHMDB_sit_test1.mat
├── JHMDB_sit_test2.mat
├── JHMDB_sit_test3.mat
├── JHMDB_stand_test1.mat
├── JHMDB_stand_test2.mat
├── JHMDB_stand_test3.mat
├── JHMDB_swing_baseball_test1.mat
├── JHMDB_swing_baseball_test2.mat
├── JHMDB_swing_baseball_test3.mat
├── JHMDB_throw_test1.mat
├── JHMDB_throw_test2.mat
├── JHMDB_throw_test3.mat
├── JHMDB_walk_test1.mat
├── JHMDB_walk_test2.mat
├── JHMDB_walk_test3.mat
├── JHMDB_wave_test1.mat
├── JHMDB_wave_test2.mat
├── JHMDB_wave_test3.mat
├── ktest_split1.mat
├── ktest_split2.mat
├── ktest_split3.mat
├── labels_split1.mat
├── labels_split2.mat
├── labels_split3.mat
├── LICENSE.md
├── brox_OF
├── mex_OF.m
├── mex_OF.mexa64
├── mex_OF.mexw32
├── mex_OF.mexw64
├── compute_OF.m
├── compute_pcnn_features.m
├── demo.m
├── extract_cnn_features.m
├── extract_cnn_patches.m
├── get_box_and_fill.m
├── init.sh
├── matconvnet-1.0-beta11
├── .gitignore
├── .gitmodules
├── COPYING
├── Makefile
├── Makefile.mex
├── Makefile.nvcc
├── doc
├── Makefile
├── matconvnet-manual.tex
├── matdoc.py
├── matdocparser.py
├── references.bib
├── site
├── docs
├── about.md
├── css
├── fixes.css
├── tables.css
├── developers.md
├── functions.md
├── gpu.md
├── index.md
├── install-alt.md
├── install.md
├── js
├── mathjaxhelper.js
├── pretrained.md
├── training.md
├── mkdocs.yml
├── examples
├── cnn_cifar.m
├── cnn_cifar_init.m
├── cnn_cifar_init_nin.m
├── cnn_imagenet.m
├── cnn_imagenet_evaluate.m
├── cnn_imagenet_get_batch.m
├── cnn_imagenet_init.m
├── cnn_imagenet_init_bnorm.m
├── cnn_imagenet_mgpu.m
├── cnn_imagenet_minimal.m
├── cnn_imagenet_setup_data.m
├── cnn_imagenet_sync_labels.m
├── cnn_mnist.m
├── cnn_mnist_experiments.m
├── cnn_mnist_init.m
├── cnn_train.m
├── matconv.xcodeproj
├── project.pbxproj
├── project.xcworkspace
├── contents.xcworkspacedata
├── xcshareddata
├── xcschemes
├── matconv CPU.xcscheme
├── matconv GPU.xcscheme
├── matconv cuDNN.xcscheme
├── matlab
├── src
├── bits
├── data.cpp
├── data.cu
├── data.hpp
├── datacu.cu
├── datacu.hpp
├── datamex.cpp
├── datamex.cu
├── datamex.hpp
├── impl
├── blashelper.hpp
├── copy.hpp
├── copy_cpu.cpp
├── copy_gpu.cu
├── fast_mutex.h
├── im2row.hpp
├── im2row_cpu.cpp
├── im2row_gpu.cu
├── imread_gdiplus.cpp
├── imread_helpers.hpp
├── imread_libjpeg.cpp
├── imread_quartz.cpp
├── nnconv_blas.hpp
├── nnconv_cudnn.cu
├── nnconv_cudnn.hpp
├── nnpooling_cudnn.cu
├── nnpooling_cudnn.hpp
├── normalize.hpp
├── normalize_cpu.cpp
├── normalize_gpu.cu
├── pooling.hpp
├── pooling_cpu.cpp
├── pooling_gpu.cu
├── subsample.hpp
├── subsample_cpu.cpp
├── subsample_gpu.cu
├── tinythread.cpp
├── tinythread.h
├── imread.hpp
├── mexutils.h
├── nnconv.cpp
├── nnconv.cu
├── nnconv.hpp
├── nnfullyconnected.cpp
├── nnfullyconnected.cu
├── nnfullyconnected.hpp
├── nnnormalize.cpp
├── nnnormalize.cu
├── nnnormalize.hpp
├── nnpooling.cpp
├── nnpooling.cu
├── nnpooling.hpp
├── nnsubsample.cpp
├── nnsubsample.cu
├── nnsubsample.hpp
├── config
├── mex_CUDA_glnxa64.sh
├── mex_CUDA_glnxa64.xml
├── mex_CUDA_maci64.sh
├── mex_CUDA_maci64.xml
├── vl_imreadjpeg.cpp
├── vl_imreadjpeg.cu
├── vl_nnconv.cpp
├── vl_nnconv.cu
├── vl_nnnormalize.cpp
├── vl_nnnormalize.cu
├── vl_nnpool.cpp
├── vl_nnpool.cu
├── vl_argparse.m
├── vl_compilenn.m
├── vl_imreadjpeg.m
├── vl_nnbnorm.m
├── vl_nnconv.m
├── vl_nndropout.m
├── vl_nnloss.m
├── vl_nnnoffset.m
├── vl_nnnormalize.m
├── vl_nnpdist.m
├── vl_nnpool.m
├── vl_nnrelu.m
├── vl_nnsigmoid.m
├── vl_nnsoftmax.m
├── vl_nnsoftmaxloss.m
├── vl_nnspnorm.m
├── vl_rootnn.m
├── vl_setupnn.m
├── vl_simplenn.m
├── vl_simplenn_diagnose.m
├── vl_simplenn_display.m
├── vl_simplenn_move.m
├── xtest
├── vl_bench_bnorm.m
├── vl_bench_imreadjpeg.m
├── vl_nnbnorm_old.m
├── vl_test_economic_relu.m
├── vl_test_gpureset.m
├── vl_test_imreadjpeg.m
├── vl_test_nnlayers.m
├── vl_testder.m
├── vl_testsim.m
├── my_build.m
├── utils
├── evaluate_ref_models.m
├── import-caffe.py
├── import-ref-models.sh
├── preprocess-imagenet.sh
├── proto
├── __init__.py
├── caffe.proto
├── caffe_old.proto
├── caffe_old_pb2.py
├── caffe_pb2.py
├── vgg_caffe.proto
├── vgg_caffe_pb2.py
├── vgg_synset_words.txt
├── readme.txt
├── reproduce_ICCV15_results.m