卷积神经网络CNN-目标分类
1. 目标分类基本框架
数据准备
1.数据来源
现有数据集的子集、网络采集、现有数据人工标注。
现有数据:http://deeplearning.net/datasets
2.数据扩充
原始数据切割、噪声颜色等像素变化、旋转平移等姿态变化。
图像效果算子:
- 高斯:更模糊
- unsharp:更清楚
- motion:动作模糊
效果卷积核:
F1 = fspecial('disk',1);
F2 = fspecial('average',4);
F3 = fspecial('gaussian',3);
F4 = fspecial('gaussian',4);
F5 = fspecial('unsharp');
F6 = fspecial('motion',7,0.75*pi);
F7 = fspecial('motion',5,0);
F8 = fspecial('motion',5,pi/2);
F9 = fspecial('motion',6,pi);
F10 = [0 0 0; 0 1 0; 0 0 0];
vfilter = {F1, F3, F5, F6, F9, F10};
旋转平移R,T
vTrans = {};
t1 = maketform('affine',[1 0 2*f; 0 1 2*f; 0 0 1]');
t2 = maketform('affine',[0.96 0.1 0; -0.1 0.96 0; 0 0 1]');
t3 = maketform('affine',[-1 0 0; 0 1 0; w1 0 1]');
t4 = maketform('affine',[0.97 -0.02 0; 0.02 0.97 0; 0 0 1]');
t5 = maketform('affine',[1 0 0; 0 1 0; 0 0 1]');
t6 = maketform('affine',[1.04 -0.1 0; 0.1 1.04 0; 0 0 1]');
t7 = maketform('affine',[1.03 0.02 0; -0.02 1.03 0; 0 0 1]');
vTrans = {t1, t2, t3, t5, t6};
3.数据规范
均值处理、归一化、大小调整。
模型设计
任务类型
- 分类:表情分类、种类分类、人群分类…
- 分类+回归:表情+程度、种类+信心、什么人+人数…
- 多目标分类:面部行为、群体行为、车流预测…
训练细节
1.GPU-Batch size ,是否并行
GPU内存-Batch Size关系,Batch Size在实验的过程中,如果设置不合理,就可能会报错。
2.数据循环方式/平衡性考虑
- 数量较少的类别,数据是否需要补偿;
- 从到头尾多次循环;
- 每次随机选取部分数据。
3.网络深度宽度确定
深度与卷积核关系:第