基于Keras 框架的目标检测的研究与实践

2021-10-18 08:57甘丽
科学技术创新 2021年27期
关键词:池化层梯度卷积

甘丽

(马鞍山师范高等专科学校软件工程系,安徽 马鞍山 243041)

随着人工智能技术的高速发展,目标检测作为计算机是觉得一个重要研究方向也得到了长足的发展和广泛的应用。目前大多数目标检测的研究侧重在目标类别的识别,如公共汽车、小汽车、摩托车、自行车等,本研究侧重在对不同品牌车辆的识别,对小目标的分类预测有着积极的参考意义。

1 Keras 框架

Keras 是一个用Python 编写的高级神经网络API,能够以TensorFlow,CNTK 等作为后端运行。没有特定格式的单独配置文件。模型定义在Python 代码中,结构紧凑,易于调试,并且易于扩展。[1]Keras 的核心数据结构是神经网络模型model,其中使用较多的是Sequential 顺序模型,它是由多个神经层线性堆叠而成。在构建好模型后,可以简单的通过add 方法将各层添加到模型中去,在训练模型之前,最重要是的配置学习过程,主要通过compile 方法来完成,其中有三个参数是非常重要的,他们分别是优化器,损失函数和评估函数。训练模型通常使用fit 方法,最后利用训练好的模型预测我们的测试集。

2 神经网络原理

神经网络的主要用途在于分类,整个神经网络的分类还是围绕着损失、优化这两部分的算法设计。[2-3]

公式的计算过程如图1 所示。

图1 softmax 计算过程

2.2 梯度下降算法

梯度下降是优化神经网络的首选方法,各种优化器也是基于梯度下降算法。梯度下降法基于以下定义:如果实值函数f(x)在点啊处可微且有定义,那么函数f(x)在a 点沿着梯度相反的方向-∇f(a)下降最多。梯度下降算法的目的是使得损失函数的值找到最小值。模型的训练目标即是寻找合适的w与b 以最小化代价函数值。参数w和b 的更新公式如图2。

图2 梯度下降算法参数更新

其中α 表示学习速率,即每次更新的w的步伐长度。当w大于最优解w'时,导数大于0,那么w就会向更小的方向更新。反之当w 小于最优解w' 时,导数小于0,那么w 就会向更大的方向更新。迭代直到收敛。

2.3 卷积神经网络

在计算机视觉领域,由于图像特征数量对神经网络效果的压力,卷积神经网络就能很好的解决这个问题。卷积神经网络有一个或多个卷积层、池化层以及全连接层等组成[4-5],见图3。

图3 卷积神经网络结构图

卷积层的目的是提取输入的不同特征,主要参数有卷积核Size 的大小,padding- 零填充,stride 步长。通过卷积层的计算,我们能提取特征,但并没有减少图片的特征数量,在最后的全连接层依然面临大量的参数,所以需要池化层进行特征数量的减少。池化层主要对卷积层学习到的特征图进行亚采样处理,池化的方式主要有最大池化和平均池化两种,目的是为了降低后续网络层的输入维度,缩减模型大小,提高计算速度。卷积层+激活层+池化层可以看成是特征学习/特征提取层,而学习到的特征最终应用于模型任务需要先对所有Feature Map 进行扁平化处理,再接一个或多个全连接层,进行模型学习[6-7]。

3 基于Keras 目标检测的主要步骤

利用keras 框架里面已经训练好的VGG16 模型,对其进行微调,来做本研究中车辆类别的目标分类实践。

3.1 读取本地的图片数据以及类别

使用一个ImageDataGenerator 图片生成器,定义图片处理以及数据增强相关功能

3.2 模型的结构修改

在不动VGG 最后的1000 输出结果基础上,加上全局池化层和两个全连接层,构建自己的模型,实现代码如下:

3.3 freeze 原始VGG 模型

让VGG 结构当中的权重参数不参与训练,代码如下:

3.4 编译

编译(指定优化器,定义损失函数,定义准确率)、训练模型,在迁移学习中算法:学习率初始化较小的值:0.001,0.0001,因为在已训练好的模型基础之上更新,所以设置较小的学习率去学习。将训练好的模型保存为h5 文件格式,实现代码如下:

3.5 预测

加载训练的模型进行预测,加载待预测图片,将图片进行归一化处理等,进行测试。

4 结论

本文通过研究深度学习相关理论,利用Keras 框架实现了车辆类别的识别,在30 个epoch 后,训练集的测试精度达到了95%,测试集的精度也能达到90%左右,通过增加epoch,将bath_size 设置为64,128 后,没有使测试精度显著提高。后续笔者会尝试使用VGG19 模型,或者优化参数的选择,进一步研究提高模型性能的可能。

猜你喜欢
池化层梯度卷积
磁共振梯度伪影及常见故障排除探讨
基于应变梯度的微尺度金属塑性行为研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
改进深度卷积神经网络及其在变工况滚动轴承故障诊断中的应用
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
卷积神经网络的分析与设计
从滤波器理解卷积
一个具梯度项的p-Laplace 方程弱解的存在性
基于傅里叶域卷积表示的目标跟踪算法