前言:
在上一篇博文ChaLearn Gesture Challenge_1:CGD数据库简单介绍中已经简单介绍过CGD2011数据库,了解到该数据库可以作为公开的数据库来测试在深度信息和RGB信息上的手势识别。当然了,也可以通过参加这个挑战赛来对比自己的手势识别算法。官网上不仅提供了数据库的下载以及一些比赛规则,还提供了丰富的sample,这些sample中包含了很多图片,视频的处理,比如说深度图像和RGB图像的去噪,梯度计算,采样;视频特征的提取,这些特征包括STIP,MHI,MEI,HOG,HOF,PCA等;一些手势识别的算法,比如DTW;头部检测,骨骼检测,背景消除等等。在官网http://gesture.chalearn.org/data/sample-code上可以下载到最新版的code,解压后有4个.m文件,这4个文件就是提供的sample,分别为browse.m(用来浏览和播放视频数据的,有GUI,类似一个简单的播放器),examples.m(该文件中包含了26个sample,sample的内容如上面所讲),main.m(该文件提供了一个principal motion的识别算法,有整个训练和识别的全部代码,效果还不错),prepare_final_resu(主要是用来参加挑战赛提交验证代码的格式统一用的)。本节主要是体验下examples.m文件下的丰富例子。
首先在上篇博文ChaLearn Gesture Challenge_1:CGD数据库简单介绍的基础上对该数据库再补充一点:数据库中每一个batch都是对应一个人的手势,且每一个batch都只有8~15种手势,虽然说有47个视频共100个手势,但是这是One-shot learning,所以训练数据的标签也是只有8~15个,其它的都是测试数据的标签(每一个batch中的每一种手势都只能用一个视频来训练)。
开发环境:matlab2012a(或比matlab2012a更高级的版本)
实验步骤:
1. 下载code解压后,打开matlab,将current folder定位到Sample_code目录,比如我的目录如下:C:\QtTest\CGD_test\Sample_code
2. 将Sample_code目录添加到matlab的path目录下
3. 直接在matlab命令行中输入examples,这时候会让你选择1~3中的一个(表示使用哪个视频进行演示),比如选择1后,就会出现下面26个例子供选择:
1 - Play movie 2 - First frame 3 - Blurred image 4 - Downsized image 5 - Gray level image 6 - True depth restoration 7 - Background removal 8 - Head detection 9 - Manual body part annotations 10 - Automatic body part annotations 11 - Body segmentation 12 - Manual alignment depth/RGB 13 - Approximated gradients 14 - Image differences 15 - Motion energy histograms 16 - Principal components 17 - Motion history 18 - Static posture history 19 - HOG and HOF 20 - Human temporal segmentation 21 - Dynamic Time Warping (DTW) recognition-based segmentation 22 - Hand-motion temporal segmentation (NO DTW) 23 - Extract skeleton w. ETH code 24 - Find body parts w. D. Ramanan s code 25 - STIP features 26 - Bag of STIP features
4. 按照提示随便选择1个例子的编号就可以看到其演示结果。
实验结果:
下面是运行了一小部分的sample的结果。
DownLoadSize:
Automatic body part annotations:
Motion average:
Motion history:
DTW1:
DTW2:
STIP1:
STIP2:
PCA1:
PCA2:
参考资料: