卷积神经网络CNN-目标分类

本文探讨了卷积神经网络CNN在目标分类中的应用,包括数据准备、模型设计和训练细节。介绍了迁移学习在有限数据下的作用,并讨论了如何设计神经网络进行面部识别,提出改进思路,如注意力网络和局部学习网络,最后以基于VGG的人脸表情识别为例进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卷积神经网络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.网络深度宽度确定
深度与卷积核关系:第

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值