一种轻量化的卷积神经网络行人识别方法与流程

文档序号:18871025发布日期:2019-10-14 19:34阅读:422来源:国知局
一种轻量化的卷积神经网络行人识别方法与流程

本发明属于模式识别技术领域,特别涉及一种轻量化的卷积神经网络行人识别方法。



背景技术:

近年来,随着与人工智能产业的兴起,交通运输等行业的不断发展,行人检测技术在智能监控、智能驾驶等领域得到了广泛的关注。传统的行人检测方法中,通过人工设计的特征提取器,例如haar、hog、lbp等从训练样本中提取行人特征,再用提取的行人特征训练svm等分类器,进行行人检测任务。例如可利用hog+lbp特征处理行人遮挡问题,来提高行人检测的准确率。随着icf、acf、梯度幅值特征,luv颜色特征等提出,行人特征获得了更好的表达,在行人检测任务中也取得了较好的成果。但通过手动设计的行人特征有着泛化性差、难以适应行人形态变化等缺点,在实际应用中困难重重。而近年来,随着深度学习的发展,特别是卷积神经网络在计算机视觉领域中的大量应用,结合卷积神经网络的行人识别方法得到了许多关注与应用。

专利号为201611146030.9的《特定场景下的行人检测方法》根据测试集选择合适的训练集;在训练集上标定检测框架所需要的监督信息,运用对抗网络来完成训练集中的行人标注;将训练集转化为voc形式输送至rfcn进行训练;最后将rfcn的训练模型对特定场景行人进行检测,此方法实时性不足,对硬件需求较高,在嵌入式设备中难以实现。

专利号为201810457285.x的《一种基于深度学习的实时的铁路口多摄像头行人检测方法》通过多个摄像头采集的视频,摄像头对重点监控区域重叠监控;选择需要检测的摄像头区域并获取该区域下的摄像头视频流;在gpu处理器集群中进行视频图像处理:首先将图像切割,然后用训练好的行人检测模型对切割后的图像进行检测;实时监控gpu处理器中的gpu使用情况并根据调度策略进行调度;计算行人区域坐标,获取当前时间戳并发送到用户客户端。一种基于深度学习的实时的铁路口多摄像头行人检测方法,将视频处理和深度学习相结合,并采用摄像头重叠监控的方法以提高铁路口行人检测的准确率。此方法需要搭建gpu处理器群,部署起来较为困难。

专利号为201810103970.2的《一种用于行人识别的方法》利用视频处理和深度学习技术,在行人数据集上训练卷积神经网络得到行人分类模型,并通过该模型实现待识别行人和数据库中行人的特征提取,最后通过特征度量和重排序方法得到候选行人列表,实现行人的识别。此方法利用了残差网络,因此存在网络参数量大,对存储容量要求较高等缺点。

论文《一种改进的卷积神经网络行人识别方法》提出一种实时的行人检测方法。以yolov3-tiny网络基础改变网络模型的输入尺寸;使用聚类分析方法,对数据集进行目标框聚类选取适合行人检测的候选框尺寸与数量;通过增加一定数量卷积层的方法重新设计特征提取和目标检测网络;最后在混合数据集上训练获得检测模型。此方法虽提升了行人检测的精度,但网络计算量依旧较大,在移动端进行部署较为困难。

综上所述,虽然国内外对基于卷积神经网络的行人检测有较多研究,但大都存在着网络参数过多、网络结构较复杂问题,对硬件设备和运行内存有较高要求。



技术实现要素:

本发明的目的,在于提供一种轻量化的卷积神经网络行人识别方法,其可在确保目标检测模型实时性的同时,提高识别精度,使网络模型可以在较低配置的硬件平台上运行。

为了达成上述目的,本发明的解决方案是:

一种轻量化的卷积神经网络行人识别方法,包括如下步骤:

步骤1,获取原始的行人数据,得到带有标记信息的行人图像,构建行人数据集;

步骤2,设计行人模型网络的输入尺寸,并根据设计的尺寸对数据集进行聚类,选择合适的候选框;

步骤3,对图像进行预处理,并通过数据增强方法扩充数据;

步骤4,构建卷积神经网络,并将经过步骤3预处理后并扩充的带有标记信息的图像分批送入网络,进行训练,得到具有行人识别功能的网络模型;

步骤5,当网络训练完成后,查看训练集上的损失值和准确率,若不够理想则调整学习率或增大迭代次数后再次训练,若结果理想则完成训练,转步骤6;

步骤6,将训练好的网络在验证集上进行测试,根据验证结果再次调整网络。

上述步骤1中,构建行人数据集的方法是:对inria数据集、voc数据集、mscoco数据集进行筛选,得到不同年龄、不同性别、不同形态的行人图像,并将行人在图像中的坐标作为标记信息,构建行人数据集。

上述步骤2中,对数据集中的行人图像进行标注,行人标注为0,记录标记框的坐标。

上述步骤3中,数据增强方法具体包括对图像进行随机曝光、调整图像饱和度、调整图像色调三种操作。

