㈠ 卷积神经网络的卷积层如何提取特征
提取特征不一定是分三层,觉得特征值不够好,可以增加卷积层。用于图片识别只是一种,其根本理念是通过卷积神经网络提取特征,图片只是数据的一种,人脸识别根本也是一种图片的比对,基本理念是对数据提取特征进行学习。数据可以是图片,声音,视屏等等
㈡ 卷积神经网络(Convolutional Neural Networks, CNN)——更有效率地提取特征
卷积神经网络(Convolutional Neural Networks, CNN)——更有效率地提取特征
图像识别问题本质上就是分类问题,比如我们要区分猫和狗,那么我们就需要构建一个模型,将照片丢进去后,模型能输出猫或者狗的概率有多大。在做图像识别时首要的就是要提取图片的特征,那么如何提取图片的特征呢?前面讲到了前向全连接网络,我们可以尝试用前向全连接网络提取。假设图片的像素是100*100,如果如片是彩色的,每个像素都有RGB三种颜色的数值。因此,一张图片是有一个三维向量构成的,一维是长100,一维是宽100,还有一维是R、G、B 3个通道(channels)。把这个三维向量拉直作为一个一维向量,长度就是100*100*3。
我们在区分一张图片时,我们观察的往往是图片的局部的、最重要的特征。 比如图片上是一只鸟,我们可能通过嘴巴、眼睛、爪子等就可以判断出是一只鸟了。因此,输入层的每一个神经元没有必要看图片的全局,只需要看一个局部就行了。
在两张不同的图片上,同一个特征区域可能处于不同位置。 比如鸟嘴的局部特征区域在下面这两张图上就处在不同的位置上。那么如何才能让两个不同的神经元在看到这两个不同的感受野时,能产生一致的特征值呢?
对上面的内容进行一个总结:
(1)我们设置一个局部感受野,假设感受野的大小为W*H*C,其中W表示感受野的宽度,H表示感受野的高度,C表示感受野的通道数。那么对应的神经元的参数的个数就为:W*H*C个权值加1个偏置。在卷积神经网络中,我们称这样一个神经元为一个 滤波器(filter) 。
(3)我们通过滑动的方式让感受野铺满整个图片,假设图片的尺寸是W1*H1*C,滑动步长为S,零填充的数量为P。假设感受野的个数是W2*H2,其中,
(4)我们让所有感受野的观测滤波器参数进行共享,即相当于一个滤波器通过滑动扫描的方式扫描了所有感受野。
(5)我们设置多个滤波器,假设滤波器的个数为K,这K个滤波器都通过滑动扫描的方式扫过整个图片。此时参数的个数为:(W*H*C+1)*K。
(6)由于每个滤波器每经过一个感受野都会进行一次计算输出一个值,所以输出的维度为:W2*H2*K。我们将这个输出称为特征图,所以特征图宽度为W2,高度为H2,通道数C2=K。
举个例子: 假设某个图片的大小是100*100*3,设置滤波器的大小为3*3*3,滤波器的个数为64,设置步长S=1,设置零填充的数量为P=0。那么卷积神经网络的参数为, 相比前向全连接 个参数,参数的个数缩小了几个数量级。
输出特征图的宽度和高度均为, 输出特征图的通道数为, 所以输出特征图的维度为98*98*64。
如果在上面输出的基础上再叠加一层卷积神经网络,滤波器的设置宽和高可以不变,但是通道数不再是3了,而是变成64了,因为输入特征图的通道数已经变64了。假设滤波器的大小为3*3*64,滤波器的个数为32,设置步长S=1,设置零填充的数量为P=0。可以计算出来,新的输出特征图的维度是96*96*32。
以上就是卷积神经网络(CNN)的解析。但是CNN一般不是单独用的,因为一般提取图片的特征是为了分类,还需要进一步处理,常见的形式如下图所示。
㈢ 基于卷积神经网络的图像识别算法_卷积神经网络提取图像特征
图象识别容易,因为图象可以在一个时间点成像
而语音没有可能在一个时间点的采样有用,语音多出来一个时间轴
而这个时间轴引入的难题就是:换个时间,换个人,换个背景噪音,都变得没法子识别了
目前,主流的大词汇量语音识别系统多采用统计模式识别技术
典型的基于统计模式识别方法的语音识别系统由以下几个基本模块所构成信号处理及特征提取模块
该模块的主要任务是从输入信号中提取特轿猜征,供声学模型处理
同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响
统计声学模型
典型系统多采用基于一阶隐马尔科夫模型进行建模
发音词典
发音词典包含系统所能处理的词汇集及其发音
发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射
语言模型
语言模型对系统所针对的语言进行建模
理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体
解码器
解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串
从数学角度可以更加清楚的了解上述模块之间的关系
首先,统计语含慎音识别的最基本问题是,给定输入信号或特征序列,符号集(词典),求解符闭老型号串使得:图像识别比语音识别算法的复杂度高多少倍
㈣ 用卷积神经网络提取图像特征
前面讲到的都是基于知识的图像特征提取方法,除此之外还有另一条技术路线——基于深度学习的图像特征提取。
人在认知图像时是分层抽象的,首先理解的是颜色和亮度,然后是边缘、角点、直线等局部细节特征,接下来是纹理、几何形状等更复杂的信息和结构,最后形成整个物体的概念。
视觉神经科学(Visual Neuroscience)对于视觉机理的研究验证了这一结论,动物大脑的视觉皮层具有分层结构。眼睛将看到的景象成像在视网膜上,视网膜把光学信号转换成电信号,传递到大脑的视觉皮层(Visual cortex),视觉皮层是大脑中负责处理视觉信号的部分。1959年,David和Wiesel进行了一次实验,他们在猫的大脑初级视觉皮层内插入电极,在猫的眼前展示各种形状、空间位置、角度的光带,然后测量猫大脑神经元放出的电信号。实验发现,不同的宏盯神经元对各种空间位置和方向偏好不同。这一成果后来让他们获得了诺贝尔奖。
目前已经证明,视觉皮层具有层次结构。从视网膜传来的信号首先到达初级视觉皮层(primary visual cortex),即V1皮层。V1皮层简单神经元对一些细节、特定方向的图像信号敏感。V1皮层处理之后,将信号传导到V2皮层。V2皮层将边缘和轮廓信息表示成简单形状,然后由V4皮层中的神经元进行处理,它颜色信息敏感。复杂物体最终在IT皮层(inferior temporal cortex)被表示出来。
卷积神经网络可以看成是上面这种机制的简单模仿。它由多个卷积层构成,每个卷积层包含多个卷积核,用这些卷积核从左向右、从上往下依次扫描整个图像,得到称为特征图(feature map)的输出数据。网络前面的卷积层捕捉图像局部、细节信息,有小的感受野,即输出图像的每个像素只利用输入图像很小的一个范围。后面的卷积层感受野逐层加大,用于捕获图猜绝岩像更复杂,更抽象的信息。经过多个卷积层的运算,最后得到图像在各个不同尺度的抽象表示。
顾名思义,卷积层由一组卷积单元(又称"卷积核")组成,可以把这些卷积单元理解为过滤器,每个过滤器都会提取一种特定的特征,方法参见 图像卷积 。
卷积层的过滤器负责从图像中查找规律,过滤器越多则参数越多,这意味着卷积层的维度可能很穗御庞大。我们需要一种方法来降低维数,这就是卷积网络中的池化层(又名"下采样层")所扮的角色。
池化主要有3种形式:一般池化,重叠池化和金字塔池化。
池化窗口的尺寸为n*n,一般情况下池化窗口都是正方形的。步长(stride)等于n。此时池化窗口之间是没有重叠的。对于超出数字矩阵范围的,只计算范围内的或者范围外的用0填充再计算。又可以分为最大值池化,均值池化。
池化窗口范围内的最大值作为采样的输出值。
假如输入是一个4×4矩阵,执行最大池化是一个2×2矩阵,每次滑动2步。执行过程非常简单,把4×4的输入拆分成不同的区域,把这些区域用不同颜色来标记。对于2×2的输出,输出的每个元素都是其对应颜色区域中的最大元素值。
普通均值池化就是将池化窗口范围内的平均值作为采样的输出值。这种池化不如最大池化常用。
池化窗口之间有重叠。也就是步长大于等于1小于n,计算和一般池化是一样的。
空间金字塔池化(Spatial Pyramid Pooling,简称SPP)可以将尺寸大小不一样的图片转换为同样的尺寸。
SPP首先把图片看成1块,对这1块进行最大值池化,得到1个值,分成4块,对这4块分别进行最大值池化,得到4个值;分成16块,对这16块分别进行最大值池化,得到16个值,以此类推。这样就可以保证对于不同尺寸的图片而言,最终得到的值的个数是一样的。因为是最大值池化,超出范围的用不用0填充不会影响结果。
直接对原始图像做卷积,会存在两个问题。一是每次卷积后图像(特征图)都会缩小,这样卷不了几次就没了; 二是相比于图片中间的点,图片边缘的点在卷积中被计算的次数很少,导致边缘的信息易于丢失。
为了解决这个问题,我们可以采用填充的方法。我们每次卷积前,先给图片周围都补一圈空白,让卷积之后图片跟原来一样大,同时,原来的边缘也被计算了更多次。
比如,我们把(8,8)的图片给补成(10,10),那么经过(3,3)的filter之后,就是(8,8),没有变。
能够保证输入的数据和输出的数据具有相同的空间尺寸,假设零填充个数为p,卷积核为f * f,卷积核滑动步长为s,则p应设置为
假设原始输入图像为m * m,输出图像为n * n,零填充个数为p,卷积核为f * f,卷积核滑动步长为s,则输出尺寸为
假设输入图像为(m,m,d),其中d为图像深度(通道数),卷积核为f * f,卷积核个数为n,则weight个数为
bias个数:
池化层很少使用零填充。假设原始输入图像为m * m,输出图像为n * n,卷积核为f * f,卷积核滑动步长为s,则输出尺寸为
㈤ 如何通过人工神经网络实现图像识别
人工神经网络(Artificial Neural Networks)(简称ANN)系统从20 世纪40 年代末诞生至今仅短短半个多世纪,但由于他具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。尤其是基于误差反向传播(Error Back Propagation)算法的多层前馈网络(Multiple-Layer Feedforward Network)(简称BP 网络),可以以任意精度逼近任意的连续函数,所以广泛应用于非线性建模、函数逼近、模式分类等方面。
目标识别是模式识别领域的一项传统的课题,这是因为目标识别不是一个孤立的问题,而是模式识别领域中大多数课题都会遇到的基本问题,并且在不同的课题中,由于具体的条件不同,解决的方法也不尽相同,因而目标识别的研究仍具有理论和实践意义。这里讨论的是将要识别的目标物体用成像头(红外或可见光等)摄入后形成的图像信号序列送入计算机,用神经网络识别图像的问题。
一、BP 神经网络
BP 网络是采用Widrow-Hoff 学习算法和非线性可微转移函数的多层网络。一个典型的BP 网络采用的是梯度下降算法,也就是Widrow-Hoff 算法所规定的。backpropagation 就是指的为非线性多层网络计算梯度的方法。一个典型的BP 网络结构如图所示。
六、总结
从上述的试验中已经可以看出,采用神经网络识别是切实可行的,给出的例子只是简单的数字识别实验,要想在网络模式下识别复杂的目标图像则需要降低网络规模,增加识别能力,原理是一样的。
㈥ 神经网络提取图像的概率分布特征
神经网络提取图像的概率分布特征:
由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度。卷积神经网络中的每一个特征提取层(C-层)都紧跟着一个用来求局部平均与二次提取的计算层(S-层),这种特有的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力。
神经网络特点:
例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其应用前途是很远大的。