卷积神经网络在图像处理中的应用

2021-03-24 01:55郭秀娟
吉林建筑大学学报 2021年1期
关键词:图像处理神经元卷积

闫 贺,郭秀娟

吉林建筑大学 电气与计算机学院,长春 130118

1 概述

神经网络是通过对动物神经模拟出来的一种分布式处理信息的数学模型,最早由心理学家W·Mcculloch和数理逻辑学家W·Pitts提出,并且沿用至今.神经网络中最基本的成分是神经元模型[1].模型如图1所示.

图1 神经网络模型Fig.1 Neural network model

图1中的每一个圆圈代表一个神经元,每条线代表一个神经元的连接,神经元被分成了很多层,每个层之间都有链接,而同一层之间没有链接[2].

在动物神经网络中神经元对应人工神经网络的感知器,感知器是由输入权值、激活函数、输出组成的.一个感知器可以有多个输入x,并且带有一个权值w.激活函数有很多个选择,其中常用的为:

(1)

模型的输出为:

y=f(w*x+b)

(2)

人工神经网络的模型公式为:

y=f(∑w*x+b)

(3)

式中,w为权值;x为输入;y为输出;b是偏置项.

1986年辛顿提出了反向传播,通过误差最小得到新的权重等信息,然后更新整个网络参数.指定学习的速率λ(超参数),通过变化率和学习速率乘积得出各个权重以及偏置项在一次训练之后变化多少,以提供给第二次训练使用.这个理论的提出使神经网络的研究迎来了一轮热潮.

近几年,卷积神经网络在图像处理中的应用不断增加.由于手写文字数量庞大、种类繁多,普通的机器识别准确率很低,但卷积神经网络的出现可以解决这一问题,大大提升了准确率.手机的解锁方式层出不穷,但近几年人脸识别解锁的方案成为最流行的解锁方案,这也离不开卷积神经网络的发展,人脸识别的最重要的算法就是基于CNN的.随着YOLOv3模型的提出,图像分类识别变得更为精准,可以自动识别出感兴趣的目标,无论在军事或者民用领域中都发挥着重要的作用.

2 卷积神经网络CNN

相比较普通的神经网络来说,卷积神经网络更适合处理图片,因为该网络简化了前期对图片的处理,可以直接输入未处理的图片,广泛地应用于医学、交通、安全等各个领域[3].卷积神经网络是由学习权重和偏差神经元组成,每一个神经元可以接收数据的输入并且执行点积,在最后的全连接层具有损失函数(如:Softmax),CNN的每一层可以通过激活函数将一个值转换为另一个值.卷积神经网络分为卷积层、池化层、全连接层,一般在池化层之前都有一个激活函数[4].

卷积层是CNN的核心,通过过滤器(filter)对数据进行降维处理,提取出核心的特征[5].过滤器一般有四个参数,即过滤器大小、深度、步幅和零填充.根据实际需要设计出最合适的参数,得出特征图,计算公式为:

(4)

式中,ai,j为特征值,i与j为特征图的行数与列数;m与n为过滤器的行数与列数;wm,n为过滤器的值;xi+m,j+n为输入图片的值;wb为权重的偏置.

激活函数中加入了非线性特征,它可以使每个层之间没有线性联系,这样可以达到模拟任何复杂函数的目的,而不会使他们回归到最原始的线性关系,这样可以增强卷积神经网络的表达能力[6].常见的非线性激活函数包括 Sigmoid,RELU等.图像如图2,图3所示.

图2 Sigmoid函数图像Fig.2 Image of the Sigmoid function

图3 RELU函数图像Fig.3 Image of the RELU function

其中,RELU函数具有速度快、计算代价小、不会产生梯度消失的特征,应用非常广泛.池化层的主要作用是减少数据的冗余,防止过度拟合,把不重要的样本去除掉,能够大大减少数据量[7].一般的CNN网络都是不断应用这几层,最终实现的.现在主流的CNN框架有LeNet:卷积网络的第一个成功应用是由Yann LeCun于1990年代开发的,其中最着名的是LeNet架构,用于读取邮政编码、数字等[8].VGGNet.2011年ILSVRC的亚军是来自Karen Simonyan和Andrew Zisserman的网络,被称为VGGNet,ResNet.VGGNet对链接层做批量归一化的处理,得到广泛应用[9].