上述步骤4中,构建的卷积神经网络包括卷积层、池化层和检测层,其中:

卷积层结构:第一卷积层采用16个3×3大小的滤波器,步长为1,填充为1;第二深度可分离卷积层采用16个3×3大小的滤波器,步长为1,填充为1;第三卷积层采用32个1×1大小的滤波器,步长为1,填充为0;第一个池化层滤波器的大小为3×3,步长为2,用于下采样;第四深度可分离卷积层采用32个3×3大小的滤波器,步长为1,填充为1;第五卷积层采用64个1×1大小的滤波器,步长为1,填充为0;第二个池化层滤波器的大小为2×2,步长为2,用于下采样;第六深度可分离卷积层采用64个为3×3大小的滤波器,步长为1,填充为1;第七卷积层采用128个1×1大小的滤波器,步长为1,填充为0;第三下采样层滤波器的大小为2×2,步长为2,用于下采样;第八深度可分离卷积层采用128个为3×3大小的滤波器,步长为1,填充为1;第九卷积层采用256个为1×1大小的滤波器,步长为1,填充为0;第四池化层滤波器的大小为2×2,步长为2,用于下采样;第十深度可分离卷积层采用256个为3×3大小的滤波器,步长为1,填充为1;第十一卷积层采用512个为1×1大小的滤波器,步长为1,填充为0;第五池化层滤波器的大小为2×2,步长为2,用于下采样;第十二深度可分离卷积层采用512个为3×3大小的滤波器,步长为1,填充为1;第十三卷积层采用1024个为1×1大小的滤波器,步长为1,填充为0;第六池化层滤波器的大小为2×2,步长为1;第十四深度可分离卷积层采用1024个3×3大小的滤波器,填充为1;

检测层:分为两个尺度,尺度1:在基础网络之后添加三个卷积层进行预测,添加的卷积层中,第十五卷积层采用256个3×3大小的滤波器,步长为1,填充为1;第十六卷积层采用512个3×3大小的滤波器,步长为1,填充为1;第十七卷积层采用18个3×3大小的滤波器,步长为1,填充为1;

尺度2:从第十六卷积层进行2倍上采样,与第十一卷积层输出的为38×18的特征图相加,再添加三个卷积后进行预测,第十八卷积层采用128个3×3大小的滤波器,步长为1,填充为1;第十九卷积层采用256个3×3大小的滤波器,步长为1,填充为1;第二十卷积层采用18个3×3大小的滤波器,步长为1,填充为1。

上述检测层中,尺度1的特征图尺寸为19×9,并输出目标的类别与位置信息;尺度二的特征图尺寸为38×18,输出目标的类别与位置信息。

上述步骤5中,在训练过程中,计算训练集上的损失值和准确率,采用随机梯度下降算法进行反向传播,实现参数更新。

上述步骤5中,查看训练集上的损失值和准确率,期望loss值不高于20%,期望准确率不低于90%,召回率不低于85%,漏检率不高于15%。

上述步骤6的具体内容是:如果在训练集上效果很好而验证集上表现不好,则减小迭代次数或改变decay值,再次用训练集训练调整后的网络,返回步骤5。

采用上述方案后,本发明与现有技术相比,具有以下优点:

(1)以tiny-yolo为基础,改变网络模型输入的长宽比例,利用网络提取更多的横向特征,选择608×288分辨率的矩形图像作为网络输入,增加横向特征的提取效果,针对行人检测数据集中的目标框进行k-means聚类分析,有助于提升网络的行人识别的能力。

2、构造inria+voc+mscoco混合行人检测数据集,在混合行人检测数据集上训练网络模型,使网络模型的泛化性更强,检测效果更好。

3、将普通的3×3卷积层替换为3×3深度可分离卷积层来减少网络模型计算量,同时加深网络。由于3×3深度可分离卷积层的加入,将计算量降低为普通卷积模型的三分之一,减小行人检测模型运行对存储器容量和运行内存要求,增加行人识别能力的同时保证模型实时性。

本发明提出了一种轻量化的卷积神经网络行人识别方法技术,以tiny-yolo为基础,改变网络模型的输入尺寸,结合图像中行人尺寸特点,使用聚类分析方法,对数据集进行目标框聚类,选取适合行人检测的候选框尺寸与数量;将普通卷积层替换为深度可分离卷积层重新设计特征提取和目标检测网络;在混合数据集上训练,增强模型泛化性。

附图说明

图1是本发明的流程图;

图2是本发明网络模型结构图,包含网络层及每层输出;

其中,input:输入图像;conv:普通卷积层;depthwiseconv:深度可分离卷积层;ped-detection:检测层。

具体实施方式

以下将结合附图,对本发明的技术方案及有益效果进行详细说明。

如图1所示,本发明提供一种轻量化的卷积神经网络行人识别方法,包括如下步骤:

步骤1,获取原始的行人数据,对inria数据集、voc数据集、mscoco数据集进行筛选,得到不同年龄、不同性别、不同形态的行人图像,并将行人在图像中的坐标作为标记信息,构建行人数据集;

