具有分辨率适应性的深度卷积神经网络构建方法及应用与流程

文档序号:18902120发布日期:2019-10-18 22:05阅读:167来源:国知局
具有分辨率适应性的深度卷积神经网络构建方法及应用与流程
本发明属于数字图像处理及深度学习领域,涉及一种深度卷积神经网络的算法模型设计,具体涉及一种具有分辨率适应性的深度卷积神经网络。
背景技术
:数字图像分析技术在当今社会发挥着重要作用,其中图像目标检测技术是一个重要的组成部分。目前目标检测技术的发展已经逐渐抛弃传统数字图像处理的手工设计算法的方案,转而使用深度学习,以卷积神经网络(convolutionalneuralnetwork,cnn)为代表,以达到高准确率的目标检测结果。深度学习革命爆发在2011~2012年,深度学习革命使得计算机视觉在很多应用领域达到了实用水平,催生了工业界的大量应用。其最重要的原因是深度学习可以做到传统方法无法企及的精度,尤其是基于卷积神经网络cnn的深度学习模型,现在已经成为计算机视觉的主流方法。卷积神经网络是一种常见的深度学习网络架构,受生物自然视觉认知机制启发而来。cnn能够得出原始图像的有效表征,这使得cnn能够直接从原始像素中,经过极少的预处理,捕获到视觉上面的规律。目标检测是当前最热的话题之一,它需要对很多对象进行分类和定位。基于深度学习的目标检测,主要有两类模型:对于单张图像中的目标检测,使用基于regionproposal的检测方法,以fasterrcnn为代表的two-stage方案,能够达到很高的准确率;考虑到two-stage方案的效率不够高,针对实时场景的yolo、ssd等one-stage算法应运而生,在保持相对不错的准确率的情况下,可以快速对图像进行目标检测。然而,对于现有的cnn模型,普遍使用统一的图像数据输入,无论实际场景下的图像分辨率如何,都要求图像在输入模型之前全部统一为同一种或几种预先设定的分辨率。这种做法对算法的实际应用是一种巨大的限制。这种限制的存在,不可避免对图像进行缩放、拉伸、切割等操作,导致图像内的对象变形,像素信息大量损失。对于小分辨率图像来说,扩大分辨率则插入了冗余信息,增加了额外计算负担;对于大分辨率图像来说,缩小图像又浪费了宝贵的图像信息,造成准确率下降。在同一分辨率的过程中还会对图像的长宽比进行调整,因此也影响到图像内目标的几何形状,降低算法的检测效果,与统一形状差异较大的图像甚至不能应用该算法。技术实现要素:为解决上述问题,提供一种能够兼容各种分辨率图像,并适配目标尺度特征进行目标检测的具有分辨率适应性的深度卷积神经网络的构建方法,本发明采用了如下技术方案:本发明提供了一种具有分辨率适应性的深度卷积神经网络构建方法,用于构建能够适配各种分辨率的目标图像的尺度特征的深度卷积神经网络模型,其特征在于,包括如下步骤:步骤s1,根据目标图像设定多个目标尺度形成尺度等级,并根据尺度等级设定目标检索步长;步骤s2,获取训练图像,并根据训练图像的尺寸的阶,将训练图像进行标准化处理从而得到标准化训练图像;步骤s3,设计用于适应多分辨输入和多尺度目标检测的深度卷积神经网络模型,并通过标准化训练图像对深度卷积神经网络模型进行训练从而得到可执行的深度卷积神经网络模型,其中,步骤s3中的深度卷积神经网络模型包括:特征图提取部分,用于对输入深度卷积神经网络模型的输入图像执行非降采样的卷积神经网络操作,从而得到分辨率不变的特征图;逐级降采样部分,用于将特征图进行逐级降采样并运算出对应输入图像的初步预测数据,该初步预测数据包括预置信度、目标分类及目标定位;分支卷积运算部分,用于将特征图根据尺度等级,做相应的分支卷积运算从而得到对应输入图像的注意力预测数据,分支卷积运算的卷积核大小及步长与尺度等级相适应;预测输出部分,用于将注意力预测数据与预置信度相作用从而得到目标置信度预测数据,进一步将该目标置信度预测数据与目标分类、目标定位整合作为对应输入图像的预测结果并输出,特征图提取部分中,在根据输入图像提取特征图的阶段中使用池化算法时,会交替执行padding操作,从而提取到分辨率不变的特征图。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,在步骤s1中,尺度等级的设定方法为:根据神经网络的性能估算出可检测的目标图像的最小分辨率并作为最小等级,进一步以最小等级为首,将分辨率的高与宽逐级扩大2倍,得到其他的尺度等级,直到最大等级的分辨率在下一次扩大时会超过目标图像的最大可能分辨率,各个尺度等级中,目标图像的基本形状为正方形时,目标尺度的高和宽必须为2的整数次幂;基本形状为其他形状时,目标尺度的形状面积与基本形状为正方形时的目标尺度的形状面积相同。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,目标检索步长与目标尺度相关,在步骤s1中,目标检索步长的计算方法为:若目标图像为正方形,且该目标图像的边长为l,则目标检索步长step为:式中,n=2n,n为整数,并且目标检索步长step的值也为整数。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,尺度等级的最小等级为阶的整数倍,在步骤s2中,标准化处理的方法为:训练图像的高和宽为h、w,设所述阶的大小为s,要求标准化后的标准化图像的高h’、宽w’满足:式中,m,n∈n+,根据图像分辨率调整方法将训练图像的分辨率由h×w调整为h’×w’,得到标准化训练图像。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,图像分辨率调整方法为:根据训练图像的实际分辨率将该训练图像向最靠近的标准分辨率进行缩放,将某一个长度l标准化到最小目标边长lmin的整数倍,其计算函数为:式中,r=lmodlmin,l/lmin表示l与lmin相除的整数部分,得到标准化训练图像的分辨率为:进一步采用插值算法将训练图像转化为标准化训练图像。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,图像分辨率调整方法为:使用padding方法,对训练图像补充padding像素从而达到较大的标准分辨率,并将训练图像的高h和宽w分别预设为大于各自的最小l整数倍,在图像不足分辨率的部分添加像素padding,从而得到分辨率为h’×w’的标准化训练图像。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,逐级降采样部分中,特征图不断以2×2的倍数缩小分辨率进行逐级降采样,当缩小倍数达到某个尺度等级的目标检索步长时,执行对应该尺度等级的目标检测预测,从而输出输入图像的初步预测数据。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,分支卷积运算部分中,若目标尺度等级有m个,就执行m个注意力运算的分支,对原分辨率的特征图执行卷积运算,卷积核的大小等于尺度等级的尺度的大小,卷积步长等于目标检索步长。本发明提供的具有分辨率适应性的深度卷积神经网络构建方法,还可以具有这样的技术特征,其中,预测输出部分中,将注意力预测数据与预置信度数据相作用的过程采用相乘、相加或是互相关等运算。本发明还提供了一种具有分辨率适应性的深度卷积神经网络构建方法在目标检测分析中的应用,其特征在于,包括:模型存储部,存储有通过权利要求1至9中任意一项的具有分辨率适应性的深度卷积神经网络构建方法构建的深度卷积神经网络模型;检测图像获取部,用于获取待检测图像;图像检测部,用于将待检测图像输入深度卷积神经网络模型从而得到预测结果,预测结果处理输出部,用于对预测结果进行处理得到目标检测结果并进行输出。发明作用与效果根据本发明的具有分辨率适应性的深度卷积神经网络构建方法,由于根据目标图像可能的分辨率范围设定尺度等级,从而根据该尺度等级计算相应的目标检索步长,进一步构建并训练具有特征图提取部分、逐级降采样部分、分支卷积运算部分以及预测输出部分的深度卷积神经网络模型,因此通过上述方法最终得到的模型能够兼容各种分辨率图像,避免输入数据归一化带来的弊端。本发明所构建的深度卷积神经网络模型能免去一般卷积神经网络对数据格式统一的苛刻要求:对于小分辨率图像,该模型避免了冗余数据的加入,避免额外计算负担;对于大分辨率图像,该模型防止缩小后带来的信息量损失,充分利用像素信息执行运算。另外,本发明模型中的特征图提取部分能够在提取特征图时不改变原图分辨率,同时在多尺度目标检测中加入注意力机制,从而能够更充分利用图像信息,并对小目标有更好的检测效果。附图说明图1是本发明实施例中深度卷积神经网络模型的构建及使用过程的流程图;图2是本发明实施例中以分辨率512×512的输入、目标尺度为128×128的step示意图;以及图3是本发明实施例中深度卷积神经网络模型的架构图。具体实施方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的具有分辨率适应性的深度卷积神经网络作具体阐述。<实施例>本实施例实现的平台,操作系统为ubuntu16.04,深度学习框架使用pytorch1.01,图形处理库使用opencv3.2.0,cuda版本为9.0,图像加速计算单元使用nvidia1080tigpu。本实施例中,以pascalvoc数据集为处理对象,深度学习模型需要先经过训练并测试通过得以成型,然后应用到实际场景中。深度卷积神经网络的设计与数据集的具体情况相关。有关深度学习模型的训练、测试和实际应用与通用深度学习应用并无差异,因此本实施例以对具有分辨率适应性的深度卷积神经网络模型的设定及训练过程为主,介绍该深度卷积神经网络模型(下文中“模型”与“深度卷积神经网络模型”表示相同含义)的构建方法及构成。图1是本发明实施例中深度卷积神经网络模型的构建及使用过程的流程图。如图1所示,具有分辨率适应性的深度卷积神经网络模型的构建及使用过程包括如下步骤:步骤s1,根据目标图像设定多个目标尺度形成尺度等级,并针对每个尺度等级设定目标图像的目标检索步长。本实施例的步骤s1中,目标图像为待检索的图像,采用pascalvoc数据集作为目标图像,根据pascalvoc数据集的具体情况,所有图片的宽和高均在500像素以内,且图像的形状仅为正方形。本实施例中,尺度等级的设定方法为:根据神经网络的性能估算出可检测的目标图像的最小分辨率并作为最小等级,进一步以最小等级为首,将分辨率的高与宽逐级扩大2倍,得到其他的尺度等级,直到最大等级的分辨率在下一次扩大时会超过目标图像的最大可能分辨率。当以正方形作为目标的基本形状时,其长和宽必须为2的整数次幂。因此对于pascalvoc数据集,将目标尺度作如下设计:32×32、64×64、128×128、256×256四种尺度等级,每种等级仅设计一种形状,即正方形。本实施例的步骤s1中,目标检索步长与目标尺度相关,目标检索步长(step)的设定方法为:以正方形的目标为例,若其边长为l,则step为:其中,n=2n,n为整数,并且step值也为整数。因此对于pascalvoc数据集,根据公式(1)针对每个目标尺度等级,设定目标检索步长(step):step的大小按目标边长的1/8计算,各尺度等级与目标检索步长的对应如表1所示:表1各尺度等级与步长尺度等级stepsize32×32464×648128×12816256×25632图2是以输入分辨率512×512的数据为例,l=128的step计算原理,在整个途中要将128×128等级的目标检索完全。在其他实施例中,以其它形状作为目标形状时,可以根据每个尺度等级的目标尺度计算其尺度面积,各个尺度的尺度面积与正方形的尺度面积相同。同时,对于同尺度的目标,步长相同。因此在其它形状作为目标形状时,其步长可以根据正方形的尺度等级以及目标检索步长进行相应的设定。步骤s2,获取训练图像,并根据训练图像的尺寸的阶,将训练图像进行标准化处理从而得到标准化训练图像。本实施例中,训练图像为从pascalvoc数据集中随机获取的部分图像,该训练图像的尺寸的阶与尺度等级的最小等级有关,一般来说,最小尺度应为阶的整数倍,本实施例中标准化的阶采用最小尺度的1倍大小,在其他实施例中,标准化的阶可以不限于本实施例所采用的1倍大小。本实施例中,训练图像分辨率的高和宽是最小尺度目标(以正方形为标准)边长的整数倍。在步骤s2执行图形标准化操作时,训练图像的高和宽为h、w,设最小尺度的目标边长为l,则标准化后图像的尺寸高h’、宽w’需要满足:其中,m,n∈n+。为求得标准化训练图像的尺寸,并改变训练图像的尺寸从而完成标准化处理,本实施例提供了以下两种方法:方法一,根据实际分辨率将图像向最靠近的标准分辨率进行缩放。将一个长度l标准化到最小目标边长l的整数倍,其计算函数为:其中,r=lmodlmin,l/lmin表示l与lmin相除的整数部分。则标准化的图像分辨率为:进一步,使用主流的插值算法将训练图像根据通过公式(3)、(4)计算得到的尺寸转化为标准分辨率。方法二,为图像补充padding像素,达到较大的标准分辨率。将图像的高和宽分别预设为大于各自的最小l整数倍,在图像不足分辨率的部分添加像素padding,可以使用但不限于填充黑色像素、拷贝最近像素值的padding方法。本实施例中,采取方法一,根据训练图像的实际分辨率将图像向最靠近的标准分辨率(即尺度等级)进行缩放:根据公式(3)将高和宽全标准化到最小目标边长l的整数倍,并将训练图像使用opencv缩放到标准化的尺寸形成标准化训练图像,从而作为深度模型的输入图像。在其他实施例中,可以采用但不限于上述的方法一以及方法二对图像进行标准化处理。步骤s3,设计用于适应多分辨输入和多尺度目标检测的深度卷积神经网络模型,并通过标准化训练图像对深度卷积神经网络模型进行训练从而得到可执行的深度卷积神经网络模型。本实施例的步骤s3中,模型的训练过程为常规的神经网络模型训练过程,即:通过输入标准化训练图像并执行模型算法和反向传播不断更新模型参数,进一步使用测试集对模型的性能进行测试,最终达到完成训练的条件,使模型成型。本实施例中,适应多分辨输入和多尺度目标检测的深度卷积神经网络模型能够对输入的图像执行如下模型算法:通过卷积操作提取到分辨率不变的特征图(featuremaps),然后对特征图(featuremaps)逐级降采样,同时作预测运算,获得全部目标预测数据。图3是本发明实施例的深度卷积神经网络模型的架构图。如图3所示,图中描述了深度卷积神经网络模型的整体架构,并说明了算法前向传播的整体数据流向。输入图像(以下或称“目标”)在提取特征图(featuremaps)过程中,分辨率不变;然后通过最上面的支路提取不同分辨率等级的特征图(featuremaps),同时通过其它支路计算注意力;最终将不同等级的计算数据与对应的注意力相乘,得出预测结果。本实施例中,以图3为具体实施结构,各层参数如下表2所示:表2本发明实施例的卷积神经网络模型各层参数表中,in_channel表示输入数据的通道数;out_channel表示输出数据的通道数;kernel_size表示卷积核大小;stride表示卷积步长;padding表示padding大小;groups表示group卷积的group数量。本实施例中,深度卷积神经网络模型可分为特征图提取部分1、逐级降采样部分2、分支卷积运算部分3以及预测输出部分4。特征图提取部分1用于执行非降采样的卷积神经网络操作,得到分辨率不变的特征图(featuremaps)。本实施例中,该特征图提取部分1采用通道分离的卷积方法,从而保证features提取操作前后分辨率不变。其features提取操作中使用max池化(pooling)操作,由于stride=1的池化(pooling)操作会导致分辨率在横纵方向上各减少1个像素;如果池化(pooling)中使用padding=1的操作,会在横纵方向各增加2个像素。因此特征图提取部分1中的池化(pooling)使用交替padding的操作。具体结构参考表2。逐级降采样部分2与分支卷积运算部分3进行的是并行操作,即,特征图提取部分1的数据流向有两大分支:特征图(featuremaps)逐级降采样,同时执行初步目标检测;特征图(featuremaps)做不同尺度的注意力检测。该注意力检测能够与初步目标检测相互作用得出目标检测预测。逐级降采样部分用于将特征图(featuremaps)逐级降采样,通过卷积模型运算出初步预测数据,该初步预测数据包括预置信度、目标分类及目标定位。本实施例中,当逐级降采样部分2降采样的倍数等于某一尺度的目标的step值时,执行该尺度目标的预测操作,输出预置信度、目标分类及目标定位。图3中上半部分是模型的逐级降采样部分2中特征图(featuremaps)逐级降采样过程。根据步骤s1中不同尺度等级所对应的步长,在降采样的过程中分别执行初步的目标检测predict。predict对于一个具体目标框,数据结构为预置信度(1位)、目标分类(classnumber位)及目标定位(4位)。pascalvoc数据集的classnumber为20,因此一个目标框预测数据为1+20+4=25位。以32×32尺度的目标为例,其step=4。在特征图(featuremaps)降采样2次,maps的分辨率缩小到此时对32×32尺度的目标进行初步预测,使用8×8的卷积对maps进行处理,则整张图执行了全部32×32尺度的目标初步检索和预测。以输入分辨率512×512的数据为例,全部32×32尺度的目标共有121×121个,因此初步预测数据的形状为[121,121,25]。依次类推,64×64尺度的目标,step=8,在特征图(featuremaps)进一步降采样之后(分辨率缩小到)执行初步预测;128×128尺度的目标,step=16,再进一步降采样,分辨率缩小到执行初步预测;256×256尺度的目标,step=16,再进一步降采样之后,分辨率缩小到执行初步预测。分支卷积运算部分3用于将特征图(featuremaps)根据目标尺度数,做相应的分支卷积运算,从而输出目标的注意力预测数据。该分支卷积运算的卷积核大小及步长与相应的目标尺度相适应。本实施例中,分支卷积运算部分3对原分辨率的特征图(featuremaps)执行卷积运算,不同尺度的目标对应于不同的运算分支,得到运算结果与逐级降采样部分2中当前目标尺度等级的初步预测数据的形状相吻合。以尺度为l×l的目标为例,其对应的step值为a,特征图(featuremaps)分辨率即输入图像的分辨率为h×w,则注意力预测数据的矩阵的高hatte和宽watte为:具体地,以32×32尺度的目标为例,使用size为32×32的卷积核,卷积步长为4(即此等级目标对应的step大小)进行卷积运算,得到注意力的矩阵,其分辨率与逐级降采样部分2中32×32尺度的目标的初步预测结果的分辨率一致。以输入分辨率512×512的数据为例,全部32×32尺度的目标的注意力预测数据的形状为[121,121,1]。依次类推,计算其他尺度目标对应的注意力预测数据。64×64尺度的目标,卷积核大小为64×64,卷积步长为8;128×128尺度的目标,卷积核大小为128×128,卷积步长为16;256×256尺度的目标,卷积核大小为256×256,卷积步长为32。输出预测部分4用于将分支卷积运算部分3得到的注意力预测数据与相应目标的预置信度数据相乘,得到目标置信度预测数据,并与目标分类、目标定位的预测数据整合作为目标的预测输出。本实施例中,由于注意力预测数据与目标检测初步预测数据的形状(分辨率)相匹配,对于一个具体的目标预测,注意力为1个数据,初步预测为25个数据(预置信度+目标种类+目标定位),只需将注意力与预置信度相乘即可。本实施例中,输出预测部分4将注意力预测数据与预置信度数据相乘作为预测结果的一部分。在其他实施例中,输出预测部分4还能够采用相加或是互相关等运算计算注意力预测数据与预置信度数据并作为预测结果的一部分。本实施例中,通过步骤s1至s3构建并训练深度卷积神经网络模型,将预测数据与数据集提供的标签数据进行loss运算,通过不断地学习更新模型参数,最终完成模型的训练,形成可执行的深度模型,进一步即可在步骤s4中将该深度卷积神经网络模型应用到实际场景中。步骤s4,根据步骤s3中训练所获得的模型,对待检测数据执行算法得到目标检测结果。本实施例中,步骤s4是对训练得到的深度模型的实际应用。当输入待分析的图像时,先将该待分析图像按照步骤s2中的方法一进行标准化,然后将标准化的待分析图像输入模型得到预测结果(predict数据),最后对预测结果进行处理得到目标检测结果。本实施例中,对待分析图像进行标准化的过程与步骤s2中对训练图像进行标准化的过程相同,在此不再赘述。实施例作用与效果根据本实施例提供的具有分辨率适应性的深度卷积神经网络构建方法,由于根据目标图像可能的分辨率范围设定尺度等级,从而根据该尺度等级计算相应的目标检索步长,进一步构建并训练具有特征图提取部分、逐级降采样部分、分支卷积运算部分以及预测输出部分的深度卷积神经网络模型,因此通过上述方法最终得到的模型能够兼容各种分辨率图像,避免输入数据归一化带来的弊端。本发明所构建的深度卷积神经网络模型能免去一般卷积神经网络对数据格式统一的苛刻要求:对于小分辨率图像,该模型避免了冗余数据的加入,避免额外计算负担;对于大分辨率图像,该模型防止缩小后带来的信息量损失,充分利用像素信息执行运算。另外,本发明模型中的特征图提取部分能够在提取特征图时不改变原图分辨率,同时在多尺度目标检测中加入注意力机制,从而能够更充分利用图像信息,并对小目标有更好的检测效果。实施例中,由于在设定尺度等级时,根据估算的最小等级,将分辨率的高与宽逐级扩大2倍形成其他的尺度等级,因此使得模型不仅能够更好的适应不同分辨率的输入图像,同时在设定步长以及进行卷积运算时采用的参数也能更容易设定。实施例中,由于在计算目标检测步长时,通过根据公式(1)结合目标尺度计算目标检测步长,因此能够得到恰当的step值,该恰当的step值既保证了目标检测与目标大小相关,又保证整张图片完全检索。上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1