大家好,今天小编关注到一个比较有意思的话题,就是关于基于卷积神经网络的图像识别的问题,于是小编就整理了1个相关介绍基于卷积神经网络的图像识别的解答,让我们一起看看吧。
如何通过人工神经网络实现图像识别?
神经网络识别图像这是一个统计学问题,它主要有如下两个前提决定的
(1)物体是由特征决定的
无论是狗还是猫,它们都有各自的特征,只要找出这些特征,我们就能区分它们。
(2)大数定律
统计学上的大数定律是说,只要我数据量足够大,那么,数据中呈现的数据特征,和真实世界的数据特征,概率上是一致的。
从这两条上看,深度网络学习就是自动寻找海量数据中的特征,通过特征来判定是猫还是狗。
传统机器学习识别是通过人为提取图片特征,比如人脸五官,形成庞大的特征***库。再由机器对需要识别的图片进行特征提取和对比从而对图片进行识别。
而深度学习是通过建立神经网络,让神经网络自己去学习图片各特征与结果之间的权重。
计算机只认识0和1的二进制,那么人类眼中色彩丰富的图片计算机是如何识别和存储的呢?在计算机眼中一张色彩鲜艳的图片其实就是有数字组成的矩阵。灰度图像和色彩图像。彩色图像(R、G、B)表示颜色,图片在计算机中表现为三阶张量。
图像识别一般是用卷积神经网络来建立深度学习模型的。之所以不用全连接神经网络的原因是:一张图片每一个像素点都是参数,输入的参数太多、网络层数有限制。***设一张1000*1000大小的图片,输入层就有1000*1000 = 100万个节点,***设一个影藏层有100个节点,那么光这一层就有(1000*1000+1)*100 = 1亿个参数;而卷积神经网络能在减少图片输入参数的前提下又不失图片本身的特征。
CNN神经网络主要包括卷积层、池化层、全连接层:
提取图像中的特征作为滤镜。如下图,提取了X的三个特征。
提取特征作为滤镜后,使用滤镜扫描图片:以图像每一个点为中心,取周围N*N格点构成一个面,称为卷积核,每一格给予不同的权重,计算加权总和,当做这一点的outPut,再移动至下一个点以相同方式处理。
首先,我们需要把图像转换成神经网络能够接受的格式(表示,representation)。然后,我们设计一个神经网络模型(model)。之后我们在一大堆图像上训练(train)上一步设计的神经网络。最后我们用训练好的网络来识别图像。
图像如何表示?***设我们有一个图像,该图像的大小是646x454。那么,我们可以用一个[646, 454]的矩阵来表示这个图像,矩阵中的每个元素对应一个像素。这是一个非常简单直接的做法。***设我们用1表示对应像素为黑色,用0表示对应像素为白色,那么我们的矩阵就由大量1和0组成。大概就是这副样子:
(图片来源:***)
646x454太大了,画不下,上面是一个4x4的示意图,你可以把它想象成是由646x454个元素组成的巨大矩阵。
显然,这个矩阵只能表示真黑白图像。如果我们要表示灰度图像,那么我们可以用一个数字表示像素的亮度(intensity)。比如,下面这个矩阵(同样需要你发挥想象力,将它想象成一个646x454的巨大矩阵)。
(图片来源:***)
那么,如果是彩图怎么办?很简单,再增加一个维度。用[646, 454, 3]表示。(数字3是因为一般我们用RGB系统表示色彩,比如,[1.0, 0.0, 0.0]表示红色)。
所以,某种意义上说,灰度图像(也就是我们平常说的黑白照片)才是真2D图像。;-)
我的理解是这样的,由很多个单元构成的层,存在多个层且相近层间的单元间存在联系,这就是一个网络。不同层的作用不同,每个层就相当于滤镜,透过这个滤镜来看一张图片会得到一种特征(也可以说是图片的某种特征被放大),透过很多层滤镜会得到这个更具概括性的特征,我们经过查看海量有关猫的图片,就会得到关于猫的特征!我们将这个特征保存起来!接下来有一张新的图片,我们来识别图片的东西是不是猫,就用之前存下来的特征和本次扫描得到的特征进行对比!如果两特征差别不大,我们就说这张是关于猫的图片!
到此,以上就是小编对于基于卷积神经网络的图像识别的问题就介绍到这了,希望介绍关于基于卷积神经网络的图像识别的1点解答对大家有用。