步骤2,设计行人模型网络的输入尺寸,并根据设计的尺寸对数据集进行聚类,选择合适的候选框;在本实施例中,由于增加横向特征表达有助于行人识别,因此改变行人模型网络输入的长宽比例,利用矩形输入网络提取更多的横向特征,同时为了避免输入图像分辨率对网络实时性的影响,选择608×288分辨率图像作为网络输入;对数据集中的行人图像进行标注,行人标注为0,记录标记框的坐标;

步骤3,对图像进行预处理,并通过数据增强方法扩充数据;其中,所述数据增强方法具体包括对图像进行随机曝光、调整图像饱和度、调整图像色调三种操作,通过数据增强对样本数据的补充,使得最终训练出的网络对于不同环境下的行人检测具有更好的鲁棒性,也能有效防止网络的过拟合;

步骤4,构建卷积神经网络,并将预处理后的图像送入网络进行训练,得到具有行人识别功能的网络模型;

如图2所示,构建的卷积神经网络包括卷积层、池化层和检测层,其中:

卷积层结构:第一卷积层采用16个3×3大小的滤波器,步长为1,填充为1;第二深度可分离卷积层采用16个3×3大小的滤波器,步长为1,填充为1;第三卷积层采用32个1×1大小的滤波器,步长为1,填充为0;第一个池化层滤波器的大小为3×3,步长为2,用于下采样;第四深度可分离卷积层采用32个3×3大小的滤波器,步长为1,填充为1;第五卷积层采用64个1×1大小的滤波器,步长为1,填充为0;第二个池化层滤波器的大小为2×2,步长为2,用于下采样;第六深度可分离卷积层采用64个为3×3大小的滤波器,步长为1,填充为1;第七卷积层采用128个1×1大小的滤波器,步长为1,填充为0;第三下采样层滤波器的大小为2×2,步长为2,用于下采样;第八深度可分离卷积层采用128个为3×3大小的滤波器,步长为1,填充为1;第九卷积层采用256个为1×1大小的滤波器,步长为1,填充为0;第四池化层滤波器的大小为2×2,步长为2,用于下采样;第十深度可分离卷积层采用256个为3×3大小的滤波器,步长为1,填充为1;第十一卷积层采用512个为1×1大小的滤波器,步长为1,填充为0;第五池化层滤波器的大小为2×2,步长为2,用于下采样;第十二深度可分离卷积层采用512个为3×3大小的滤波器,步长为1,填充为1;第十三卷积层采用1024个为1×1大小的滤波器,步长为1,填充为0;第六池化层滤波器的大小为2×2,步长为1;第十四深度可分离卷积层采用1024个3×3大小的滤波器,填充为1。

检测层:分为两个尺度,尺度1:在基础网络之后添加三个卷积层进行预测。添加的卷积层中,第十五卷积层采用256个3×3大小的滤波器,步长为1,填充为1;第十六卷积层采用512个3×3大小的滤波器,步长为1,填充为1;第十七卷积层采用18个3×3大小的滤波器,步长为1,填充为1。尺度一的特征图尺寸为19×9,并输出目标的类别与位置信息,对较大尺寸的行人有较好的识别能力;

尺度2:从第十六卷积层进行2倍上采样,与第十一卷积层输出的为38×18的特征图相加,再添加三个卷积后进行预测,第十八卷积层采用128个3×3大小的滤波器,步长为1,填充为1;第十九卷积层采用256个3×3大小的滤波器,步长为1,填充为1;第二十卷积层采用18个3×3大小的滤波器,步长为1,填充为1。尺度二的特征图尺寸为38×18,输出目标的类别与位置信息,对较小尺寸的行人有较好的识别能力。

在步骤4中,设定迭代次数和适当的学习率参数,其中迭代次数应该保证在迭代次数内网络可以收敛,即网络在训练集上的准确率和损失值趋于稳定。

步骤5,将带标记信息的图像分批送入网络,进行训练。其中每批包含的图像数量,结合硬件设施具体制定;这里使用gpu型号为gtxtitanxp,显卡内存12g,每批送入64张;训练过程中,计算训练集上的损失值和准确率,采用随机梯度下降算法进行反向传播,实现参数更新;

步骤6,当网络训练完成后,查看训练集上的损失值和准确率,期望loss值不高于20%,期望准确率不低于90%,召回率不低于85%,漏检率不高于15%。若不够理想可通过调整学习率或者增大迭代次数再次训练,若结果理想完成训练。

步骤7,将训练好的网络在验证集上进行测试,根据验证结果再次调整网络。如果在训练集上效果很好而验证集上表现不好,可减小迭代次数或者尝试改变decay值,再次用训练集训练调整后的网络,即回到步骤5;

步骤8,将训练好的网络模型在验证集上进行批量测试,最终网络模型loss为15%,map达到92%,召回率达到93%,漏检率为7%,对不同尺寸的行人以及部分遮挡的行人有更好的检测效果。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1