3 图像处理中的应用

由于CNN对图像处理的各种优点,现在CNN在图像处理的应用非常广,如无人驾驶的障碍识别、医学领域中的对疾病的判断、手写文字的识别等[10],而且在这些领域中都取得良好的效果.下面将用卷积神经网络和普通神经网络对手写数字的识别的对比,展现CNN对图像处理的优势,使用TensorFlow框架对其进行实现.

使用MINST手写数据集用来训练模型,此数据集有60 000个训练样本和10 000个测试样本,该数据集都是处理过的图片,图片大小均为28×28像素的格式,使用二进制格式对其进行读取.如图4所示.

图4 MINIST数字集图像Fig.4 Image of MINIST digital set

卷积神经网络将采用两层卷积和两个全连接的模型进行训练,第一层卷积权重张量形状是[5,5,1,32],步长为1,使用32个filter进行观察,使用RELU激活函数对其激活,第二层卷积接受上一层的数据,继续使用5×5的过滤器,这次采用64个filter进行观察,最后用两个全连接层对数据处理.

经过1 000次训练之后得到的识别准确率和损失函数变化曲线如图5,图6所示.

图5 CNN模型准确率图像Fig.5 Accurate image of CNN model

图6 CNN模型损失图像Fig.6 LOSS image of CNN model

由图5,图6可以看到最终识别准确率大约为97 %,在400次训练之后模型基本达到饱和状态和准确识别的目的,识别率已经达到比人眼识别的还要准确.普通的神经网络的识别准确率和损失函数如图7、图8所示.

图7 普通神经网络模型准确率图像Fig.7 Accuracy image of ordinary neural network model

图8 普通神经网络模型损失图像Fig.8 Loss image of ordinary neural network model

卷积神经网络与普通神经网络对比可以看到,即使训练2 000次,普通的神经网络最终的准确率仅为84 %,并且训练损失函数下降曲线明显变慢,准确率已经达不到使用要求.

在图像处理降噪方面,卷积神经网络通过多层的卷积处理后已经把噪点基本处理干净,而普通的神经网络对噪点的处理略有欠缺,对比图如图9,图10所示.

图9 卷积神经网络处理图像Fig.9 CNN processes images

图10 普通神经网络处理图像Fig.10 Ordinary neural networks process images

这是因为普通的神经网络有以下几种缺陷:

(1) 参数的数量过多,大量的参数会使数据冗余,并且关联性变强,使数据处理的效果变差.

(2) 像素之间的位置信息利用的不好,对于图片来说,各个像素之间的位置信息非常重要,里面包含了大量的信息,相邻较近的像素关联性强,相邻较远的像素关联性较小,对其进行统一处理并不合适,会浪费大量的资源.

(3) 处理层数限制,普通的神经网络由于全部采用全连接的方式,该方式显然不能有很多层,然而对数据处理来说层数越多,处理效果越好,会使准确率有明显提升,所以从根本上说普通的神经网络有局限性.

卷积神经网络对其处理的方法为:

(1) 局部连接,采用局部连接的方式可以大大减少参数的数量.

(2) 权值共享,一组连接之间可以共享参数,这样也可以减少大量的参数数量.

(3) 下采样,可以保留有用的参数,去除大量无用参数,可以达到良好的学习效果.

4 结论

通过以上的对比可以得出如下结论:

(1) 卷积神经网络对图片的处理表现良好,不同模型对准确率的提升至关重要.卷积神经网络对图片的处理有它独特的优势,并且随着CNN的不断发展,将来可应用的领域非常广泛.

(2) 神经网络用于医学领域可以对CT图片进行识别,处理人眼很难观察到的病症,可大大提升诊断的正确率.

(3) 神经网络用于无人驾驶方面可以对各种路况提前做出判断,降低事故的发生概率.

(4) 神经网络用于面部微表情的识别,可以判断人的内心心里活动.

(5) 神经网络用于手写文字,可以做到区分笔迹,对模仿签名、公文造假等方面进行判断.

猜你喜欢
图像处理神经元卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
基于ARM嵌入式的关于图像处理的交通信号灯识别
从滤波器理解卷积
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
跃动的神经元——波兰Brain Embassy联合办公
基于傅里叶域卷积表示的目标跟踪算法
基于图像处理的定位器坡度计算
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用