CN106156807A - 卷积神经网络模型的训练方法及装置 - Google Patents

卷积神经网络模型的训练方法及装置 Download PDF

Info

Publication number
CN106156807A
CN106156807A CN201510154027.0A CN201510154027A CN106156807A CN 106156807 A CN106156807 A CN 106156807A CN 201510154027 A CN201510154027 A CN 201510154027A CN 106156807 A CN106156807 A CN 106156807A
Authority
CN
China
Prior art keywords
image
convolutional layer
training image
training
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510154027.0A
Other languages
English (en)
Other versions
CN106156807B (zh
Inventor
白翔
黄飞跃
郭晓威
姚聪
石葆光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Huazhong University of Science and Technology
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology, Shenzhen Tencent Computer Systems Co Ltd filed Critical Huazhong University of Science and Technology
Priority to CN201510154027.0A priority Critical patent/CN106156807B/zh
Priority to PCT/CN2016/077280 priority patent/WO2016155564A1/zh
Priority to JP2017519841A priority patent/JP6257848B1/ja
Priority to KR1020177018163A priority patent/KR101887558B1/ko
Publication of CN106156807A publication Critical patent/CN106156807A/zh
Priority to US15/486,102 priority patent/US9977997B2/en
Priority to US15/942,254 priority patent/US10607120B2/en
Application granted granted Critical
Publication of CN106156807B publication Critical patent/CN106156807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/32Normalisation of the pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

本发明公开一种CNN模型的训练方法及装置,属于图像识别领域。包括:对训练图像分别进行卷积操作、最大池化操作和水平池化操作,得到第二特征图像;根据第二特征图像确定特征向量;对特征向量进行处理得到类别概率向量;根据类别概率向量及初始类别计算类别误差;基于类别误差调整模型参数;基于调整的模型参数,继续模型参数调整过程,将迭代次数达到预设次数时的模型参数作为训练好的CNN模型的模型参数。通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进行水平池化操作。由于水平池化操作能从特征图像中提取标识图像水平方向特征的特征图像,确保训练好的CNN模型能识别任意尺寸的图像,扩大了训练好的CNN模型在识别图像时的适用范围。

Description

卷积神经网络模型的训练方法及装置
技术领域
本发明涉及图像识别领域,特别涉及一种卷积神经网络模型的训练方法及装置。
背景技术
在图像识别领域中,经常会用到CNN(Convolutional Neural Network,卷积神经网络)模型来确定待识别图像的类别。在通过CNN模型识别待识别图像的类别之前,需要先训练出CNN模型。
在训练CNN模型时,通常通过如下方式实现:首先,初始化待训练CNN模型的模型参数,该模型参数包括各个卷积层的初始卷积核、各个卷积层的初始偏置矩阵以及全连接层的初始权重矩阵和全连接层的初始偏置向量。接着,从预先选取的每个训练图像中,获取固定高度和固定宽度的待处理区域,该固定高度和固定宽度与待训练CNN模型预先设置的能够处理的待识别图像类别匹配。将每个训练图像对应的待处理区域输入该待训练CNN模型。然后,在各个卷积层上,使用各个卷积层的初始卷积核和初始偏置矩阵对每个待处理区域进行卷积操作和最大池化操作,得到每个待处理区域在各个卷积层上的特征图像。接着,使用全连接层的初始权重矩阵和初始偏置向量对每个特征图像进行处理,得到每个待处理区域的类别概率。然后,根据每个训练图像的初始类别及类别概率计算类别误差。根据所有训练图像的类别误差计算类别误差平均值。接下来,使用该类别误差平均值调整待训练CNN的模型参数。然后,使用调整后的模型参数及各个训练图像,迭代上述各个步骤指定数值次;最后,将迭代次数达到指定数值次时所得到的模型参数作为训练好的CNN模型的模型参数。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
由于在训练CNN模型的过程中,需要从预先选取的训练图像中获取固定高度和固定宽度的待处理区域,因此,训练好的CNN模型仅能识别具有固定高度和固定宽度的图像,导致训练好的CNN模型在识别图像时具有一定的局限性,导致适用范围有限。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种CNN模型的训练方法及装置。所述技术方案如下:
第一方面,提供了一种CNN模型的训练方法,所述方法包括:
获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和所述全连接层的初始偏置向量;
获取多个训练图像;
在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据所述初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
第二方面,提供了一种CNN模型的训练装置,所述装置包括:
第一获取模块,用于获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和所述全连接层的初始偏置向量;
第二获取模块,用于获取多个训练图像;
特征提取模块,用于在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的第一特征图像;
水平池化模块,用于对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
第一确定模块,用于根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
处理模块,用于根据所述初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
计算模块,用于根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
调整模块,用于基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
迭代模块,用于基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
第二确定模块,用于将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
本发明实施例提供的技术方案带来的有益效果是:
通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种CNN模型的训练方法流程图;
图2是本发明另一实施例提供的一种CNN模型的训练方法流程图;
图3是本发明另一实施例提供的一种待训练CNN模型的示意图;
图4是本发明另一实施例提供的一种水平池化操作的过程示意图;
图5是本发明另一实施例提供的一种CNN模型的训练方法流程图;
图6是本发明另一实施例提供的一种CNN模型的训练装置结构示意图;
图7是本发明另一实施例提供的一种终端的结构示意图;
图8是本发明另一实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明一实施例提供的一种CNN模型的训练方法流程图。如图1所示,本发明实施例提供的方法流程包括:
101:获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。
102:获取多个训练图像。
在另一个实施例中,获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的第一图像;
将第一图像处理为具有指定宽度的第二图像,将具有指定高度和指定宽度的图像作为初始训练图像对应的训练图像。
在另一个实施例中,将第一图像处理为具有指定宽度的第二图像,包括:
当第一图像的宽度小于指定宽度时,在第一图像左右两边使用指定灰度值的像素进行均匀填充,直至第一图像的宽度达到指定宽度时,得到第二图像;
当第一图像的宽度大于指定宽度时,对第一图像左右两边的像素进行均匀裁剪,直至第一图像的宽度达到指定宽度时,得到第二图像。
在另一个实施例中,获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为每个初始训练图像的宽度。
在另一个实施例中,训练图像为自然场景下的图像,自然场景下的图像包括不同语种的字符,待训练CNN模型为语种识别分类器。
103:在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像。
在另一个实施例中,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像,包括:
对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像,其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像;
对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像后,继续将当前卷积层上的第一特征图像传输至下一级卷积层,并在下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
104:对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像。
在另一个实施例中,对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对任一训练图像在任一级卷积层上的第一特征图像,提取卷积层上的第一特征图像中的每个图像每行元素中的最大值,其中,第一特征图像包括预设数值的图像,预设数值与卷积层的卷积核及偏置矩阵的数量相同;
按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合卷积层上的第一特征图像中的所有图像的一维向量,得到卷积层上的第二特征图像。
105:根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量。
在另一个实施例中,根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,将训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到训练图像的特征向量。
106:根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量。
107:根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差。
在另一个实施例中,根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括:
获取每个训练图像的初始类别;
根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
计算所有训练图像的类别误差平均值,将类别误差平均值作为类别误差。
108:基于类别误差,对待训练CNN模型的模型参数进行调整。
109:基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数。
110:将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
本发明实施例提供的方法,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
在另一个实施例中,待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,根据训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定训练图像的特征向量。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
结合图1所对应实施例的内容,图2是本发明另一实施例提供的一种CNN模型的训练方法流程图。如图2所示,本发明实施例提供的方法流程包括:
201:获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。
具体地,训练CNN模型的过程为确定待训练CNN的模型参数的过程。在确定模型参数时,可以先给待训练CNN模型初始化一个初始模型参数,并在后续的训练过程中,不断优化该初始模型参数,并将优化得到的最优模型参数作为训练好的CNN模型的模型参数。因此,在训练待训练CNN模型时,需要先获取待训练CNN模型的初始模型参数。
其中,待训练CNN模型通常包括至少两级卷积层和至少一级全连接层,且每级卷积层包括多个卷积核和多个偏置矩阵,每级全连接层包括多个权重矩阵和多个偏置向量。因此,获取到的模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。
关于待训练CNN模型包括的卷积层的数量和全连接层的数量,本发明实施例不作具体限定。具体实施时,可以根据需要设定。例如,如图3所示,其示出了一种待训练CNN模型的示意图。图3所示的待训练CNN模型包括四级卷积层和两级全连接层。
进一步地,关于每级卷积层包括的卷积核和偏置矩阵的数量,以及每级全连接层包括的权重矩阵和偏置向量的数量,本发明实施例不作具体限定。另外,本发明实施例同样不对每个卷积核和偏置矩阵的维度,以及每个权重矩阵和每个偏置向量的维度进行限定。具体实施时,每级卷积层包括的卷积核和偏置矩阵的数量及其维度,以及每级全连权重矩阵和偏置向量的数量和维度,均可以取经验值。
例如,第一级卷积层可以包括96个大小为5×5的卷积核C1和96个大小为5×5的偏置矩阵B1
结合上述内容,在获取待训练CNN模型的初始模型参数时,可以在指定数值范围内随机选取一个值作为初始模型参数中各个元素的值。例如,对于每一个初始卷积核、初始权重矩阵、初始偏置矩阵和初始偏置向量中的每一个元素,可以在[-r,r]区间中取一个随机数。此处,r是初始化模型参数的阈值,其可以为经验值。例如,r可以取0.001。
202:获取多个训练图像。
其中,训练图像的类别与待训练CNN模型的识别类别有关。例如,当待训练CNN模型为能够识别不同语种的模型时,训练图像可以为包括不同语种的字符或字符串的图像。当待训练CNN模型为识别颜色的模型时,训练图像为包括不同颜色的图像等。
可选地,随着全球经济化形式的不断发展,国家、企业和个人的跨国交流和合作的频繁程度大大增加。在这种情况下,人们必然会经常遇到各式各样需要使用或理解多语种信息的场合。比如在异国餐厅点餐、参加国际会议、浏览外国网站等。这也就意味着,多语种文字信息的处理、理解技术已经变得十分重要且需求迫切。具体而言,这种技术要求能够自动识别从复杂的自然场景下所获得的文字的语种类别。其中,识别自然场景下文字的语种类别是一项艰巨的挑战,其存在几大难点:一是自然场景文字信息的字体、颜色和布局方式一般是杂乱无章的,其背景也更加复杂且可能包含更多噪声信息。另一点就是,对于不同语种,其字母表中可能包含一些完全相同或高度相似的字符,例如,英语和俄语中有些字符具有相同的外形。这就导致了单凭文字外表很难分辨其语种类别。最后一点是在自然场景中,那些宽高比完全不一致的文字图片将会使很多针对固定宽高比图片的分类器不再适用。
结合上述内容,提出一种能够识别自然场景下包括不同语种字符的图像的CNN模型,能够实现快速识别自然场景下的图像中的字符语种类别。因此,在本发明实施例中,训练图像可以为自然场景下的图像,该自然场景下的图像包括不同语种的字符。在此基础上,待训练CNN模型可以为语种识别分类器。
另外,关于训练图像的尺寸,本发明实施例不作具体限定。具体实施时,可以结合训练图像的类别而定。例如,针对自然场景中包括不同语种的字符的图像,其往往在水平方向上的差异比较大,在垂直方向比较相似。也就是说,该种图像的特征往往体现在水平方向上。因此,在本发明实施例中,对于任一训练图像,可以限制其高度的具体数值,而对其宽度则不进行限定。
具体地,在本发明实施例中,所有训练图像可以具有相同的高度和宽度,即所有训练图像具有指定高度和指定宽度。另外,所有训练图像的高度可以相同,但它们的宽度可以不同。例如,所有训练图像具有指定高度,但宽度各不相同。其中,指定高度为第一数值的像素,指定宽度为第二数值的像素。具体地,第一数值可以为一个经验值,例如,第一数值可以为32等。第二数值可以为在预设范围内选取的一个随机数。另外,第二数值的取值可能与图像类别相关。例如,针对自然场景下包括不同语种字符的图像,其字符往往分布在水平方向上,因此,其宽度往往比高度大,在此基础上,第一数值往往小于第二数值。结合该部分内容,该预设范围可以介于48与256之间。
结合上述训练图像的尺寸类型,在获取多个训练图像时,包括但不限于有如下两种方式:
第一种方式:该方式下的所有训练图像具有指定高度和指定宽度。
在该种方式下,可以先获取多个初始训练图像,并且对于多个初始训练图像中的一个初始训练图像,可以保持该初始训练图像的宽高比,将该初始训练图像先处理为具有指定高度的第一图像;然后,在将第一图像处理为具有指定宽度的第二图像。此时,即可得到该初始训练图像对应的具有指定高度和指定宽度的训练图像。对于所有初始训练图像均进行这样的处理,即可获得多个训练图像。
例如,对于某一个尺寸为64像素*120像素的初始训练图像,当指定高度包括32像素时,可以将该初始训练图像处理为32像素*60像素的训练图像。
其中,在该种方式下,在将第一图像处理为具有指定宽度的第二图像时,由于第一图像的宽度可能大于指定宽度,也可能小于指定宽度。因此,针对这两种情况,为了得到指定宽度的图像,可以有如下两种不同的处理情况。
第一种情况:当第一图像的宽度小于指定宽度时,在第一图像左右两边使用指定灰度值的像素进行均匀填充,直至第一图像的宽度达到指定宽度。
关于指定灰度值的具体数值,可以根据需要或经验设定。例如,该指定灰度值可以为0。
例如,当指定宽度为120像素,某一个第一图像的宽度为116像素时,可以在该第一图像左边填充2个像素的指定灰度值的像素,在该第一图像右边填充2个像素的指定灰度值的像素。
第二种情况:当第一图像的宽度大于指定宽度时,可以对第一图像左右两边的像素进行均匀裁剪,直至第一图像的宽度达到指定宽度。
例如,当指定宽度为120像素,某一个第一图像的宽度为124像素时,可以在该第一图像左边裁剪掉2个像素,并在该第一图像右边裁剪掉2个像素。
通过该种方式获得的多个训练图像训练CNN模型时,能够确保所有训练图像具有相同的高度和宽度。此时,在训练待训练CNN模型时,可以在计算机中设置多个进程,并控制每个进程分别处理一个训练图像,从而能够提高训练CNN模型的速度。
第二种方式:该方式下的所有训练图像具有指定高度,但不限制每个训练图像的宽度。
在该种方式下,可以先获取多个初始训练图像,并且对于多个初始训练图像中的任一初始训练图像,可以保持该初始训练图像的宽高比,将该初始训练图像处理为具有指定高度的图像,并将该指定高度对应的宽度作为该初始训练图像的宽度。对于多个初始训练图像均进行这样的处理,即可获得多个训练图像。
例如,对于某一初始训练图像,当将其处理为指定高度的图像时,该指定高度对应的宽度为120像素,则通过该种方式获得的训练图像的高度为指定高度,宽度为120像素。
通过该种方式获得的多个训练图像训练CNN模型时,各个训练图像具有指定高度,但宽度各不相同。此时,在训练待训练CNN模型时,能够保证训练得到的CNN模型具有较高的识别精度。
需要说明的是,在具体的通过获取到的多个训练图像训练待训练CNN模型时,可以仅使用上述第一种方式获得的多个训练图像,从而实现快速获得训练好的CNN模型;还可以仅使用上述第二种方式获得的多个训练图像,从而确保训练好的CNN模型据有较高的识别精度。此外,还可以同时使用第一种方式和第二种方式获得的训练图像训练CNN模型,以实现在提高训练CNN模型的速度的同时,确保训练得到的CNN模型具有较高的识别精度。
203:在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像。
通过卷积操作和最大池化操作能够实现由浅入深地提取图像不同层次的特征。因此,在训练待训练CNN模型时,为了获得训练图像的特征,可以在各级卷积层上,对训练图像进行卷积操作和最大池化操作。
其中,在进行卷积操作时,需要使用各级卷积层的卷积核和偏置矩阵。在进行最大池化操作时,需要结合卷积得到的卷积图像而定。由于在不同的卷积层进行卷积操作均会得到一个卷积图像,并且对每个卷积图像进行最大池化操作均能得到一个特征图像,因此,在本发明实施例中,将在各级卷积层上进行卷积操作得到的图像称为各级卷积层上的卷积图像,将对各级卷积层上的卷积图像进行最大池化操作得到的图像称为各级卷积层上的第一特征图像。
结合上述内容,在使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像时,包括但不限于通过如下步骤2031至步骤2033来实现:
2031:对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像。其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像本身。
具体地,对于任一训练图像,如果当前卷积层为第一级卷积层,则可以先将该训练图像传输至第一级卷积层,并使用第一级卷积层上的初始卷积核和初始偏置矩阵对该训练图像进行卷积操作,得到第一级卷积层上的卷积图像。进一步地,对第一级卷积层上的卷积图像进行最大池化操作,得到第一级卷积层上的第一特征图像。将该第一级卷积层上的第一特征图像传输至第二级卷积层,并在第二级卷积层上继续进行卷积操作和最大池化操作。
其中,在使用当前卷积层上的初始卷积核和初始偏置矩阵对上一级卷积层上的第一特征图像进行卷积操作时,可以使用该当前卷积层内的每一个卷积核卷积上一级卷积层上的第一特征图像,并控制当前卷积层内的卷积核在上一级卷积层上的第一特征图像上的滑动步长为1。
具体地,以当前卷积层为第一级卷积层为例,在使用第一级卷积层内的某一个卷积核对训练图像进行卷积操作时,可以使用如下公式来表示:
D i 1 = I * C i 1 + B i 1
式中,表示用第一级卷积核中的第i个卷积核卷积训练图像I后得到的第一级卷积层上的卷积图像,表示第一级卷积层的偏置矩阵B1中的第i个偏置矩阵。
可选地,结合卷积操作的性质,在进行卷积操作时,处于图像边缘的像素可能不能进行卷积操作,从而使得进行卷积操作后得到的卷积图像的尺寸发生变化。为了避免该种情况发生,在各级卷积层进行卷积操作之前,还可以对被卷积的图像进行像素填补,从而确保进行卷积操作后,能够保证待卷积图像的尺寸不变。
具体地,在对待卷积图像进行填补时,可以在待卷积图像四周用预设灰度值,如用“0”进行填补。其中,填补的步长与卷积核的维度有关。当卷积核的维度为n时,填补的步长为(n-1)/2。例如,当卷积核为3*3,则填补的步长为1个像素。
其中,该步骤中所述的待卷积图像为输入至各个卷积层的图像。例如,如果当前卷积层为第一级卷积层,则待卷积图像为训练图像;如果当前卷积层不为第一级卷积层,则待卷积图像为上一级卷积层上的第一特征图像。
2032:对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像后,继续将当前卷积层上的第一特征图像传输至下一级卷积层。
具体地,在对前卷积层上的卷积图像进行最大池化操作时,可以用一个指定尺寸的滑动框,如3×3的滑动框,在当前卷积层上的卷积图像中的每张卷积图像中从左到右、从上到下滑动,且滑动的步长为预设像素,如预设像素为2像素。滑动框在每张卷积图像上滑动时,将滑动框中所包含的所有元素中小于0的元素置0,然后将所有元素中的最大的元素取出,并按照滑动时的顺序重新构成一幅新的图像。操作完毕后将得到当前卷积层上的第一特征图像。
其中,根据最大池化操作的性质可计算得到,当前卷积层上的第一特征图像的长度和宽度可以通过如下公式表示:
w = floor ( w 0 - m l ) + 1
式中,floor表示向下取整函数。例如,floor(2.5)=2。w表示当前卷积层上的第一特征图像的长度或宽度,m为滑动框的长度或宽度所包含的像素数量,l为滑动步长,w0为当前卷积层上的卷积图像的高度或宽度。以当前卷积层上的卷积图像的尺寸为32×w0,滑动框为3*3,滑动步长为2为例,进行最大池化操作后,得到的当前卷积层上的第一特征图像的尺寸为15×w1 w 1 = floor ( w 0 - 3 2 ) + 1 .
2033:在下一级卷积层对当前卷积层上的第一特征图像进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
其中,在各级卷积层上进行卷积操作和最大池化操作的原理同上述步骤2031和步骤2032中的原理一致,具体可参见上述步骤2031和步骤2032中的内容,此处不再赘述。
204:对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像。
其中,在进行水平池化操作时,可以对所有卷积层上的第一特征图像进行水平池化操作,也可以仅对部分卷积层上的第一特征图像进行水平池化操作。例如,如果待训练CNN模型包括四级卷积层,则可以在每级卷积层上均进行水平池化操作,也可以仅在第二级卷积、第三级卷积层和第四级卷积层上进行水平池化操作。
具体地,在对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像时,包括但不限于通过如下步骤2041至2043来实现:
2041:对任一训练图像在任一级卷积层上的第一特征图像,提取该级卷积层上的第一特征图像中的每个图像每行元素中的最大值。其中,第一特征图像包括预设数值的图像,该预设数值与该级卷积层的卷积核及偏置矩阵的数量相同。
例如,以对第二级卷积层上的第一特征图像进行水平池化操作为例,如果第二级卷积层上的第一特征图像为R2,对R2进行水平池化操作,得到第二级卷积层上的第二特征图像H1的过程为:
如果R2中第i个特征图像是一个高度和宽度分别为7和w2的图像,提取出的每一行中所有元素的最大值。
2042:按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量。
结合上述步骤2041中的举例,按照每个图像的像素从上到下的排列情况,将每行的最大值排成一个长度为7的一维向量。如图4所示,其示出了一种对第二卷积层上的第一特征图像中的某一个图像进行水平池化操作的过程示意图。
2043:组合该级卷积层上的第一特征图像中的所有图像的一维向量,得到该级卷积层上的第二特征图像。
结合上述步骤2041中的举例,如果R2中所有256个图像,如果对R2中所有256个图像都重复上述操作后,获得256个长度为7的一维向量。将每个一维向量看作一个列向量,按顺序拼接成一个高度和宽度分别为7和256的图像H1。H1就是对R2进行水平池化操作后得到的第二级卷积层上的第二特征图像。
结合图3所示的待训练CNN模型,该待训练CNN模型包括四级卷积层和两级全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵。在此基础上,在对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像时,是对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一图像特征分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像。
205:根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量。
具体地,对于任一训练图像,其特征向量为将该训练图像在各级卷积层上的第二特征图像进行级联后,通过将各级卷积层上的第二特征图像中所有行的元素首尾相接得到。
结合图3所示的待训练CNN模型,对于任一训练图像,可以根据该训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定该训练图像的特征向量。
具体地,对于某一个训练图像,可以将第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像进行级联,并将第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像中所有行的元素首尾相接,得到该训练图像的特征向量。
例如,如果训练图像在第二级卷积层上的第二特征图像为H1、第三级卷积层上的第二特征图像为H2即第四级卷积层上的第二特征图像为H3,则可以将H1中所有行的元素的首尾相接,得到第一一维向量;将H2中所有行的元素的首尾相接,得到第二一维向量;将H3中所有行的元素的首尾相接,得到第三一维向量。进一步将第一一维向量、第二一维向量和第三一维向量首尾相接,得到该训练图像的特征向量。
206:根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量。
具体地,对于一个训练图像的特征向量,可以将其输入全连接层,使用全连接层的权重矩阵乘以该特征向量,并将乘积结果与该全连接层的偏置向量相加,从而得到该训练图像的类别概率向量。
其中,类别概率向量为一个一维向量,类别概率向量中的元素的个数与待训练CNN模型能够识别的图像类别的数目有关。例如,如果待训练图像能够区别十种类别的图像,则类别概率向量中包括十个元素。每个元素表示该训练图像属于某一种类别的概率。
207:根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差。
其中,根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括但不限于通过如下步骤2071至步骤2073来实现:
2071:获取每个训练图像的初始类别。
对于每个训练图像,其初始类别是已知的。其中,初始类别可以由人工提取并记录。在此基础上,在获取每个训练图像的初始类别时,可以直接根据记录的数据获取。
2072:根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率。例如,当初始训练图像为第一类时,ylabel为y1,即为类别概率向量中的第一个元素。
2073:计算所有训练图像的类别误差平均值,类别误差平均值作为类别误差。
当然,此处仅以将所有训练图像的误差平均值为例对计算类别误差的过程进行了说明。在具体实施时,在计算类别误差时,还可以采用其他方式,本发明实施例对此不作具体限定。
208:基于类别误差,对待训练CNN模型的模型参数进行调整。
具体地,在调整待训练CNN模型的模型参数时,包括但不限于利用SGD(Stochastic gradient descent,随机梯度下降)算法,将类别误差反向传导回该待训练CNN模型,从而实现更新该待训练CNN模型的模型参数中的所有元素。
关于利用SGD算法,将类别误差反向传导回该待训练CNN模型,以实现更新该待训练CNN模型的模型参数中的所有元素的具体实现过程,本发明实施例不作具体限定。
209:基于调整后的模型参数和多个训练图像,继续进行确定类别误差的过程,直至迭代次数达到预设次数。
具体地,使用步骤202中获取到的多个训练图像和步骤208得到的调整后的模型参数,重复步骤203至步骤208,直至重复次数,即迭代次数达到预设次数为止。
关于预设次数的具体数值范围,本发明实施例不作具体限定。为了使训练好的CNN模型比较准确,该预设次数的取值可以比较大。具体实施时,预设次数可以为经验值。例如,取300000。
210:将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
例如,如果预设次数为300000,在将迭代次数达到300000时得到的模型参数为训练好的CNN模型的模型参数。
211:将待识别图像输入训练好的CNN模型,计算待识别图像的类别概率向量,将类别概率向量的各个元素中最接近1的元素对应的类别作为待识别图像的类别。
具体地,如果类别概率向量中包括10个元素,每个元素分别对应一个类别,如果该类别概率向量中第二个元素最接近1,则该待识别图像属于第二类。
本发明实施例提供的方法,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
结合图1或图2所对应实施例的内容及图3所示的待训练CNN模型示意图,本发明实施例以待训练CNN模型包括四级卷积层和两级全连接层对本发明实施例提供的方法进行解释说明。另外,在本发明实施例中,以对第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像进行水平池化操作为例进行说明。如图5所示,本发明实施例提供的方法流程包括:
501:获取待训练CNN模型的初始模型参数,其中,初始模型参数包括第一级卷积层的初始卷积核和初始偏置矩阵、第二级卷积层的初始卷积核和初始偏置矩阵、第三级卷积层的初始卷积核和初始偏置矩阵、第四级卷积层的初始卷积核和初始偏置矩阵、第一级全连接层的初始权重矩阵和初始偏置向量、第二级全连接层的初始权重矩阵和初始偏置向量。
其中,各级卷积层可以包括相同或不同数量的卷积核和偏置矩阵,各级全连接层包括相同或不同数量的权重矩阵和偏置向量。关于每级卷积层包括的卷积核和偏置矩阵的数量,以及每级全连接层包括的权重矩阵和偏置向量的数量,本发明实施例不作具体限定。另外,本发明实施例同样不对每个卷积核和偏置矩阵的维度,以及每个权重矩阵和每个偏置向量的维度进行限定。具体实施时,每级卷积层包括的卷积核和偏置矩阵的数量及其维度,以及每级全连权重矩阵和偏置向量的数量和维度,均可以取经验值。
另外,在本发明实施例中,将初始模型参数中各级卷积层中的卷积核、偏置矩阵、权重矩阵和偏置向量称作初始卷积核、初始偏置矩阵、初始权重矩阵和初始偏置向量。因此,在训练待训练CNN模型时,需要获取各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量。
为了便于对本发明实施例进行解释说明,在本发明实施例中,以第一级卷积层包含96个大小为5×5的卷积核C1和96个大小为5×5的偏置矩阵B1第二级卷积层包含256个大小为5×5的卷积核C2和256个大小为5×5的偏置矩阵B2第三级卷积层包含384个大小为3×3的卷积核C3和384个大小为3×3的偏置矩阵B3第四级卷积层包含512个大小为3×3的卷积核C4和512个大小为3×3的偏置矩阵B4第一级全连接层包含了一个大小为3456×1024的权重矩阵W1和一个长度为1024的偏置向量B5;第二级全连接层包含了一个大小为1024×10的权重矩阵W2和一个长度为10的偏置向量B6为例,对本发明实施例提供的方法进行解释说明。
其中,在获取待训练CNN模型的初始模型参数时,可以在指定数值范围内随机选取一个值作为初始模型参数中各个元素的值。例如,对于每一个初始卷积核、初始权重矩阵、初始偏置矩阵和初始偏置向量中的每一个元素,可以在[-r,r]区间中取一个随机数。此处,r是初始模型参数的阈值,其可以为经验值。例如,r可以取0.001。
502:获取训练图像I,其中,训练图像I具有指定高度。
其中,该训练图像I为多个训练图像中的一个。为了便于说明,在本发明的后续实施中,以对该训练图像I进行处理为例对训练待训练CNN模型的过程进行解释说明。
另外,训练图像I具有指定高度和指定宽度。具体地,该指定高度可以为第一数值的像素,该指定宽度可以为第二数值的像素。具体地,第一数值可以为一个经验值,例如,第一数值可以为32等。第二数值可以为在预设范围内选取的一个随机数。其中,该预设范围可以介于48与256之间。为了便于说明,在本发明后续实施例中,以训练图像的尺寸为32*wo为例。其中,32为第一数值,wo为第二数值。
503:在第一级卷积层上,使用第一级卷积层的卷积核和偏置矩阵对训练图像I进行卷积操作和最大池化操作,得到训练图像I在第一级卷积层上的第一特征图像R1
下面将结合步骤502中的各个初始模型参数对在第一级卷积层上,使用第一级卷积层上的初始卷积核和初始偏置矩阵对训练图像I进行卷积操作和最大池化操作的步骤进行具体说明。具体地,获得训练图像I在第一级卷积层上的第一特征图像R1的过程如下:
5031:填补训练图像I,得到填补后的训练图像Itr
该步骤为可选步骤。通过该步骤,能够确保在第一级卷积层上进行卷积操作后得到的第一级卷积层上的卷积图像与训练图像I具有相同的尺寸。其中,关于填补的内容已在步骤203中进行了说明,具体可参见步骤203中的内容,此处不再赘述。
例如,以训练图像I为32×wo为例,可以先在训练图像I四周用“0”元素进行均匀填补。其中,填补的长度为2,从而获得一张高度和宽度分别为36像素和wo+4像素的填补后的训练图像Itr
5032:在第一级卷积层上,使用第一级卷积层上的卷积核和偏置矩阵对填补后的训练图像Itr进行卷积操作,得到第一级卷积层上的卷积图像D1
具体地,结合步骤502中的举例,可以分别用C1中的每一个卷积核卷积填补后的训练图像Itr,卷积核在填补后的训练图像Itr上的滑动步长为1,即:
D i 1 = I tr * C i 1 + B i 1
其中,表示用第一级卷积层内的第i个卷积核卷积填补后的训练Itr后得到的第一级卷积层上的卷积图像,表示第一级卷积层内的偏置矩阵B1中的第i个偏置矩阵。根据图像卷积操作的性质可得,第一级卷积层上的卷积图像其中,的大小为32×wo
5033:对第一级卷积层上的卷积图像D1进行最大池化操作,得到第一级卷积层上的第一特征图像R1
其中,进行最大池化操作的具体内容已在步骤203中进行了阐述,具体可参见步骤203中的内容,此处不再赘述。
例如,结合步骤502中的举例,可以用一个3×3的滑动框在第一级卷积层上的卷积图像D1中的每张卷积图像中从左到右、从上到下滑动,滑动的步长为2。滑动框在图像上滑动时,将框中所包含的9个元素中小于0的元素置0,然后将9个元素中的最大的元素取出,并按照滑动时的顺序重新构成一幅新的图像。操作完毕后将获得第一级卷积层上的第一级特征图像R1根据最大池化操作的性质可到,R1的大小为15×w1。其中,其中,floor表示向下取整函数。例如,floor(2.5)=2。另外,该公式中分子中的“3”表示滑动框一个维度的大小,分母中的“2”表示滑动的步长。
需要说明的是,此处的3×3仅用于举例,在具体实施时,滑动框的尺寸还可以为其它数值。本发明实施例不对滑动框的尺寸进行限定。
504:在第二级卷积层上,使用第二级卷积层的卷积核和偏置矩阵对第一级卷积层上的第一级特征图像R1进行卷积操作和最大池化操作,得到第二级卷积层上的第一特征图像R2
下面将结合上述各个初始模型参数对在第二级卷积层上,使用第二级卷积层的卷积核和偏置矩阵对第一级卷积层上的第一级特征图像R1进行卷积操作和最大池化操作的步骤进行具体说明。具体地,获得第二级卷积层上的第一特征图像R2的过程如下:
5041:填补第一级卷积层上的第一特征图像R1,得到填补后的图像Rp1
该步骤的原理同步骤5031中的原理一致,具体可参见上述步骤5031中的内容。该步骤为可选步骤。通过该步骤,能够确保进行卷积操作后的图像与第一级卷积层上的第一特征图像R1具有相同的尺寸。
例如,结合步骤502中的举例,填补的长度包括但不限于为2,填补后的图像Rp1高度和宽度分别为19和w1+4。
5042:在第二级卷积层上,使用第二级卷积层上的卷积核和偏置矩阵对填补后的图像进行卷积操作,得到第二级卷积层上的卷积图像D2
该步骤的原理同步骤5032的原理一致,具体可参见上述步骤5032中的内容,此处不再赘述。
具体地,结合上述步骤中的举例,可以分别用C2中的每一个卷积核卷积中的每一个图像,卷积核在图像中上滑动步长为1,卷积后的结果相加获得第二级卷积层上的每个卷积图像即:
D i 2 = Σ j = 1 96 R p j 1 * C i 2 + B i 2
其中,表示获得的第二级卷积层上的第i个卷积图像,表示C2中的第i个卷积核,表示B2中的第i个偏置矩阵,表示Rp1中的第j个图像。根据卷积操作的性质可得,其中,表示用第i个卷积核卷积Rp1后得到的卷积图像,且的大小为15×w1
5043:对第二级卷积层上的卷积图像D2进行最大池化操作,得到第二级卷积层上的第一特征图像R2
该步骤的原理同5033的原理一致,具体可参见上述步骤5033中的内容。具体地, R 2 = { R i 2 } i = 1 256 , 大小为7×w2 w 2 = floor ( w 1 - 3 2 ) + 1 .
5044:对第二级卷积层上的第一特征图像R2进行水平池化操作,得到第二级卷积层上的第二特征图像H1
具体地,R2中第i个特征图像是一个高和宽分别为7和w2的图像,提取出的每一行中所有元素的最大值,依次按顺序连接成一个长度为7的一维向量。
对R2中所有256个特征图像都重复上述操作后,获得256个长度为7的一维向量。将每个一维向量看作一个列向量,按顺序拼接成一个高和宽分别为7和256的图像H1。H1就是对R2进行水平池化操作后得到的第二卷积层上的第二特征图像。
505:在第三级卷积层上,使用第三级卷积层的卷积核和偏置矩阵对第二级卷积层上的第一级特征图像R2进行卷积操作和最大池化操作,得到第三级卷积层上的第一特征图像R3
下面将结合步骤502中的各个模型参数对在第三级卷积层上,使用第三级卷积层上的卷积核和偏置矩阵对第二级卷积层上的第一级特征图像R2进行卷积操作和最大池化操作的步骤进行具体说明。具体地,获得第三级卷积层上的第一特征图像R3的过程如下:
5051:填补第二级卷积层上的第一特征图像R2,得到填补后的图像Rp2
该步骤的原理同步骤5031中的原理一致,具体可参见上述步骤5031中的内容。该步骤为可选步骤。通过该步骤,能够确保进行卷积操作后的图像与第二级卷积层上的第一特征图像R2具有相同的尺寸。
具体地,填补的长度包括但不限于为1,填补后获得新的图像Rp2。其中,高度和宽度分别为9和w2+2。
5052:在第三级卷积层上,使用第三级卷积层上的卷积核和偏置矩阵对填补后的图像Rp2进行卷积操作,得到第三级卷积层上的卷积图像D3
该步骤的原理同上述步骤5032的原理一致,具体可参见上述步骤5032中的内容,此处不再赘述。
其中,卷积核在填补后的图像Rp2中上滑动步长为1,即:
D i 3 = Σ j = 1 256 R p j 2 * C i 3 + B i 3
其中,表示获得的第三级卷积层上的第i个卷积图像,表示C3中的第i个卷积核,表示B3中的第i个偏置矩阵,表示Rp2中的第j个图像。根据卷积操作的性质可得,其中,表示用第i个卷积核卷积Rp2后得到的卷积图像,且的大小为7×w2
5053:对第三级卷积层上的卷积图像D3进行最大池化操作,获得第三级卷积层上的第一特征图像R3
该步骤的原理同5033的原理一致,具体可参见上述步骤5033中的内容。具体地, R 3 = { R i 3 } i = 1 384 , 大小为3×w3。其中, w 3 = floor ( w 2 - 3 2 ) + 1 .
5054:对第三级卷积层上的第一特征图像R3进行水平池化操作,得到第二级卷积层上的第二特征图像H2
该步骤的原理同上述步骤5044的原理一致,具体可参见上述步骤5044中的内容。
具体地,通过对第三级卷积层上的第一特征图像R3进行水平池化操作,可以得到一个高和宽分别为3和384的图像H2。H2就是对R3进行水平池化操作后的输出。
506:在第四级卷积层上,使用第四级卷积层的卷积核和置矩阵对第三级卷积层上的第一级特征图像R3进行卷积操作和最大池化操作,得到第四级卷积层上的第一特征图像R4
下面将结合步骤502中的各个模型参数对在第四级卷积层上,使用第四级卷积层上的卷积核和偏置矩阵对第三级卷积层上的第一级特征图像R3进行卷积操作和最大池化操作的步骤进行具体说明。具体地,获得第四级卷积层上的第一特征图像R4的过程如下:
5061:在第四级卷积层上,使用第四级卷积层上的卷积核和偏置矩阵对第三级卷积层上的第一级特征图像R3进行卷积操作,得到第四级卷积层上的卷积图像D4
其中,卷积核在R3上滑动步长为1,即:
D i 4 = Σ j = 1 384 R j 3 * C i 4 + B i 4
其中,表示获得的第四级卷积层上的第i个卷积图像,表示C4中的第i个卷积核,表示B4中的第i个偏置矩阵,表示R3中的第j个图像。根据卷积操作的性质可得,其中,表示用第i个卷积核卷积R3后得到的卷积图像,且的大小为1×(w3-2)。由于第四级特征图像提取没有最大池化操作,因此卷积图像就是第四级卷积层上的第一特征图像,即R4=D4大小为1×(w3-2)。
5062:对第四级卷积层上的第一特征图像R4进行水平池化操作,得到第四级卷积层上的第二特征图像H3
该步骤的原理同上述步骤5044的原理一致,具体可参见上述步骤5044中的内容。
具体地,R4中第i个特征图像是一个长度为w3-2的向量,提取出中所有元素中的最大值。对R4中所有512个特征图像都重复上述操作后,获得512个数,将这些数按顺序连接成一个长度为512的向量H3。H3就是对R4进行水平池化操作后的输出。
507:根据训练图像在第二级卷积层上的第二特征图像H1、第三级卷积层上的第二特征图像H2和第四级卷积层上的第二特征图像H3,确定训练图像I的特征向量Fc1
具体地,可以分别将H1、H2的列向量首尾相连后级联起来,然后再级联向量H3,获得一个一维向量Fc1,将Fc1作为训练图像I的特征向量。
结合上述各个步骤中的举例,由于H1大小为7×256、H2大小为3×384、H3长度为512,因此,Fc1的长度为3456。
508:将特征向量Fc1作为第一级全连接层的输入,使用第一级全连接层的权重矩阵和偏置向量对Fc1进行处理,计算出第一级全连接层的输出Fc2
结合上述步骤502中的内容,可以使用第一级全连接层的权重矩阵为W1,偏置向量为B5,通过如下公式计算出第一级全连接层输出Fc2
Fc2=Fc1*W1+B5
结合上述步骤508中的内容,Fc2的长度为1024。上述各个步骤所得到的结果可以参见图3中的具体数值。当然,图3中的数值仅用于举例,并不构成对本发明实施例的限制。
509:将第一级全连接层的输出输入第二级全连接层,使用第二级全连接层的权重矩阵和偏置计算训练图像I的类别概率向量Y,并根据训练图像I的类别概率向量Y和初始类别label,计算类别误差Loss。
该步骤的原理已在步骤206和步骤207中进行了具体说明,具体可参见步骤206和步骤207中的内容,此处不再赘述。
具体地,结合上述举例,可以将第一级全连接层输出Fc2作为第二级全连接层的输入。由步骤502中的内容可得,第二级全连接层的权重矩阵为W2,偏置向量为B6,计算出训练图像I的类别概率向量Y。其中,Y=Fc2*W2+B6,且Y=[Y1,Y2,……Yi,……,Yn]。其中,Yi表示输入图像I属于第i类的概率,n表示待训练CNN模型能够识别的图像类别的数量。其中,图3中仅以待训练CNN模型能够识别10种图像类别为例进行了说明。
进一步地,在根据训练图像I的类别概率向量Y和初始类别label计算类别误差Loss时,可以通过如下公式实现:
Loss=-Lnylabel
例如,训练图像I的初始类别属于第1类,则label=1。
510:对所有训练图像中的每一张训练图像重复步骤502至步骤509,计算出所有训练图像的类别误差平均值将该类别误差平均值作为类别误差。
511:基于类别误差,对待训练CNN模型的模型参数进行调整。
该步骤的原理已在步骤208中进行了具体说明,具体可参见步骤208中的内容,此处不再赘述。
具体地,在使用SGD将类别误差反向传导回待训练CNN模型时,可以令SGD算法中的学习率取0.01,将步骤510所计算的类别误差反向传导回待训练CNN模型,以更新卷积核C1、C2、C3、C4,偏置矩阵B1、B2、B3、B4,权重矩阵W1、W2和偏置向量B5、B6中的所有元素。
512:将步骤503至步骤511迭代操作预设次数N,将迭代次数达到预设次数N时得到的模型参数作为训练好的CNN模型的模型参数。
关于N的具体数值范围,本发明实施例不作具体限定。为了使训练好的CNN模型比较准确,该N的取值可以比较大。具体实施时,N可以为经验值。例如,N取300000。迭代次数达到300000时得到的模型参数为训练好的CNN模型的模型参数。
实验表明,当待训练CNN模型包括四级卷积层,并在第二级卷积层、第三级卷积层和第四级卷积层上进行水平池化操作时,通过上述步骤501至步骤512训练得到的CNN模型具有比较高的准确率,从而能够提高训练CNN模型时的准确率。
本发明实施例提供的方法,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
图6是本发明另一实施例提供的一种CNN模型的训练装置结构示意图,该CNN的训练装置可以用于执行上述图1、图2或图5任一图所对应实施例提供的CNN模型的训练方法。如图6所示,该装置包括:
第一获取模块601,用于获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量;
第二获取模块602,用于获取多个训练图像;
特征提取模块603,用于在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像;
水平池化模块604,用于对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
第一确定模块605,用于根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
处理模块606,用于根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
计算模块607,用于根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
调整模块608,用于基于类别误差,对待训练CNN模型的模型参数进行调整;
迭代模块609,用于基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
第二确定模块610,用于将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
本发明实施例提供的装置,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
在另一个实施例中,第一获取模块601包括:
第一获取单元,用于获取多个初始训练图像;
第一处理单元,用于对于任一初始训练图像,保持所述初始训练图像的宽高比,将每个初始训练图像处理为具有指定高度的第一图像;
第二处理单元,用于将所述第一图像处理为具有指定宽度的图像;
第一确定单元,用于将具有指定高度和指定宽度的图像作为初始训练图像对应的训练图像。
在另一个实施例中,第一获取模块601包括:
第二获取单元,用于获取多个初始训练图像;
第三处理单元,用于对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为每个初始训练图像的宽度。
在另一个实施例中,第一处理单元包括:
处理子单元,用于将每个初始训练图像处理为具有指定高度的图像,得到初始宽度;
填充子单元,用于当初始宽度小于指定宽度时,在处理后的初始训练图像左右两边使用指定灰度值的像素进行均匀填充,直至达到指定宽度;
裁剪子单元,用于当初始宽度大于指定宽度时,对处理后的初始训练图像左右两边的像素进行均匀裁剪,直至达到指定宽度。
在另一个实施例中,特征提取模块603包括:
卷积单元,用于对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像,其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像;
最大池化单元,用于对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像;
传输单元,用于继续将当前卷积层上的第一特征图像传输至下一级卷积层,并在下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
在另一个实施例中,水平池化模块604包括:
提取单元,用于对任一训练图像在任一级卷积层上的第一特征图像,提取卷积层上的第一特征图像中的每个图像每行元素中的最大值,其中,第一特征图像包括预设数值的图像,预设数值与卷积层的卷积核及偏置矩阵的数量相同;
排列单元,用于按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合单元,用于组合卷积层上的第一特征图像中的所有图像的一维向量,得到卷积层上的第二特征图像。
在另一个实施例中,第一确定模块605,用于对于任一训练图像,将训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到训练图像的特征向量。
在另一个实施例中,计算模块607包括:
获取单元,用于获取每个训练图像的初始类别;
第一计算单元,用于根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
第二计算单元,用于计算所有训练图像的类别误差平均值,将类别误差平均值作为类别误差。
在另一个实施例中,训练图像为自然场景下的图像,自然场景下的图像包括不同语种的字符,待训练CNN模型为语种识别分类器。
在另一个实施例中,待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
水平池化操作,用于对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
第一确定模块,用于对于任一训练图像,根据训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定训练图像的特征向量。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
请参考图7,其示出了本发明实施例所涉及的终端的结构示意图,该终端可以用于实施上述图1、图2或图4所对应实施例提供的CNN模型的训练方法。具体来讲:
终端700可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图7中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端700还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端700移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端700之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端700的通信。
WiFi属于短距离无线传输技术,终端700通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块170,但是可以理解的是,其并不属于终端700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端700的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端700的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端700还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端700还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:
获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量;
获取多个训练图像;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的第一图像;
将第一图像处理为具有指定宽度的第二图像,将具有所述指定高度和所述指定宽度的图像作为初始训练图像对应的训练图像。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为初始训练图像的宽度。
在第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:将第一图像处理为具有指定宽度的第二图像,包括:
当第一图像的宽度小于指定宽度时,在第一图像左右两边使用指定灰度值的像素进行均匀填充,直至第一图像的宽度达到指定宽度时,得到第二图像;
当第一图像的宽度大于指定宽度时,对第一图像左右两边的像素进行均匀裁剪,直至第一图像的宽度达到指定宽度时,得到第二图像。
在第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像,包括:
对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像,其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像;
对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像后,继续将当前卷积层上的第一特征图像传输至下一级卷积层,并在下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对任一训练图像在任一级卷积层上的第一特征图像,提取卷积层上的第一特征图像中的每个图像每行元素中的最大值,其中,第一特征图像包括预设数值的图像,预设数值与卷积层的卷积核及偏置矩阵的数量相同;
按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合卷积层上的第一特征图像中的所有图像的一维向量,得到卷积层上的第二特征图像。
在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,将训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到训练图像的特征向量。
在第一种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括:
获取每个训练图像的初始类别;
根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
计算所有训练图像的类别误差平均值,将类别误差平均值作为类别误差。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:训练图像为自然场景下的图像,自然场景下的图像包括不同语种的字符,待训练CNN模型为语种识别分类器。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,根据训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定训练图像的特征向量。
本发明实施例提供的终端,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行CNN模型的训练方法,该方法包括:
获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量;
获取多个训练图像;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的第一图像;
将第一图像处理为具有指定宽度的第二图像,将具有指定高度和指定宽度的图像作为初始训练图像对应的训练图像。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为初始训练图像的宽度。
在第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:将第一图像处理为具有指定宽度的第二图像,包括:
当第一图像的宽度小于指定宽度时,在第一图像左右两边使用指定灰度值的像素进行均匀填充,直至第一图像的宽度达到指定宽度时,得到第二图像;
当第一图像的宽度大于指定宽度时,对第一图像左右两边的像素进行均匀裁剪,直至第一图像的宽度达到指定宽度时,得到第二图像。
在第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像,包括:
对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像,其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像;
对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像后,继续将当前卷积层上的第一特征图像传输至下一级卷积层,并在下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对任一训练图像在任一级卷积层上的第一特征图像,提取卷积层上的第一特征图像中的每个图像每行元素中的最大值,其中,第一特征图像包括预设数值的图像,预设数值与卷积层的卷积核及偏置矩阵的数量相同;
按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合卷积层上的第一特征图像中的所有图像的一维向量,得到卷积层上的第二特征图像。
在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,将训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到训练图像的特征向量。
在第一种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括:
获取每个训练图像的初始类别;
根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
计算所有训练图像的类别误差平均值,将类别误差平均值作为类别误差。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:训练图像为自然场景下的图像,自然场景下的图像包括不同语种的字符,待训练CNN模型为语种识别分类器。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,根据训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定训练图像的特征向量。
本发明实施例提供的计算机可读存储介质,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
本发明实施例中提供了一种图形用户接口,该图形用户接口用在终端上,该终端包括触摸屏显示器、存储器和用于执行一个或者一个以上的程序的一个或者一个以上的处理器;该图形用户接口包括:
获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量;
获取多个训练图像;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
保持每个初始训练图像的宽高比,将每个初始训练图像处理为具有指定高度和指定宽度的图像,得到多个训练图像。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
保持每个初始训练图像的宽高比,将每个初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为每个初始训练图像的宽度,得到多个训练图像。
本发明实施例提供的图形用户接口,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
上述图1、图2或图5任一图所对应实施例提供的CNN模型的训练方法还可以由一服务器执行。图8是根据一示例性实施例示出的一种服务器的结构示意图,该服务器即可以用于执行上述图1、图2或图5任一图所对应实施例提供的CNN模型的训练方法。参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述图1、图2或图5任一图所对应实施例提供的CNN模型的训练方法。
服务器800还可以包括一个电源组件828被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(I/O)接口858。服务器800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
其中,一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
获取待训练CNN模型的初始模型参数,其中,初始模型参数包括各级卷积层的初始卷积核、各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和全连接层的初始偏置向量;
获取多个训练图像;
在各级卷积层上,使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于类别误差,对待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的第一图像;
将第一图像处理为具有指定宽度的第二图像,将具有所述指定高度和所述指定宽度的图像作为初始训练图像对应的训练图像。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持初始训练图像的宽高比,将初始训练图像处理为具有指定高度的图像,将指定高度对应的宽度作为初始训练图像的宽度。
在第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:将第一图像处理为具有指定宽度的第二图像,包括:
当第一图像的宽度小于指定宽度时,在第一图像左右两边使用指定灰度值的像素进行均匀填充,直至第一图像的宽度达到指定宽度时,得到第二图像;
当第一图像的宽度大于指定宽度时,对第一图像左右两边的像素进行均匀裁剪,直至第一图像的宽度达到指定宽度时,得到第二图像。
在第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:使用各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在各级卷积层上的第一特征图像,包括:
对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用当前卷积层上的初始卷积核和初始偏置矩阵,对上一级卷积层上的第一特征图像进行卷积操作,得到当前卷积层上的卷积图像,其中,如果当前卷积层为第一级卷积层,则上一级卷积层上的第一特征图像为训练图像;
对当前卷积层上的卷积图像进行最大池化操作,得到训练图像在当前卷积层上的第一特征图像后,继续将当前卷积层上的第一特征图像传输至下一级卷积层,并在下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到最后一层卷积层上的第一特征图像为止。
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对任一训练图像在任一级卷积层上的第一特征图像,提取卷积层上的第一特征图像中的每个图像每行元素中的最大值,其中,第一特征图像包括预设数值的图像,预设数值与卷积层的卷积核及偏置矩阵的数量相同;
按照每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合卷积层上的第一特征图像中的所有图像的一维向量,得到卷积层上的第二特征图像。
在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,将训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到训练图像的特征向量。
在第一种可能的实施方式作为基础而提供的第八种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:根据每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括:
获取每个训练图像的初始类别;
根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
计算所有训练图像的类别误差平均值,将类别误差平均值作为类别误差。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第九种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:训练图像为自然场景下的图像,自然场景下的图像包括不同语种的字符,待训练CNN模型为语种识别分类器。
在第一种至第八种中任一种可能的实施方式作为基础而提供的第十种可能的实施方式中,服务器的存储器中还包含用于执行以下操作的指令:待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,根据训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定训练图像的特征向量。
本发明实施例提供的服务器,通过在各级卷积层上对训练图像进行卷积操作和最大池化操作后,进一步对最大池化操作后得到的特征图像进行水平池化操作。由于在进行水平池化操作时,能够进一步从特征图像中提取出标识特征图像水平方向特征的特征图像,确保训练好的CNN模型在识别图像类别时,不受待识别图像水平方向尺寸的显示,从而能够识别任意尺寸的待识别图像,使得通过该种方式训练好的CNN模型在识别图像时的适用范围比较广泛。
需要说明的是:上述实施例提供的CNN模型的训练装置在训练CNN模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的CNN模型的训练装置、终端及服务器与CNN模型的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种卷积神经网络CNN模型的训练方法,其特征在于,所述方法包括:
获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和所述全连接层的初始偏置向量;
获取多个训练图像;
在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的第一特征图像;
对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
根据所述初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,所述获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持所述初始训练图像的宽高比,将所述初始训练图像处理为具有指定高度的第一图像;
将所述第一图像处理为具有指定宽度的第二图像,将具有所述指定高度和所述指定宽度的图像作为所述初始训练图像对应的训练图像。
3.根据权利要求1所述的方法,其特征在于,所述获取多个训练图像,包括:
获取多个初始训练图像;
对于任一初始训练图像,保持所述初始训练图像的宽高比,将所述初始训练图像处理为具有指定高度的图像,将所述指定高度对应的宽度作为所述初始训练图像的宽度。
4.根据权利要求2所述的方法,其特征在于,所述将所述第一图像处理为具有指定宽度的第二图像,包括:
当所述第一图像的宽度小于指定宽度时,在所述第一图像左右两边使用指定灰度值的像素进行均匀填充,直至所述第一图像的宽度达到指定宽度时,得到第二图像;
当所述第一图像的宽度大于指定宽度时,对所述第一图像左右两边的像素进行均匀裁剪,直至所述第一图像的宽度达到指定宽度时,得到第二图像。
5.根据权利要求1所述的方法,其特征在于,所述使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的第一特征图像,包括:
对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用所述当前卷积层上的初始卷积核和初始偏置矩阵,对所述上一级卷积层上的第一特征图像进行卷积操作,得到所述当前卷积层上的卷积图像,其中,当所述当前卷积层为第一级卷积层时,所述上一级卷积层上的第一特征图像为所述训练图像;
对所述当前卷积层上的卷积图像进行最大池化操作,得到所述训练图像在所述当前卷积层上的第一特征图像后,继续将所述当前卷积层上的第一特征图像传输至下一级卷积层,并在所述下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到所述最后一层卷积层上的第一特征图像为止。
6.根据权利要求1所述的方法,其特征在于,所述对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对任一训练图像在任一级卷积层上的第一特征图像,提取所述卷积层上的第一特征图像中的每个图像每行元素中的最大值,所述第一特征图像包括预设数值的图像,所述预设数值与所述卷积层的卷积核及偏置矩阵的数量相同;
按照所述每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合所述卷积层上的第一特征图像中的所有图像的一维向量,得到所述卷积层上的第二特征图像。
7.根据权利要求6所述的方法,其特征在于,所述根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,将所述训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到所述训练图像的特征向量。
8.根据权利要求1所述的方法,其特征在于,所述根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差,包括:
获取每个训练图像的初始类别;
根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
计算所有训练图像的类别误差平均值,将所述类别误差平均值作为类别误差。
9.根据权利要求1至8中任一权利要求所述的方法,其特征在于,所述训练图像为自然场景下的图像,所述自然场景下的图像包括不同语种的字符,所述待训练CNN模型为语种识别分类器。
10.根据权利要求1至8中任一权利要求所述的方法,其特征在于,所述待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
所述对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像,包括:
对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
所述根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量,包括:
对于任一训练图像,根据所述训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定所述训练图像的特征向量。
11.一种卷积神经网络CNN模型的训练装置,其特征在于,所述装置包括:
第一获取模块,用于获取待训练CNN模型的初始模型参数,所述初始模型参数包括各级卷积层的初始卷积核、所述各级卷积层的初始偏置矩阵、全连接层的初始权重矩阵和所述全连接层的初始偏置向量;
第二获取模块,用于获取多个训练图像;
特征提取模块,用于在所述各级卷积层上,使用所述各级卷积层上的初始卷积核和初始偏置矩阵,对每个训练图像分别进行卷积操作和最大池化操作,得到每个训练图像在所述各级卷积层上的第一特征图像;
水平池化模块,用于对每个训练图像在至少一级卷积层上的第一特征图像进行水平池化操作,得到每个训练图像在各级卷积层上的第二特征图像;
第一确定模块,用于根据每个训练图像在各级卷积层上的第二特征图像确定每个训练图像的特征向量;
处理模块,用于根据所述初始权重矩阵和初始偏置向量对每个特征向量进行处理,得到每个训练图像的类别概率向量;
计算模块,用于根据所述每个训练图像的类别概率向量及每个训练图像的初始类别,计算类别误差;
调整模块,用于基于所述类别误差,对所述待训练CNN模型的模型参数进行调整;
迭代模块,用于基于调整后的模型参数和所述多个训练图像,继续进行模型参数调整的过程,直至迭代次数达到预设次数;
第二确定模块,用于将迭代次数达到预设次数时所得到的模型参数作为训练好的CNN模型的模型参数。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块包括:
第一获取单元,用于获取多个初始训练图像;
第一处理单元,用于对于任一初始训练图像,保持所述初始训练图像的宽高比,将所述初始训练图像处理为具有指定高度的第一图像;
第二处理单元,用于将所述第一图像处理为具有指定宽度的第二图像;
第一确定单元,用于将具有所述指定高度和所述指定宽度的图像作为所述初始训练图像对应的训练图像。
13.根据权利要求11所述的装置,其特征在于,所述第一获取模块包括:
第二获取单元,用于获取多个初始训练图像;
第三处理单元,用于对于任一初始训练图像,保持所述初始训练图像的宽高比,将所述初始训练图像处理为具有指定高度的图像,将所述指定高度对应的宽度作为所述初始训练图像的宽度。
14.根据权利要求12所述的装置,其特征在于,所述第二处理单元包括:
填充子单元,用于当所述第一图像的宽度小于指定宽度时,在所述第一图像左右两边使用指定灰度值的像素进行均匀填充,直至所述第一图像的宽度达到指定宽度时,得到第二图像;
裁剪子单元,用于当所述第一图像的宽度大于指定宽度时,对所述第一图像左右两边的像素进行均匀裁剪,直至所述第一图像的宽度达到指定宽度时,得到第二图像。
15.根据权利要求11所述的装置,其特征在于,所述特征提取模块包括:
卷积单元,用于对于任一训练图像,将在上一级卷积层上的第一特征图像输入当前卷积层,使用所述当前卷积层上的初始卷积核和初始偏置矩阵,对所述上一级卷积层上的第一特征图像进行卷积操作,得到所述当前卷积层上的卷积图像,其中,当所述当前卷积层为第一级卷积层时,所述上一级卷积层上的第一特征图像为所述训练图像;
最大池化单元,用于对所述当前卷积层上的卷积图像进行最大池化操作,得到所述训练图像在所述当前卷积层上的第一特征图像;
传输单元,用于继续将所述当前卷积层上的第一特征图像传输至下一级卷积层,并在所述下一级卷积层进行卷积操作和最大池化操作,直至在最后一级卷积层进行卷积操作和最大池化操作,得到所述最后一层卷积层上的第一特征图像为止。
16.根据权利要求11所述的装置,其特征在于,所述水平池化模块包括:
提取单元,用于对任一训练图像在任一级卷积层上的第一特征图像,提取所述卷积层上的第一特征图像中的每个图像每行元素中的最大值,所述第一特征图像包括预设数值的图像,所述预设数值与所述卷积层的卷积核及偏置矩阵的数量相同;
排列单元,用于按照所述每个图像的像素排列情况,将每个图像所有行提取到的最大值排列成一个一维向量;
组合单元,用于组合所述卷积层上的第一特征图像中的所有图像的一维向量,得到所述卷积层上的第二特征图像。
17.根据权利要求16所述的装置,其特征在于,所述第一确定模块,用于对于任一训练图像,将所述训练图像在各级卷积层上的第二特征图像中所有行的元素首尾相接,得到所述训练图像的特征向量。
18.根据权利要求11所述的装置,其特征在于,所述计算模块包括:
获取单元,用于获取每个训练图像的初始类别;
第一计算单元,用于根据每个训练图像的类别概率向量及每个训练图像的初始类别通过如下公式计算每个训练图像的类别误差:
Loss=-Lnylabel
式中,Loss表示每个训练图像的类别误差,label表示每个训练图像的初始类别,yi表示每个训练图像的类别概率向量中的某一元素,ylabel表示初始类别对应的类别概率;
第二计算单元,用于计算所有训练图像的类别误差平均值,将所述类别误差平均值作为类别误差。
19.根据权利要求11至18中任一权利要求所述的装置,其特征在于,所述训练图像为自然场景下的图像,所述自然场景下的图像包括不同语种的字符,所述待训练CNN模型为语种识别分类器。
20.根据权利要求11至18中任一权利要求所述的装置,其特征在于,所述待训练CNN模型包括四级卷积层和两个全连接层,各级卷积层分别包括相同或不同数量的卷积核和偏置矩阵;
所述水平池化操作,用于对每个训练图像在第二级卷积层上的第一特征图像、第三级卷积层上的第一特征图像和第四级卷积层上的第一特征图像分别进行水平池化操作,得到每个训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像;
所述第一确定模块,用于对于任一训练图像,根据所述训练图像在第二级卷积层上的第二特征图像、第三级卷积层上的第二特征图像和第四级卷积层上的第二特征图像,确定所述训练图像的特征向量。
CN201510154027.0A 2015-04-02 2015-04-02 卷积神经网络模型的训练方法及装置 Active CN106156807B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201510154027.0A CN106156807B (zh) 2015-04-02 2015-04-02 卷积神经网络模型的训练方法及装置
PCT/CN2016/077280 WO2016155564A1 (zh) 2015-04-02 2016-03-25 卷积神经网络模型的训练方法及装置
JP2017519841A JP6257848B1 (ja) 2015-04-02 2016-03-25 コンボリューションニューラルネットワークモデルの訓練方法及び装置
KR1020177018163A KR101887558B1 (ko) 2015-04-02 2016-03-25 컨볼루션 신경망 모델의 트레이닝 방법 및 장치
US15/486,102 US9977997B2 (en) 2015-04-02 2017-04-12 Training method and apparatus for convolutional neural network model
US15/942,254 US10607120B2 (en) 2015-04-02 2018-03-30 Training method and apparatus for convolutional neural network model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510154027.0A CN106156807B (zh) 2015-04-02 2015-04-02 卷积神经网络模型的训练方法及装置

Publications (2)

Publication Number Publication Date
CN106156807A true CN106156807A (zh) 2016-11-23
CN106156807B CN106156807B (zh) 2020-06-02

Family

ID=57004224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510154027.0A Active CN106156807B (zh) 2015-04-02 2015-04-02 卷积神经网络模型的训练方法及装置

Country Status (5)

Country Link
US (2) US9977997B2 (zh)
JP (1) JP6257848B1 (zh)
KR (1) KR101887558B1 (zh)
CN (1) CN106156807B (zh)
WO (1) WO2016155564A1 (zh)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682736A (zh) * 2017-01-18 2017-05-17 北京小米移动软件有限公司 图像识别方法及装置
CN106790019A (zh) * 2016-12-14 2017-05-31 北京天融信网络安全技术有限公司 基于特征自学习的加密流量识别方法及装置
CN106815835A (zh) * 2017-01-10 2017-06-09 北京邮电大学 损伤识别方法及装置
CN106909901A (zh) * 2017-02-28 2017-06-30 北京京东尚科信息技术有限公司 从图像中检测物体的方法及装置
CN106951872A (zh) * 2017-03-24 2017-07-14 江苏大学 一种基于无监督深度模型与层次属性的行人再识别方法
CN107194464A (zh) * 2017-04-25 2017-09-22 北京小米移动软件有限公司 卷积神经网络模型的训练方法及装置
CN107229968A (zh) * 2017-05-24 2017-10-03 北京小米移动软件有限公司 梯度参数确定方法、装置及计算机可读存储介质
CN107464216A (zh) * 2017-08-03 2017-12-12 济南大学 一种基于多层卷积神经网络的医学图像超分辨率重构方法
CN108124487A (zh) * 2017-12-22 2018-06-05 深圳前海达闼云端智能科技有限公司 云端抄表方法及装置
WO2018099473A1 (zh) * 2016-12-02 2018-06-07 北京市商汤科技开发有限公司 场景分析方法和系统、电子设备
WO2018099084A1 (zh) * 2016-11-29 2018-06-07 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
CN108154222A (zh) * 2016-12-02 2018-06-12 北京市商汤科技开发有限公司 深度神经网络训练方法和系统、电子设备
CN108333959A (zh) * 2018-03-09 2018-07-27 清华大学 一种基于卷积神经网络模型的机车节能操纵方法
CN109086878A (zh) * 2018-10-19 2018-12-25 电子科技大学 保持旋转不变性的卷积神经网络模型及其训练方法
CN109165666A (zh) * 2018-07-05 2019-01-08 南京旷云科技有限公司 多标签图像分类方法、装置、设备及存储介质
WO2019011093A1 (zh) * 2017-07-12 2019-01-17 腾讯科技(深圳)有限公司 机器学习模型训练方法和装置、表情图像分类方法和装置
WO2019033747A1 (zh) * 2017-08-18 2019-02-21 深圳市道通智能航空技术有限公司 无人机智能跟随目标确定方法、无人机和遥控器
CN109740534A (zh) * 2018-12-29 2019-05-10 北京旷视科技有限公司 图像处理方法、装置及处理设备
CN109754359A (zh) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 一种应用于卷积神经网络的池化处理的方法及系统
CN109961083A (zh) * 2017-12-14 2019-07-02 安讯士有限公司 用于将卷积神经网络应用于图像的方法和图像处理实体
CN110245695A (zh) * 2019-05-30 2019-09-17 华中科技大学 一种基于卷积神经网络的tbm岩渣大小等级识别方法
CN110334705A (zh) * 2019-06-25 2019-10-15 华中科技大学 一种结合全局和局部信息的场景文本图像的语种识别方法
CN110349237A (zh) * 2019-07-18 2019-10-18 华中科技大学 基于卷积神经网络的快速体成像方法
CN110462637A (zh) * 2017-03-24 2019-11-15 华为技术有限公司 神经网络数据处理装置和方法
CN110573859A (zh) * 2017-04-13 2019-12-13 美国西门子医学诊断股份有限公司 用于使用卷积神经网络的hiln表征的方法和装置
CN110704197A (zh) * 2019-10-17 2020-01-17 北京小米移动软件有限公司 处理内存访问开销的方法、装置及介质
CN110795976A (zh) * 2018-08-03 2020-02-14 华为技术有限公司 一种训练物体检测模型的方法、装置以及设备
WO2020107616A1 (zh) * 2018-11-26 2020-06-04 深圳云天励飞技术有限公司 一种并行计算方法及装置
US10740607B2 (en) 2017-08-18 2020-08-11 Autel Robotics Co., Ltd. Method for determining target through intelligent following of unmanned aerial vehicle, unmanned aerial vehicle and remote control
CN111759305A (zh) * 2019-04-02 2020-10-13 纬创资通股份有限公司 活体检测方法与活体检测系统
CN112085128A (zh) * 2020-10-27 2020-12-15 苏州浪潮智能科技有限公司 一种基于脉动阵列的图像识别方法、装置和介质
CN112580662A (zh) * 2020-12-09 2021-03-30 中国水产科学研究院渔业机械仪器研究所 一种基于图像特征识别鱼体方向的方法及系统
CN113688840A (zh) * 2020-05-19 2021-11-23 武汉Tcl集团工业研究院有限公司 图像处理模型的生成方法、处理方法、存储介质及终端
CN114035120A (zh) * 2021-11-04 2022-02-11 合肥工业大学 基于改进cnn的三电平逆变器开路故障诊断方法及系统
CN115082837A (zh) * 2022-07-27 2022-09-20 新沂市新南环保产业技术研究院有限公司 对pet瓶进行灌装纯净水的流速控制系统及其控制方法

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027887A (ko) * 2016-09-07 2018-03-15 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
US10366302B2 (en) * 2016-10-10 2019-07-30 Gyrfalcon Technology Inc. Hierarchical category classification scheme using multiple sets of fully-connected networks with a CNN based integrated circuit as feature extractor
KR102313773B1 (ko) 2016-11-07 2021-10-19 삼성전자주식회사 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
WO2018084473A1 (ko) * 2016-11-07 2018-05-11 삼성전자 주식회사 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
CN106709532B (zh) * 2017-01-25 2020-03-10 京东方科技集团股份有限公司 图像处理方法和装置
US10395141B2 (en) 2017-03-20 2019-08-27 Sap Se Weight initialization for machine learning models
US10692000B2 (en) 2017-03-20 2020-06-23 Sap Se Training machine learning models
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
KR101880901B1 (ko) 2017-08-09 2018-07-23 펜타시큐리티시스템 주식회사 기계 학습 방법 및 장치
US10262240B2 (en) * 2017-08-14 2019-04-16 Microsoft Technology Licensing, Llc Fast deep neural network training
KR101984274B1 (ko) * 2017-08-30 2019-05-30 주식회사 한화 감시 정찰용 표적 탐지 및 형상 식별 장치와 그 방법
US9953437B1 (en) * 2017-10-18 2018-04-24 StradVision, Inc. Method and device for constructing a table including information on a pooling type and testing method and testing device using the same
KR102055359B1 (ko) * 2017-10-24 2019-12-12 에스케이텔레콤 주식회사 연산 가속화가 적용된 신경망 모델의 생성 및 활용을 위한 장치 및 방법
US10599978B2 (en) 2017-11-03 2020-03-24 International Business Machines Corporation Weighted cascading convolutional neural networks
WO2019107881A1 (ko) * 2017-11-28 2019-06-06 한국전자통신연구원 영상 변환 신경망 및 영상 역변환 신경망을 이용한 영상 처리 방법 및 장치
EP3495992A1 (en) * 2017-12-07 2019-06-12 IMRA Europe SAS Danger ranking using end to end deep neural network
CN108062547B (zh) * 2017-12-13 2021-03-09 北京小米移动软件有限公司 文字检测方法及装置
KR102030132B1 (ko) * 2017-12-15 2019-10-08 서강대학교산학협력단 악성 코드 검출 방법 및 시스템
CN109934836B (zh) * 2017-12-15 2023-04-18 中国科学院深圳先进技术研究院 一种图像锐化的检测方法
KR102129161B1 (ko) * 2017-12-29 2020-07-01 중앙대학교 산학협력단 컨볼루션 신경망의 하이퍼파라미터를 설정하는 방법 및 이를 수행하는 단말 장치
KR102026280B1 (ko) * 2018-01-10 2019-11-26 네이버 주식회사 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템
US11107229B2 (en) 2018-01-10 2021-08-31 Samsung Electronics Co., Ltd. Image processing method and apparatus
JP6854248B2 (ja) * 2018-01-18 2021-04-07 株式会社日立製作所 境界探索テスト支援装置および境界探索テスト支援方法
CN110119505A (zh) * 2018-02-05 2019-08-13 阿里巴巴集团控股有限公司 词向量生成方法、装置以及设备
KR102161690B1 (ko) * 2018-02-05 2020-10-05 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102154834B1 (ko) 2018-03-29 2020-09-10 국민대학교산학협력단 저전력 및 고속 연산을 위한 dram용 비트와이즈 컨볼루션 회로
CN108830139A (zh) * 2018-04-27 2018-11-16 北京市商汤科技开发有限公司 人体关键点的深度前后关系预测方法、装置、介质及设备
CN112136140A (zh) 2018-05-14 2020-12-25 诺基亚技术有限公司 用于图像识别的方法和装置
KR102183672B1 (ko) * 2018-05-25 2020-11-27 광운대학교 산학협력단 합성곱 신경망에 대한 도메인 불변 사람 분류기를 위한 연관성 학습 시스템 및 방법
JP7020312B2 (ja) * 2018-06-15 2022-02-16 日本電信電話株式会社 画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラム
US20200004815A1 (en) * 2018-06-29 2020-01-02 Microsoft Technology Licensing, Llc Text entity detection and recognition from images
KR102176695B1 (ko) * 2018-06-29 2020-11-09 포항공과대학교 산학협력단 뉴럴 네트워크 하드웨어
KR20200052440A (ko) * 2018-10-29 2020-05-15 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
KR102190304B1 (ko) * 2018-11-30 2020-12-14 서울대학교 산학협력단 Gpu 연산 기반의 딥러닝을 이용한 선호 콘텐츠 추천 장치 및 그 방법
US11494645B2 (en) * 2018-12-06 2022-11-08 Egis Technology Inc. Convolutional neural network processor and data processing method thereof
US11557107B2 (en) 2019-01-02 2023-01-17 Bank Of America Corporation Intelligent recognition and extraction of numerical data from non-numerical graphical representations
US10423860B1 (en) * 2019-01-22 2019-09-24 StradVision, Inc. Learning method and learning device for object detector based on CNN to be used for multi-camera or surround view monitoring using image concatenation and target object merging network, and testing method and testing device using the same
US10387752B1 (en) * 2019-01-22 2019-08-20 StradVision, Inc. Learning method and learning device for object detector with hardware optimization based on CNN for detection at distance or military purpose using image concatenation, and testing method and testing device using the same
US10430691B1 (en) * 2019-01-22 2019-10-01 StradVision, Inc. Learning method and learning device for object detector based on CNN, adaptable to customers' requirements such as key performance index, using target object merging network and target region estimating network, and testing method and testing device using the same to be used for multi-camera or surround view monitoring
US10387753B1 (en) * 2019-01-23 2019-08-20 StradVision, Inc. Learning method and learning device for convolutional neural network using 1×1 convolution for image recognition to be used for hardware optimization, and testing method and testing device using the same
US10387754B1 (en) * 2019-01-23 2019-08-20 StradVision, Inc. Learning method and learning device for object detector based on CNN using 1×H convolution to be used for hardware optimization, and testing method and testing device using the same
US10402695B1 (en) * 2019-01-23 2019-09-03 StradVision, Inc. Learning method and learning device for convolutional neural network using 1×H convolution for image recognition to be used for hardware optimization, and testing method and testing device using the same
CN109886279B (zh) * 2019-01-24 2023-09-29 平安科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质
CN110516087B (zh) * 2019-04-23 2021-12-07 广州麦仑信息科技有限公司 一种大规模分布式全掌脉络数据的闪速搜索比对方法
EP3745153A1 (en) * 2019-05-28 2020-12-02 Koninklijke Philips N.V. A method for motion artifact detection
KR102036785B1 (ko) * 2019-06-24 2019-11-26 김길곤 엘리베이터의 유지 및 보수의 공정을 제어하기 위한 방법 및 장치
CN110276411B (zh) * 2019-06-28 2022-11-18 腾讯科技(深圳)有限公司 图像分类方法、装置、设备、存储介质和医疗电子设备
CN112241740B (zh) * 2019-07-19 2024-03-26 新华三技术有限公司 一种特征提取方法及装置
CN110569781B (zh) * 2019-09-05 2022-09-09 河海大学常州校区 一种基于改进胶囊网络的时间序列分类方法
US11023783B2 (en) * 2019-09-11 2021-06-01 International Business Machines Corporation Network architecture search with global optimization
US10943353B1 (en) 2019-09-11 2021-03-09 International Business Machines Corporation Handling untrainable conditions in a network architecture search
CN110955590A (zh) * 2019-10-15 2020-04-03 北京海益同展信息科技有限公司 界面检测方法、图像处理方法、装置、电子设备及存储介质
EP3997625A4 (en) * 2019-10-29 2022-11-09 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND ASSOCIATED CONTROL METHOD
CN111178446B (zh) * 2019-12-31 2023-08-04 歌尔股份有限公司 一种基于神经网络的目标分类模型的优化方法、装置
CN111353430A (zh) * 2020-02-28 2020-06-30 深圳壹账通智能科技有限公司 人脸识别方法和系统
CN111353542B (zh) * 2020-03-03 2023-09-19 腾讯科技(深圳)有限公司 图像分类模型的训练方法、装置、计算机设备和存储介质
CN111429334A (zh) * 2020-03-26 2020-07-17 光子算数(北京)科技有限责任公司 一种数据处理方法、装置、存储介质及电子设备
US11436450B2 (en) 2020-03-31 2022-09-06 The Boeing Company Systems and methods for model-based image analysis
KR102333545B1 (ko) * 2020-04-28 2021-12-01 영남대학교 산학협력단 합성곱 신경망 기반의 영상 학습 방법 및 이를 수행하기 위한 장치
CN111666931A (zh) * 2020-05-21 2020-09-15 平安科技(深圳)有限公司 基于混合卷积文字图像识别方法、装置、设备及存储介质
CN111860184B (zh) * 2020-06-23 2024-04-16 广东省特种设备检测研究院珠海检测院 一种自动扶梯机械故障诊断方法和系统
CN112016599B (zh) * 2020-08-13 2023-09-15 驭势科技(浙江)有限公司 用于图像检索的神经网络训练方法、装置及电子设备
US20220138535A1 (en) * 2020-11-04 2022-05-05 Intrinsic Innovation Llc Source-agnostic image processing
US11170581B1 (en) * 2020-11-12 2021-11-09 Intrinsic Innovation Llc Supervised domain adaptation
AU2021204756A1 (en) * 2021-05-21 2022-12-08 Soul Machines Transfer learning in image recognition systems
WO2023008983A1 (ko) 2021-07-30 2023-02-02 주식회사 딥엑스 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치
WO2023219277A1 (ko) * 2022-05-09 2023-11-16 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102919A (zh) * 2014-07-14 2014-10-15 同济大学 一种有效防止卷积神经网络过拟合的图像分类方法
US20140358831A1 (en) * 2013-05-30 2014-12-04 President And Fellows Of Harvard College Systems and methods for bayesian optimization using non-linear mapping of input
CN104463194A (zh) * 2014-11-04 2015-03-25 深圳市华尊科技有限公司 一种人车分类方法及装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4607633B2 (ja) * 2005-03-17 2011-01-05 株式会社リコー 文字方向識別装置、画像形成装置、プログラム、記憶媒体および文字方向識別方法
US9226047B2 (en) * 2007-12-07 2015-12-29 Verimatrix, Inc. Systems and methods for performing semantic analysis of media objects
US20120213426A1 (en) * 2011-02-22 2012-08-23 The Board Of Trustees Of The Leland Stanford Junior University Method for Implementing a High-Level Image Representation for Image Analysis
US8867828B2 (en) * 2011-03-04 2014-10-21 Qualcomm Incorporated Text region detection system and method
JP5777367B2 (ja) * 2011-03-29 2015-09-09 キヤノン株式会社 パターン識別装置、パターン識別方法及びプログラム
US9465985B2 (en) * 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
US9495620B2 (en) * 2013-06-09 2016-11-15 Apple Inc. Multi-script handwriting recognition using a universal recognizer
US20150032449A1 (en) * 2013-07-26 2015-01-29 Nuance Communications, Inc. Method and Apparatus for Using Convolutional Neural Networks in Speech Recognition
CN105493141B (zh) * 2013-08-23 2018-09-14 哈曼国际工业有限公司 非结构化道路边界检测
US20170140528A1 (en) * 2014-01-25 2017-05-18 Amir Aharon Handzel Automated histological diagnosis of bacterial infection using image analysis
CN103996056B (zh) * 2014-04-08 2017-05-24 浙江工业大学 一种基于深度学习的纹身图像分类方法
US20150347860A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Systems And Methods For Character Sequence Recognition With No Explicit Segmentation
US9251431B2 (en) * 2014-05-30 2016-02-02 Apple Inc. Object-of-interest detection and recognition with split, full-resolution image processing pipeline
JP6282193B2 (ja) * 2014-07-28 2018-02-21 クラリオン株式会社 物体検出装置
US9846977B1 (en) * 2014-09-02 2017-12-19 Metromile, Inc. Systems and methods for determining vehicle trip information
CN104463241A (zh) * 2014-10-31 2015-03-25 北京理工大学 一种智能交通监控系统中的车辆类型识别方法
US9665802B2 (en) * 2014-11-13 2017-05-30 Nec Corporation Object-centric fine-grained image classification
CN104463172B (zh) * 2014-12-09 2017-12-22 重庆中科云丛科技有限公司 基于人脸特征点形状驱动深度模型的人脸特征提取方法
JP6360802B2 (ja) * 2015-02-20 2018-07-18 株式会社デンソーアイティーラボラトリ ニューラルネットワーク処理装置、ニューラルネットワーク処理方法、検出装置、検出方法、および、車両
US9524450B2 (en) * 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
JP6380209B2 (ja) * 2015-03-31 2018-08-29 ブラザー工業株式会社 画像処理プログラム、画像処理装置、及び、画像処理方法
US10115055B2 (en) * 2015-05-26 2018-10-30 Booking.Com B.V. Systems methods circuits and associated computer executable code for deep learning based natural language understanding
US9767381B2 (en) * 2015-09-22 2017-09-19 Xerox Corporation Similarity-based detection of prominent objects using deep CNN pooling layers as features
US10068171B2 (en) * 2015-11-12 2018-09-04 Conduent Business Services, Llc Multi-layer fusion in a convolutional neural network for image classification
US10871548B2 (en) * 2015-12-04 2020-12-22 Fazecast, Inc. Systems and methods for transient acoustic event detection, classification, and localization
US20170249339A1 (en) * 2016-02-25 2017-08-31 Shutterstock, Inc. Selected image subset based search
US10354168B2 (en) * 2016-04-11 2019-07-16 A2Ia S.A.S. Systems and methods for recognizing characters in digitized documents
US9904871B2 (en) * 2016-04-14 2018-02-27 Microsoft Technologies Licensing, LLC Deep convolutional neural network prediction of image professionalism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140358831A1 (en) * 2013-05-30 2014-12-04 President And Fellows Of Harvard College Systems and methods for bayesian optimization using non-linear mapping of input
CN104102919A (zh) * 2014-07-14 2014-10-15 同济大学 一种有效防止卷积神经网络过拟合的图像分类方法
CN104463194A (zh) * 2014-11-04 2015-03-25 深圳市华尊科技有限公司 一种人车分类方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAIMING HE: "Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition", 《ARXIV》 *

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018099084A1 (zh) * 2016-11-29 2018-06-07 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
CN110348571A (zh) * 2016-11-29 2019-10-18 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
CN110348571B (zh) * 2016-11-29 2024-03-29 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
US11062453B2 (en) 2016-12-02 2021-07-13 Beijing Sensetime Technology Development Co., Ltd. Method and system for scene parsing and storage medium
CN108154222B (zh) * 2016-12-02 2020-08-11 北京市商汤科技开发有限公司 深度神经网络训练方法和系统、电子设备
CN108154222A (zh) * 2016-12-02 2018-06-12 北京市商汤科技开发有限公司 深度神经网络训练方法和系统、电子设备
WO2018099473A1 (zh) * 2016-12-02 2018-06-07 北京市商汤科技开发有限公司 场景分析方法和系统、电子设备
CN106790019A (zh) * 2016-12-14 2017-05-31 北京天融信网络安全技术有限公司 基于特征自学习的加密流量识别方法及装置
CN106790019B (zh) * 2016-12-14 2019-10-11 北京天融信网络安全技术有限公司 基于特征自学习的加密流量识别方法及装置
CN106815835A (zh) * 2017-01-10 2017-06-09 北京邮电大学 损伤识别方法及装置
CN106682736A (zh) * 2017-01-18 2017-05-17 北京小米移动软件有限公司 图像识别方法及装置
CN106909901B (zh) * 2017-02-28 2020-06-05 北京京东尚科信息技术有限公司 从图像中检测物体的方法及装置
CN106909901A (zh) * 2017-02-28 2017-06-30 北京京东尚科信息技术有限公司 从图像中检测物体的方法及装置
CN106951872A (zh) * 2017-03-24 2017-07-14 江苏大学 一种基于无监督深度模型与层次属性的行人再识别方法
CN110462637A (zh) * 2017-03-24 2019-11-15 华为技术有限公司 神经网络数据处理装置和方法
CN110573859B (zh) * 2017-04-13 2022-07-26 美国西门子医学诊断股份有限公司 用于使用卷积神经网络的hiln表征的方法和装置
CN110573859A (zh) * 2017-04-13 2019-12-13 美国西门子医学诊断股份有限公司 用于使用卷积神经网络的hiln表征的方法和装置
CN107194464B (zh) * 2017-04-25 2021-06-01 北京小米移动软件有限公司 卷积神经网络模型的训练方法及装置
CN107194464A (zh) * 2017-04-25 2017-09-22 北京小米移动软件有限公司 卷积神经网络模型的训练方法及装置
CN107229968A (zh) * 2017-05-24 2017-10-03 北京小米移动软件有限公司 梯度参数确定方法、装置及计算机可读存储介质
CN107229968B (zh) * 2017-05-24 2021-06-29 北京小米移动软件有限公司 梯度参数确定方法、装置及计算机可读存储介质
WO2019011093A1 (zh) * 2017-07-12 2019-01-17 腾讯科技(深圳)有限公司 机器学习模型训练方法和装置、表情图像分类方法和装置
US11537884B2 (en) 2017-07-12 2022-12-27 Tencent Technology (Shenzhen) Company Limited Machine learning model training method and device, and expression image classification method and device
CN107464216A (zh) * 2017-08-03 2017-12-12 济南大学 一种基于多层卷积神经网络的医学图像超分辨率重构方法
WO2019033747A1 (zh) * 2017-08-18 2019-02-21 深圳市道通智能航空技术有限公司 无人机智能跟随目标确定方法、无人机和遥控器
US10740607B2 (en) 2017-08-18 2020-08-11 Autel Robotics Co., Ltd. Method for determining target through intelligent following of unmanned aerial vehicle, unmanned aerial vehicle and remote control
US11734554B2 (en) 2017-11-01 2023-08-22 Tencent Technology (Shenzhen) Company Limited Pooling processing method and system applied to convolutional neural network
US11537857B2 (en) 2017-11-01 2022-12-27 Tencent Technology (Shenzhen) Company Limited Pooling processing method and system applied to convolutional neural network
CN109754359A (zh) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 一种应用于卷积神经网络的池化处理的方法及系统
CN109961083A (zh) * 2017-12-14 2019-07-02 安讯士有限公司 用于将卷积神经网络应用于图像的方法和图像处理实体
CN108124487A (zh) * 2017-12-22 2018-06-05 深圳前海达闼云端智能科技有限公司 云端抄表方法及装置
CN108333959A (zh) * 2018-03-09 2018-07-27 清华大学 一种基于卷积神经网络模型的机车节能操纵方法
CN109165666A (zh) * 2018-07-05 2019-01-08 南京旷云科技有限公司 多标签图像分类方法、装置、设备及存储介质
US11423634B2 (en) 2018-08-03 2022-08-23 Huawei Cloud Computing Technologies Co., Ltd. Object detection model training method, apparatus, and device
CN110795976A (zh) * 2018-08-03 2020-02-14 华为技术有限公司 一种训练物体检测模型的方法、装置以及设备
US11605211B2 (en) 2018-08-03 2023-03-14 Huawei Cloud Computing Technologies Co., Ltd. Object detection model training method and apparatus, and device
CN109086878B (zh) * 2018-10-19 2019-12-17 电子科技大学 保持旋转不变性的卷积神经网络模型及其训练方法
CN109086878A (zh) * 2018-10-19 2018-12-25 电子科技大学 保持旋转不变性的卷积神经网络模型及其训练方法
WO2020107616A1 (zh) * 2018-11-26 2020-06-04 深圳云天励飞技术有限公司 一种并行计算方法及装置
CN109740534B (zh) * 2018-12-29 2021-06-25 北京旷视科技有限公司 图像处理方法、装置及处理设备
CN109740534A (zh) * 2018-12-29 2019-05-10 北京旷视科技有限公司 图像处理方法、装置及处理设备
CN111759305B (zh) * 2019-04-02 2023-08-25 纬创资通股份有限公司 活体检测方法与活体检测系统
CN111759305A (zh) * 2019-04-02 2020-10-13 纬创资通股份有限公司 活体检测方法与活体检测系统
CN110245695A (zh) * 2019-05-30 2019-09-17 华中科技大学 一种基于卷积神经网络的tbm岩渣大小等级识别方法
CN110334705B (zh) * 2019-06-25 2021-08-03 华中科技大学 一种结合全局和局部信息的场景文本图像的语种识别方法
CN110334705A (zh) * 2019-06-25 2019-10-15 华中科技大学 一种结合全局和局部信息的场景文本图像的语种识别方法
CN110349237A (zh) * 2019-07-18 2019-10-18 华中科技大学 基于卷积神经网络的快速体成像方法
CN110704197A (zh) * 2019-10-17 2020-01-17 北京小米移动软件有限公司 处理内存访问开销的方法、装置及介质
US11586469B2 (en) 2019-10-17 2023-02-21 Beijing Xiaomi Mobile Software Co., Ltd. Method, device and storage medium for processing overhead of memory access
CN113688840A (zh) * 2020-05-19 2021-11-23 武汉Tcl集团工业研究院有限公司 图像处理模型的生成方法、处理方法、存储介质及终端
CN112085128B (zh) * 2020-10-27 2022-06-07 苏州浪潮智能科技有限公司 一种基于脉动阵列的图像识别方法、装置和介质
US11830244B2 (en) 2020-10-27 2023-11-28 Inspur Suzhou Intelligent Technology Co., Ltd. Image recognition method and apparatus based on systolic array, and medium
CN112085128A (zh) * 2020-10-27 2020-12-15 苏州浪潮智能科技有限公司 一种基于脉动阵列的图像识别方法、装置和介质
CN112580662A (zh) * 2020-12-09 2021-03-30 中国水产科学研究院渔业机械仪器研究所 一种基于图像特征识别鱼体方向的方法及系统
CN114035120A (zh) * 2021-11-04 2022-02-11 合肥工业大学 基于改进cnn的三电平逆变器开路故障诊断方法及系统
CN115082837A (zh) * 2022-07-27 2022-09-20 新沂市新南环保产业技术研究院有限公司 对pet瓶进行灌装纯净水的流速控制系统及其控制方法
CN115082837B (zh) * 2022-07-27 2023-07-04 新沂市新南环保产业技术研究院有限公司 对pet瓶进行灌装纯净水的流速控制系统及其控制方法

Also Published As

Publication number Publication date
US9977997B2 (en) 2018-05-22
WO2016155564A1 (zh) 2016-10-06
US20170220904A1 (en) 2017-08-03
JP6257848B1 (ja) 2018-01-10
CN106156807B (zh) 2020-06-02
KR101887558B1 (ko) 2018-08-10
KR20170091140A (ko) 2017-08-08
US20180225552A1 (en) 2018-08-09
US10607120B2 (en) 2020-03-31
JP2018503152A (ja) 2018-02-01

Similar Documents

Publication Publication Date Title
CN106156807A (zh) 卷积神经网络模型的训练方法及装置
CN105005457B (zh) 地理位置展示方法及装置
CN110162799A (zh) 模型训练方法、机器翻译方法以及相关装置和设备
CN110321965A (zh) 物体重识别模型的训练方法、物体重识别的方法及装置
CN106710596A (zh) 回答语句确定方法及装置
CN107493426A (zh) 一种信息采集方法、设备和计算机可读存储介质
CN110166828A (zh) 一种视频处理方法和装置
CN108234295A (zh) 群功能控件的显示控制方法、终端及计算机可读存储介质
CN107464290A (zh) 三维信息展示方法、装置和移动终端
CN107734260A (zh) 一种图像处理方法及移动终端
CN107977431A (zh) 图像处理方法、装置、计算机设备和计算机可读存储介质
CN109145809A (zh) 一种记谱处理方法和装置以及计算机可读存储介质
CN107194732A (zh) 一种应用推送方法、移动终端以及计算机可读存储介质
CN108170817A (zh) 照片主体的演变视频获取方法、装置及可读存储介质
CN107944022A (zh) 图片分类方法、移动终端及计算机可读存储介质
CN108519080A (zh) 一种导航路线规划方法及终端
CN107704514A (zh) 一种照片管理方法、装置及计算机可读存储介质
CN107729540A (zh) 照片分类的方法、设备及计算机可存储介质
CN105989572A (zh) 图片处理方法及装置
CN107678650A (zh) 一种图片识别方法、移动终端及计算机可读存储介质
CN107728877A (zh) 一种应用推荐方法及移动终端
CN108536869A (zh) 一种搜索分词的方法、装置及计算机可读存储介质
CN108234979A (zh) 一种拍摄方法、移动终端及计算机可读存储介质
CN110443852A (zh) 一种图像定位的方法及相关装置
CN104077129B (zh) 图标处理方法、装置及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant