基于卷积神经网络的图像识别算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

卷积神经网络
我们假设对一张32*32的彩色图片,有三个通道,所以用一个32*32*3的矩阵 就能表示这样的图片,然后对该图片进行均匀分割,分割成了6*6=36张小图 片,将每个独立的小图片输入神经网络,对个通道做同样的操作,最终形成 特征向量。为了保证图像局部的特征,并过滤掉那些距离较远的无关特征, 采用了权值共享的策略。所谓权值共享,就是指在图片同一位置的权重是相 同的,这样做不仅仅是出于减少参数个数的考虑,还结合了图像本身的特 点——相邻像素间的相关关系总是大于相隔较远像素之间的关系
cnn.py
创建数据集 训练集数据文件 测试集数据文件
正向传播 反向传播 卷积神经网络实现与测试
构建卷积神经网络
输入
实验所用的数据是32*32的三通道彩色图像,为了平衡算法性能和稳定 性,设置了如图所示结构的卷积神经网络,较小的卷积核可以保证算法 的效率,同时较深的结构又保证了算法能够有效地抽象出图像的特征
构建卷积神经网络
输入
每个卷积层之后都有一个ReLU层,最终总体的CNN网络结构,由一个输 入层和两个图上的结构,一个全连接层和一个Softmax层和输出层组成
实验结果
ቤተ መጻሕፍቲ ባይዱ
测试集来源 CIFAR-10 多源随机下载图片
测试集样本数 2000 100
准确率 89% 73%
请各位老师批评指正
K最近邻算法(KNN)是无监督的学习方法,无需预先进行标注,不 需要确定样本的类别,甚至无需知道所获得的数据可以分为几类。对于 类域有交叉或者重叠的分类任务更适合。
卷积神经网络(CNN)是一种多层感知机,对于图像来说,相邻像素的 相似度一般来说高于相隔很远的两个像素,卷积神经网络结构上的优越性, 使得它可以更关注相邻像素的关系,而对相隔一定距离的像素之间的连接 进行了限制。所以,卷积神经网络的这种结构,符合图像处理的要求,也 使卷积神经网络在处理图像分类问题上有天然的优越性
Windows 10 64位操作系统 Intel i5 CPU
6GB DDR3 1600 Python 3.5.2
Anaconda 4.2.0 TensorFlow
数据来源及文件组织
训练集 测试集1 测试集2
CIFAR-10 CIFAR-10 互联网随机图片
8000 2000 100
create_dataset train_catvnoncat.h5 test_catvnoncat.h5 nnn_app_utils_v2.py dnn_app_utils_v2_back.py
基于卷积神经网络的图像识别算法
指导老师:---汇 报 人:----
1 图像分类概述 2 卷积神经网络原理 3 图像分类算法设计与实现
图像分类目标
图像分类就是根据不同图像的特征,把图像按照内容的不同分成不同类别
Cat
Or Non-Cat ?
方法选择
支持向量机(SVM)是比较经典的用于分类的机器学习方法,即使在样本 数量很少的情况下,也能得到相对好的结果,并且,由于最终分类器分类 超平面的确定,只与有限的几个“支持向量”有关,训练速度比较快。
卷积神经网络
下采样相当于特征的降维,在降维的同时保证了一定程度的尺度不变特性。 即使经过了一定的平移和变换,对应的下采样特征可能还是相同的。下采样 保留了最重要的特征,丢弃了相对不重要的特征,不仅减少了参数的数量, 还减少了过拟合的风险。
卷积神经网络图像分类基本流程
实验环境
操作系统 处理器
内存 Python版本 Anaconda版本 深度学习框架
相关文档
最新文档