卷积神经网络适用于识别多种尺寸图片的方法
【技术领域】
[0001]本发明属于人工智能和模式识别技术领域,具体涉及一种卷积神经网络适用于识别多种尺寸图片的方法。
【背景技术】
[0002]卷积神经网络(Convolut1nal Neural Network,CNN)是一种前馈神经网络,与传统的BP神经网络相比,具有识别效率高、旋转缩放不变性好等优点,已在数字及人脸识别等各个领域得到了广泛的应用。
[0003]传统卷积神经网络模型的应用原理为:
[0004]首先,根据待输入图像的属性设计卷积神经网络模型架构,所设计的卷积神经网络模型架构为多层结构,包括1个输入层,在输入层之后,按各种顺序排布有若干个卷积层和若干个降采样层,最后为输出层。其中,输入层用于接收原始图像;每个卷积层包括多个相同尺寸的特征图,并且,每个特征图的像素,对应于前一层指定的若干特征图相应窗口位置的像素集合;每个降采样层包括多个相同尺寸的特征图,并且,降采样层的每张特征图,对应于前一层卷积层的一张特征图,降采样层的特征图像素对应于前一层相应特征图的采样区域。某一层节点与前一层节点和后一层节点之间通过边相互连接。
[0005]在搭建得到上述具有特定网络架构的卷积神经网络模型后,当需要识别某一图片时,需要对上述的卷积神经网络模型进行训练,训练过程为:初始化卷积神经网络模型的参数为随机值,包括:边的权重值以及卷积核的值等;然后,将训练样本输入卷积神经网络模型,对卷积神经网络模型反复“刺激”,不断调整边的权重值以及卷积核的值等,直到训练得到可识别该图片的卷积神经网络模型。在后续应用中,只需要将待分析图片或其他样本输入到训练好的卷积神经网络模型中,即可达到分类和智能识别的目的。
[0006]由此可见,卷积神经网络模型的应用主要包括两大步骤:第1个步骤为卷积神经网络模型架构的搭建过程;第2个步骤为:对所搭建的卷积神经网络模型架构进行训练的过程。
[0007]在采用卷积神经网络模型进行分类和智能识别中,卷积神经网络模型架构的搭建过程为基础过程,如果卷积神经网络模型架构搭建不成功,会导致后续训练过程无法收敛,因此,必需搭建得到一种可收敛可训练的卷积神经网络模型架构。
[0008]由于每一种卷积神经网络模型架构都是用于对特定尺寸样本的识别,因此,当用户需要对所需尺寸样本进行识别时,就必须搭建适合所需尺寸样本的卷积神经网络模型架构。但是,由于卷积神经网络模型架构通常较复杂,包括多种模型架构参数,例如:网络架构的总层数、卷积层数量、降采样层数量、卷积层和降采样层的排列顺序、卷积核尺寸和降采样比例等。并且,由于卷积神经网络模型架构参数无法通过现有的公式推导。因此,用户只能通过大量的实验和经验确定卷积神经网络模型架构参数,该方法不仅耗费用户大量的时间,并且,经过大量时间尝试后,所搭建得到的卷积神经网络模型架构还可能是不可训练和不可收敛的,无法达到对所需尺寸样本进行智能识别的目的。
[0009]此外,还有一种解决方法为:
[0010]由于现有技术已公开发表几种用于识别特定尺寸样本的卷积神经网络模型架构,例如,用于识别28*28尺寸图片;因此,如果用户需要识别的样本尺寸与28*28尺寸图片不符,例如,为64*128尺寸图片,此时,用户还可采用的方法为:将64*128尺寸图片缩小到28*28尺寸图片,然后,再采用已发表的卷积神经网络模型架构进行训练和识别。该种方法存在的主要问题为:虽然能够解决对待识别图片的分类识别目的,但是,由于需要对待识别图片进行缩放,会降低待识别图片的像素,增加后续模型训练的难度,也降低了图片识别的精度。
[0011]可见,如何能够快速对所需尺寸样本进行智能识别,具有重要意义,现有技术尚未见有效的解决方法。
【发明内容】
[0012]针对现有技术存在的缺陷,本发明提供一种卷积神经网络适用于识别多种尺寸图片的方法,可有效解决上述问题。
[0013]本发明采用的技术方案如下:
[0014]本发明提供一种卷积神经网络适用于识别多种尺寸图片的方法,包括以下步骤:
[0015]步骤1:已知一种用于识别w*h尺寸样本的可训练的卷积神经网络模型架构;其中,将w*h尺寸样本记为样本Cl,w为样本Cl的长度;h为样本Cl的宽度;已知可训练的卷积神经网络模型架构的模型架构参数均已知,特别包括以下模型架构参数:在输入层之后的第1个卷积层中,包括的特征图数量为n,第1卷积层所采用的卷积核尺寸为m*m ;其中,η和m均为自然数;
[0016]步骤2:设待分类识别的样本的原始尺寸为W*H ;其中,W为待分类识别样本的原始长度出为待分类识别样本的原始宽度;
[0017]对待分类识别样本的长和宽分别进行缩放处理,以损失最小像素为代价,将待分类识别样本的原始长度缩放到样本C1长度的整数倍,将待分类识别样本的原始宽度缩放到样本C1宽度的整数倍,将缩放后得到的样本记为样本C2 ;设样本C2的长度为样本C1长度的X倍;设样本C2的宽度为样本C1宽度的y倍;其中,X和y均为整数;
[0018]步骤3,对样本C2进行图片分割处理,将其分割为x*y个子图,每个子图的长为w,宽为h ;
[0019]步骤4,将x*y个子图依次记为子图D1、子图D2…子图Dx%;
[0020]对于子图Di,分别采用η个尺寸为m*m的卷积核进行特征图映射,得到η个特征图,依次记为:an、a12...、aln;
[0021 ] 对于子图D2,分别采用η个尺寸为m*m的卷积核进行特征图映射,得到η个特征图,依次记为:a21、a22…、a2n;
[0022]依此类推
[0023]直到对于子图Dx*y,分别采用η个尺寸为m*m的卷积核进行特征图映射,得到η个特征图,依次记为: a(x*y)l、&(χ*γ)2 、a(x*y)n;
[0024]然后,合并特征图an、a21…a(x%n,将合并得到的特征图记为特征图E1 ;
[0025]合并特征图a12、ay a(x>Ny)2,将合并得到的特征图记为特征图E2 ;
[0026]依此类推
[0027]直到合并特征图aln、a2n…a(x>Ny)n,将合并得到的特征图记为特征图En ;
[0028]至此,得到η个特征图,分别为特征图Ε1、特征图Ε2…特征图En ;
[0029]此时可以看到,所得到的特征图E1、特征图E2…特征图En的尺寸与已知可训练的卷积神经网络模型架构的第1个卷积层的特征图尺寸相等;所得到的特征图E1、特征图E2…特征图En的数量与已知可训练的卷积神经网络模型架构的第1个卷积层的特征图数量相等;
[0030]步骤5,构建新的卷积神经网络模型架构,其中,所述新的卷积神经网络模型架构的第1层为输入层,用于输入尺寸为W*H的待分类识别的样本;
[0031]新的卷积神经网络模型架构的第2层为图片分割层,为步骤3划分得到的x*y个长宽为w和h的子图,即:子图D:、子图D2…子图Dx>iy;
[0032]新的卷积神经网络模型架构的第3层为第1卷积层,,为步骤4计算合并到的η个特征图,即:特征图Ε1、特征图Ε2…特征图En ;
[0033]此外,子图D1、子图D2…子图Dx>iy分别与特征图E1、特征图E2…特征图En建立全连接;
[0034]新的卷积神经网络模型架构的第4层为已知可训练的卷积神经网络模型架构的弟2层;
[0035]新的卷积神经网络模型架构的第5层为已知可训练的卷积神经网络模型架构的第3层;
[0036]依此类推,已知可训练的卷积神经网络模型架构的后续模型架构参数对应增加到新的卷积神经网络模型架构的对应层,直到将已知可训练的卷积神经网络模型架构的输出层增加到新的卷积神经网络模型架构的输出层为止;
[0037]由此构建得到新的卷积神经网络模型架构,该构建新的卷积神经网络模型架构对于尺寸为W*H的样本必然是可训练和可收敛的。
[0038]优选的,步骤2中,以损失最小像素为代价,将待分类识别样本的原始长度缩放到样本C1长度的整数倍,即X倍;将待分类识别样本的原始宽度缩放到样本C1宽度的整数倍,即y倍,具体为:
[0039]X值为:W除以w的整数商;y值为:H除以h的整数商;
[