【计算机视觉】基于tensorflow Lenet进行minist手写体识别

目录

一、原理

1.1 卷积神经网络

1.2 Lenet

二、数据分析

三、结果分析

一、原理

1.1 卷积神经网络

卷积神经网络的层级结构

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第1张图片

1.2 Lenet

LeNet-5 ,用于实现手写识别的7层CNN(不包含输入层)

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第2张图片

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第3张图片

输入原始图像的大小是32×32,卷积层用  表示,子采样层(pooling)用表示,全连接层用表示,x 代表层数。

         C1层是卷积层,单通道下用了6个卷积核,这样就得到了6个feature map,其中每个卷积核的大小为5*5,用每个卷积核与原始的输入图像进行卷积,这样feature map的大小为(32-5+1)×(32-5+1)= 28×28,所需要的参数的个数为(5×5+1)×6= 156(其中5×5为卷积模板参数,1为偏置参数),连接数为(5×5+1)×28×28×6=122304(其中28×28为卷积后图像的大小)。

         S2层为 pooling 层,也可以说是池化或者特征映射的过程,拥有6个 feature map,每个feature map的大小为14*14,每个feature map的隐单元与上一层C1相对应的feature map的 2×2 单元相连接,这里没有重叠。计算过程是:2×2 单元里的值相加然后再乘以训练参数w,再加上一个偏置参数b(每一个feature map共享相同w和b),然后取sigmoid (S函数:0-1区间)值,作为对应的该单元的值。(这个地方和之前自己想的不太一样)所以S2层中每 feature map 的长宽都是上一层C1的一半。S2层需要2×6=12个参数,连接数为(4+1)×14×14×6 = 5880。
 

二、数据分析

  MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据。

其中每个数字的形态,大小,笔画顺序都有所差别。部分数字截图如下

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第4张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第5张图片

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第6张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第7张图片

三、结果分析

下面选取每个数字中特点比较突出的图片,进行识别和对比

下列图片为手写体0,图一形状较奇怪但为闭合状的零,识别正确;图二为形状不规范,且非闭合的零,识别正确;图三为非闭合形状圆润的零识别正确;图四为闭合,形状较细,字迹较为模糊的零,识别正确。总体而言我们可以看出零的识别率较高。

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第8张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第9张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第10张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第11张图片

 下列图片为手写体1

分别为斜体一和印刷体写法的不同一字,其中笔画较粗的识别错误为8,而其中一个笔画较大的印刷体写法的1被识别为3

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第12张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第13张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第14张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第15张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第16张图片

下列图片为手写体2,但识别结果为7,0,2

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第17张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第18张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第19张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第20张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第21张图片

 【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第22张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第23张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第24张图片

下列图片为手写体3,

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第25张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第26张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第27张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第28张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第29张图片

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第30张图片 【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第31张图片

 下列图片为手写体4

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第32张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第33张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第34张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第35张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第36张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第37张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第38张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第39张图片

下列图片为手写体5

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第40张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第41张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第42张图片

下列图片为手写体6

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第43张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第44张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第45张图片

下列图片为手写体7 识别结果有3,7,8

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第46张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第47张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第48张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第49张图片

下列图片为手写体8 识别准确率较高

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第50张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第51张图片

下列图片为手写体9 ,有被识别为4和8

【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第52张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第53张图片【计算机视觉】基于tensorflow Lenet进行minist手写体识别_第54张图片

根据每个数字的识别结果,可以看出 连笔,字迹不清,字形非正常写法,笔画太粗都会导致识别结果出错,同时训练集也会影响结果,训练集数量和字迹覆盖率不高导致识别结果错误。

你可能感兴趣的:(计算机视觉,python,python,计算机视觉,minist手写体识别)