一种改进两阶段目标检测的方法

文档序号:116045 发布日期:2021-10-19 浏览:14次 >En<

阅读说明:本技术 一种改进两阶段目标检测的方法 (Method for improving two-stage target detection ) 是由 段强 李雪 李锐 王建华 于 2021-05-12 设计创作,主要内容包括:本发明特别涉及一种改进两阶段目标检测的方法。该改进两阶段目标检测的方法,先使用大规模的数据集对卷积神经网络进行预训练,提升特征识别能力;然后用预训练模型替换Faster RCNN的骨干网络VGG16,使用目标检测数据集对FasterRCNN网络中的分类层和RPN网络进行微调,以增强负责特征提取的卷积网络能力,进而提升分类层和RPN网络的性能。该改进两阶段目标检测的方法,运用开源常用的开发语言和库,与模型进行进一步优化,提高了负责特征提取的卷积网络能力,从而显著提升了两阶段目标检测的精度。(The invention relates in particular to a method for improving two-stage target detection. The improved two-stage target detection method includes the steps that firstly, a large-scale data set is used for pre-training a convolutional neural network, and the feature recognition capability is improved; and then, replacing the backbone network VGG16 of the fast RCNN with a pre-training model, and finely adjusting a classification layer and an RPN network in the fast RCNN by using a target detection data set so as to enhance the capability of a convolution network responsible for feature extraction and further improve the performances of the classification layer and the RPN network. According to the method for improving the two-stage target detection, the open-source common development language and the library are used, the model is further optimized, the capability of the convolution network responsible for feature extraction is improved, and therefore the precision of the two-stage target detection is remarkably improved.)

一种改进两阶段目标检测的方法

技术领域

本发明涉及深度学习与计算机视觉技术领域,特别涉及一种改进两阶段目标检测的方法。

背景技术

目标检测的任务就是确定图像当中是否有感兴趣的目标存在,接着对感兴趣的目标进行精准定位。当下非常火热的无人驾驶汽车,就非常依赖目标检测和识别,这需要非常高的检测精度和定位精度。目前,用于目标检测的方法通常属于基于机器学习的方法或基于深度学习的方法。

对于机器学习方法,首先使用SIFT、HOG等方法定义特征,然后使用支持向量机(SVM)、Adaboost等技术进行分类。

对于深度学习方法,深度学习技术能够在没有专门定义特征的情况下进行端到端目标检测,并且通常基于卷积神经网络(CNN)。但是传统的目标检测方法有如下几个问题:

1)光线变化较快时,算法效果不好;

2)缓慢运动和背景颜色一致时不能提取出特征像素点;

3)时间复杂度高;

4)抗噪性能差。

因此,基于深度学习的目标检测方法得到了广泛应用,该框架包含有FasterRCNN网络,Yolo网络,Mask R-CNN网络等。

当前绝大多数卷积神经网络训练都是基于ISLVRC 2012的ImageNet-1000数据集,而随着数据逐年增长和新模型的逐年开发,基于该数据集的预训练模型已经明显不适用于愈发复杂的任务。而目标检测方法是基于卷积神经网络的特征提取功能加上目标框搜索的功能,一个更好的特征提取器有助于提升目标检测各个阶段的表现。

目前诸如Inception模型、ResNet模型、DenseNet模型、EfficientNet模型等,均是参数量大、结构复杂、层数较深的网络,而ISLVRC 2012的ImageNet部分数据集已经不足以使网络训练到位。

为了有效提升目标检测的精度和识别能力,本发明提出了一种改进两阶段目标检测的方法。

发明内容

本发明为了弥补现有技术的缺陷,提供了一种简单高效的改进两阶段目标检测的方法。

本发明是通过如下技术方案实现的:

一种改进两阶段目标检测的方法,其特征在于:包括以下步骤:

第一步、数据集处理与预训练模型优化

使用大规模的数据集对卷积神经网络进行预训练,提升特征识别能力;

第二步、用预训练模型替换骨干网络

用预训练模型替换Faster RCNN的骨干网络VGG(Visual Geometry GroupNetwork,视觉几何群网络)16,使用目标检测数据集对FasterRCNN网络中的分类层和RPN(RegionProposal Network,区域生成网络)网络进行微调,以增强负责特征提取的卷积网络能力,进而提升分类层和RPN网络的性能。

所述第一步中,采用ImageNet全量数据对ResNet模型进行预训练,并对预训练模型进行保存。

所述第一步中,基于ISLVRC 2012的ImageNet-1000全量数据集对ResNet-50模型,ResNet-101模型或ResNet-152模型进行预训练。

