Python计算机视觉

您所在的位置:网站首页 手写字体怎么识别 Python计算机视觉

Python计算机视觉

2024-05-27 13:25| 来源: 网络整理| 查看: 265

文章目录 一、minist数据集的特点 二、思路 三、原理介绍 四、实现过程 1、代码: 五、分析总结

一、minist数据集的特点

minist数据集可以在 http://yann.lecun.com/exdb/mnist/ 获取,它包含以下四个部分: 在这里插入图片描述 t10k-images-idx3-ubyte:包含10000个样本 t10k-labels-idx1-ubyte:包含10000个标签 train-images-idx3-ubyte:包含60000个样本 train-labels-idx1-ubyte:包含60000个标签

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

二、思路

把图片当成一枚枚像素来看,下图为手写体数字1的图片,它在计算机中的存储其实是一个二维矩阵,每个元素都是0~1之间的数字,0代表白色,1代表黑色,小数代表某种程度的灰色。 在这里插入图片描述 对于minist数据集中的图片来说,我们只要把它当成长度为784的向量就可以了(忽略它的二维结构,28*28=784)。我们的任务就是让这个向量经过一个函数后输出一个类别。就是下边这个函数,称为softmax分类器。 在这里插入图片描述 这个式子里的图片向量的长度只有3,用x表示。乘上一个系数矩阵W,再加上一个列向量b,然后输入softmax函数,输出就是分类结果y。w是一个权重矩阵,w的每一行与整个图片像素相乘的结果是一个分数score,分数越高表示图片越接近改行代表的类别。因此,Wx + b的结果其实是一个列向量,每一行代表图片属于该类的评分。通常分类的结果并非评分,而是概率,表示有多大的概率属于此类别。因此,softmax函数的作用就是把评分转换成概率,并使总的概率为1.

三、原理介绍

卷积神经网络(Convolutional Neural Networks/CNNS/ConvNets)与普通神经网络非常相似,他们都由可学习的权重和偏置常量(biases)的神经元组成。每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,普通神经网络里的一些计算技巧到这里依旧适用。 卷积神经网络利用输入是图片的特点,把神经元设计成三个维度:width,height,depth(注意这个depth不是神经网络的深度,而是用来描述神经元的)。比如输入的图片大小是32323(rgb),那么输入神经元也就具有32323的维度。 一个卷积神经网络由很多层组成,它们的输入是三维的,输出也是三维的,有的层有参数,有的层不需要参数。 卷积神经网络通常包含以下几种层: 数据输入层: 该层要做的处理主要是对原始图像数据进行预处理,其中包括: • 去均值:把输入数据各个维度都中心化为0,如下图所示



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3