所述第一步中,下载ImageNet-1000全量数据集并将其处理成TFRecord格式备用。

所述第一步中,优化器(Optimizer)使用SGD(Stochastic Gradient Descent,随机梯度下降)算法对预训练模型进行优化。

所述第一步中,将初始学习率(learning rate)设为0.03,前五千步使用warm-up策略,学习率乘以一个预设的系数(即动量),将动量(momentum)设为0.9,对数据进行随机镜像翻转。

所述第一步中,在第10,30,60和80轮优化时对学习率进行衰减,衰减率为0.0001,将总批量(Global batch)设为4096,分布在8块NVIDIA Tesla V100计算卡上。

所述第一步中,在预训练优化结束后,将模型迁移到下游任务中时,使用MixUp数据增强,但不使用正则化方法,包括Weight Decay(权重衰减)正则化及Dropout(丢弃)正则化。

本发明的有益效果是:该改进两阶段目标检测的方法,运用开源常用的开发语言和库,与模型进行进一步优化,提高了负责特征提取的卷积网络能力,从而显著提升了两阶段目标检测的精度。

具体实施方式

为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

FasterRCNN网络可以分为4个主要内容:

基础卷积层(CNN):作为一种卷积神经网络目标检测方法,FasterRCNN首先使用一组基础的卷积网络提取图像的特征图。特征图被后续RPN层和全连接层共享。本示例采用ResNet-50作为基础卷积层。

区域生成网络(RPN):RPN网络用于生成候选区域(proposals)。该层通过一组固定的尺寸和比例得到一组锚点(anchors),通过softmax判断锚点属于前景或者背景,再利用区域回归修正锚点从而获得精确的候选区域。

RoI Pooling:该层收集输入的特征图和候选区域,将候选区域映射到特征图中并池化为统一大小的区域特征图,送入全连接层判定目标类别,该层可选用RoIPool和RoIAlign两种方式,在config.py中设置roi_func。

检测层:利用区域特征图计算候选区域的类别,同时再次通过区域回归获得检测框最终的精确位置。

FasterRCNN网络的目标检测流程如下:

(1)输入测试图像;

(2)将整张图片输入CNN,进行特征提取;

(3)用RPN生成建议窗口(proposals),每张图片生成300个建议窗口;

(4)把建议窗口映射到CNN的最后一层卷积feature map上;

(5)通过RoI pooling层使每个RoI生成固定尺寸的feature map;

(6)利用Softmax Loss(探测分类概率)和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练。

该改进两阶段目标检测的方法,包括以下步骤:

第一步、数据集处理与预训练模型优化

使用大规模的数据集对卷积神经网络进行预训练,提升特征识别能力;

第二步、用预训练模型替换骨干网络

用预训练模型替换Faster RCNN的骨干网络VGG(Visual Geometry GroupNetwork,视觉几何群网络)16,使用目标检测数据集对FasterRCNN网络中的分类层和RPN(RegionProposal Network,区域生成网络)网络进行微调,以增强负责特征提取的卷积网络能力,进而提升分类层和RPN网络的性能。

实验证明,使用更大的数据集去训练网络可以让模型得到更好的优化,进而在深度学习各个下有任务中精度得到显著提升。在大规模数据集中,ImageNet全量数据:共两万一千多类,一千四百万张图像;OpenImage数据集包括六千多类,九百万张图像;JFT数据集包括一千七千个类,三亿五千张图像。为了保证预训练精度,所述第一步中,采用ImageNet全量数据对ResNet模型进行预训练,并对预训练模型进行保存。

所述第一步中,基于ISLVRC 2012的ImageNet-1000全量数据集对ResNet-50模型,ResNet-101模型或ResNet-152模型进行预训练。

所述第一步中,下载ImageNet-1000全量数据集并将其处理成TFRecord格式备用。

所述第一步中,优化器(Optimizer)使用SGD(Stochastic Gradient Descent,随机梯度下降)算法对预训练模型进行优化。

所述第一步中,将初始学习率(learning rate)设为0.03,前五千步使用warm-up策略,学习率乘以一个预设的系数(即动量),将动量(momentum)设为0.9,对数据进行随机镜像翻转。

所述第一步中,在第10,30,60和80轮优化时对学习率进行衰减,衰减率为0.0001,将总批量(Global batch)设为4096,分布在8块NVIDIA Tesla V100计算卡上。

所述第一步中,在预训练优化结束后,将模型迁移到下游任务中时,使用MixUp数据增强,但不使用正则化方法,包括Weight Decay(权重衰减)正则化及Dropout(丢弃)正则化。

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

5页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种藏文古籍文档图像版面分割、识别方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!