CN107292352B - 基于卷积神经网络的图像分类方法和装置 - Google Patents
基于卷积神经网络的图像分类方法和装置 Download PDFInfo
- Publication number
- CN107292352B CN107292352B CN201710667909.6A CN201710667909A CN107292352B CN 107292352 B CN107292352 B CN 107292352B CN 201710667909 A CN201710667909 A CN 201710667909A CN 107292352 B CN107292352 B CN 107292352B
- Authority
- CN
- China
- Prior art keywords
- elements
- feature vector
- weight matrix
- rows
- vector
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于卷积神经网络的图像分类方法和装置、服务器及可读存储介质。该方法包括:对待识别的图像进行卷积,得到特征图;对特征图进行特征提取,得到特征向量;基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果;以及基于输出结果,对图像进行分类。本发明优化了全连接层的算法,因此,降低了全连接层的待计算数据量和计算量,并进一步提高了计算效率。
Description
技术领域
本发明涉及深度学习(Deep Learning)和图像处理技术领域,尤其涉及一种基于卷积神经网络的图像分类方法和装置、服务器及可读存储介质。
背景技术
深度学习是机器学习(Machine Learning)研究之一新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,通过模仿人脑的机制来解释数据,例如图像、声音和文本。深度学习的核心是通过构建具有多个隐层的机器学习模型和大量的训练数据来学习更有用的特征,从而最终提升分类或预测的准确性。
目前,在计算机视觉和自然语言中,主流的深度学习算法是卷积神经网络(Convolutional neural network,CNN)。在图像分类问题上,深度学习模型一般由多层的卷积加上几层的全连接层(Fully Connected Layer)来实现,并且每层卷积和全连接层后面都连接一激活函数(Activation Function),该激活函数为非线性变化函数,这样每层的计算结果都会有大量“0”出现,并且随着层数的增加,“0”的比例越来越大,导致待计算数据量和计算量非常大。
因此,亟待提出一种能够降低待计算数据量和计算量的图像分类技术。
发明内容
有鉴于此,本发明实施例提供一种基于卷积神经网络的图像分类方法和装置、服务器及可读存储介质,能够提高计算效率。
本发明的一个方面提供一种基于卷积神经网络的图像分类方法,该方法包括:对待识别的图像进行卷积,得到特征图;对特征图进行特征提取,得到特征向量;基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果;以及基于输出结果,对图像进行分类。
在本发明的一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果,包括:确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应;以及将至少一个向量中的每列元素相加,得到输出结果。
在本发明的一个实施例中,确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,包括:判断特征向量中的第i个元素是否为0,其中i是大于0的整数;如果第i个元素不为0,则将第i个元素分别乘以权重矩阵中的第i行元素,得到第i个元素对应的向量。
在本发明的一个实施例中,判断特征向量中的第i个元素是否为0,包括:如果第i个元素为0,则跳过第i个元素,并继续判断第i+1个元素是否为0。
在本发明的一个实施例中,确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,包括:判断特征向量中的至少两个连续元素是否为0;如果至少两个连续元素不全为0,则将至少两个连续元素中的至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应。
在本发明的一个实施例中,判断特征向量中的至少两个连续元素是否为0,包括:如果至少两个连续元素全部为0,则跳过至少两个连续元素,并继续判断至少两个连续元素之后的至少一个元素是否为0。
在本发明的一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
本发明的另一个方面提供一种基于卷积神经网络的图像分类装置,该装置包括:卷积模块,用于对待识别的图像进行卷积,得到特征图;提取模块,用于对特征图进行特征提取,得到特征向量;运算模块,用于基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果;以及分类模块,用于基于输出结果,对图像进行分类。
在本发明的一个实施例中,运算模块确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应;以及将至少一个向量中的每列元素相加,得到输出结果。
在本发明的一个实施例中,运算模块判断特征向量中的第i个元素是否为0,其中i是大于0的整数;如果第i个元素不为0,则将第i个元素分别乘以权重矩阵中的第i行元素,得到第i个元素对应的向量。
在本发明的一个实施例中,判断特征向量中的第i个元素是否为0,包括:如果第i个元素为0,则跳过第i个元素,并继续判断第i+1个元素是否为0。
在本发明的一个实施例中,运算模块判断特征向量中的至少两个连续元素是否为0;如果至少两个连续元素不全为0,则将至少两个连续元素中的至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应。
在本发明的一个实施例中,判断特征向量中的至少两个连续元素是否为0,包括:如果至少两个连续元素全部为0,则跳过至少两个连续元素,并继续判断至少两个连续元素之后的至少一个元素是否为0。
在本发明的一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
本发明的再一个方面提供一种服务器,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,其中,处理器执行可执行指令时实现如上所述的方法。
本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,可执行指令被处理器执行时实现如上所述的方法。
根据本发明实施例提供的技术方案,通过对待识别的图像进行卷积得到特征图,对特征图进行特征提取得到特征向量,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算得到输出结果,以及基于输出结果对图像进行分类,优化了全连接层的算法,降低了全连接层的待计算数据量和计算量,并进一步提高了计算效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是全连接层的算法的示意图。
图2是根据本发明一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。
图3是本发明的全连接层的算法的示意图。
图4是根据本发明另一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。
图5是根据本发明另一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。
图6是根据本发明一示例性实施例示出的一种基于卷积神经网络的图像分类装置的框图。
图7是根据本发明一示例性实施例示出的用于对图像进行分类的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
卷积神经网络是人工神经网络的一种,已成为众多科学领域的研究热点之一,特别是在模式分类领域,由于卷积神经网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。另外,卷积神经网络的权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
图1是全连接层的算法的示意图。如图1所示,输入(Input)是10000维的向量,权重(Weight)是10000×5000的矩阵,输出(Output)是5000维的向量。这里,输出向量中的第一个元素的值是输入向量中的所有元素与权重矩阵中的第一列元素进行点积运算(即对应相乘再求和)得到的,输出向量中的第二个元素的值是输入向量中的所有元素与权重矩阵中的第二列元素进行点积运算得到的,以此类推,输出向量中的第n个元素的值是输入向量中的所有元素与权重矩阵中的第n列元素对应相乘再求和得到的,这里,n是大于0的整数。
由此可见,在上述技术方案中,全连接层的算法并没有考虑输入向量中的元素是否为0的情况,也就是说,无论输入向量中的元素是否为0,都需要利用点积运算来计算输出向量,因此,导致全连接层的待计算数据量和计算量非常大,并进一步降低了全连接层的计算效率。
图2是根据本发明一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。如图2所示,该方法包括:
210:对待识别的图像进行卷积,得到特征图(Feature Map)。
在本发明实施例中,在对待识别的图像进行卷积之前,首先要构建卷积神经网络,该卷积神经网络可以包括输入层(Input Layer)、多个卷积层(Convolutional Layer)、至少一个全连接层以及输出层(Output Layer),其中每两个卷积层之间可以添加一激活函数,或者每两个卷积层之间可以设置一池化层(Pooling Layer)并在该池化层后添加一激活函数。
这里,输入层可以直接作用于原始的输入数据,并且对于输入是图像来说,输入数据是图像的像素值。卷积层也称为特征提取层,用于提取输入数据的特征,并且每一个不同的卷积核提取输入数据的特征都不相同,卷积层的卷积核的数量越多,能够提取的输入数据的特征就越多。激活函数可以包括但不限于Sigmoid函数、ReLU(Rectified LinearUnit)函数、Tanh函数、Softmax函数,目前,使用最多的激活函数是ReLU函数,因为其收敛更快,并且能保持同样效果。池化层也称为下采样层(Subsamping Layer),用于对特征图进行下采样,降低特征图的分辨率,通过池化可以降低卷积层输出的特征向量,同时改善结果(不易出现过拟合);最常见的池化操作为最大池化(Max Pooling)和平均池化(MeanPooling),最大池化是选取图像区域的最大值作为该区域池化后的值,而平均池化是计算图像区域的平均值作为该区域池化后的值。全连接层在整个卷积神经网络中起到“分类器”的作用,其每一个输出都可以看成是前一层的每一个神经节点乘以一个权重矩阵,最后加上一个偏置值得到的。输出层神经节点的数目是根据具体应用任务来设定的,如果是分类任务,输出层通常是一个分类器,通常是Softmax分类器。
需要说明的是,卷积层、激活函数、池化层和全连接层的数量可以根据实际需要设置,本发明对此不作限制。另外,本发明不限于如上所述的卷积神经网络模型,而是可以应用到其它网络模型,例如生物神经网络模型。
220:对特征图进行特征提取,得到特征向量。
在本发明实施例中,可以通过诸如方向梯度直方图(Histogram of OrientedGradient,HOG)、局部二值模式(Local Binary Pattern,LBP)等特征提取方法对特征图的特征进行提取,得到特征图的特征向量。
230:基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果。
在本发明实施例中,稀疏性(sparsity)是指特征向量中的元素只有很少的几个是非零元素或者只有很少的几个是远大于0的元素。具体地,根据特征向量的稀疏性,将特征向量中的非零元素分别与权重矩阵中对应于该非零元素所在位置(即,非零元素在特征向量中所处的列数)的一行元素相乘,得到非零元素对应的向量,将所有非零元素对应的向量的列元素相加,得到最终的输出结果。
需要说明的是,权重矩阵可以根据实际需要设置,本发明对此不作限制。
240:基于输出结果,对图像进行分类。
在本发明实施例中,经过一系列的卷积层和池化层之后,再经过全连接层得到图像属于每个类别的得分(即,输出结果),再利用分类器对图像进行分类。
需要说明的是,本发明的分类器可以包括但不限于Softmax分类器、支持向量机(Support Vector Machine,SVM)分类器、线性分类器。
根据本发明实施例提供的技术方案,通过对待识别的图像进行卷积得到特征图,对特征图进行特征提取得到特征向量,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果,以及基于输出结果对图像进行分类,优化了全连接层的算法,降低了全连接层的待计算数据量和计算量,并进一步提高了计算效率。
另外,由于降低了待计算数据量和计算量,因此,降低了内存的带宽,并进一步实现了硬件的加速计算。
在本发明的另一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果,包括:确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应;以及将至少一个向量中的每列元素相加,得到输出结果。
具体地,判断特征向量中的元素是否为0,当确定特征向量中存在至少一个非零元素时,将至少一个非零元素与权重矩阵中的至少一行元素分别相乘,得到至少一个向量,该至少一行元素所在的行数对应于至少一个非零元素在特征向量中所处的列数;进一步地,将至少一个向量中的列元素分别相加,得到最终的输出结果。
在本发明的另一个实施例中,确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,包括:判断特征向量中的第i个元素是否为0,其中i是大于0的整数;如果第i个元素不为0,则将第i个元素分别乘以权重矩阵中的第i行元素,得到第i个元素对应的向量。
具体地,假设特征向量[a1 a2 … an]中有n个元素,n是大于0的整数,对于第i个元素ai,0<i≤n,如果确定元素ai不为0,则将元素ai与权重矩阵中的第i行元素分别相乘,得到元素ai对应的向量。
可选地,作为另一个实施例,判断特征向量中的第i个元素是否为0,包括:如果第i个元素为0,则跳过第i个元素,并继续判断第i+1个元素是否为0。
具体地,如果第i个元素ai为0,则直接跳过该元素ai,同时忽略与元素ai对应的权重矩阵中的第i行元素,也就是说,不需要发起针对元素ai的计算请求。进一步地,继续对第i+1个元素ai+1是否为0进行判断。
在本发明的另一个实施例中,确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,包括:判断特征向量中的至少两个连续元素是否为0;如果至少两个连续元素不全为0,则将至少两个连续元素中的至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应。
具体地,对特征向量中的至少两个连续元素是否为0进行判断,这里,至少两个连续元素不全为0可以包括以下两种情况:一是至少两个连续元素都不为0,二是至少两个连续元素中的至少一个元素不为0。针对至少两个连续元素都不为0的情况,将至少两个连续元素分别与权重矩阵中对应于至少两个连续元素所在位置的一行元素相乘,得到至少两个连续元素分别对应的向量。针对至少两个连续元素中的至少一个元素不为0的情况,将至少两个连续元素中的至少一个非零元素与权重矩阵中对应于至少一个非零元素所在位置的一行元素分别相乘,得到至少一个非零元素对应的至少一个向量,而省略有关零元素的计算。
可选地,作为另一个实施例,判断特征向量中的至少两个连续元素是否为0,包括:如果至少两个连续元素全部为0,则跳过至少两个连续元素,并继续判断至少两个连续元素之后的至少一个元素是否为0。
具体地,如果至少两个连续元素都为0,则直接跳过至少两个连续元素,并继续对至少两个连续元素之后的至少一个元素是否为0进行判断,也就是说,不需要发起针对至少两个连续零元素的计算请求。
需要说明的是,至少两个连续元素之后的至少一个元素可以是单个元素,也可以是多个元素,本发明对此不作限制。
在本发明的另一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
具体地,由于全连接层的参数是最多的,因此,对于特征向量和权重矩阵的算法优化也是针对全连接层进行的。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明的全连接层的算法的示意图。如图3所示,输入(Input)是10000维的向量,权重(Weight)是10000×5000的矩阵,输出(Output)是5000维的向量。这里,假设输入的10000维的向量中仅有第一个元素、第三个元素、第十个元素和第五十个元素不为0,而其它元素都为0,因此,在计算最终的输出时,直接跳过所有零元素(即,不需要发起针对零元素的任何计算),而仅对非零元素进行计算。
具体地,将第一个元素与权重矩阵中的第一行元素分别相乘,得到第一个元素对应的向量;将第三个元素与权重矩阵中的第三行元素分别相乘,得到第三个元素对应的向量;将第十个元素与权重矩阵中的第十行元素分别相乘,得到第十个元素对应的向量;以及将第五十个元素与权重矩阵中的第五十行元素分别相乘,得到第五十个元素对应的向量;最后,将上述四个非零元素的向量中的每列元素相加,得到最终的输出结果。
由此可见,在本发明的上述技术方案中,全连接层的算法考虑到了输入向量中的元素为0的情况,即当输入向量中有零元素时,直接跳过该零元素,同时省略权重矩阵中与该零元素所在位置对应的一行元素的计算,因此,降低了全连接层的待计算数据量和计算量,并进一步提高了计算效率。
图4是根据本发明另一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。如图4所示,该方法包括:
410:对待识别的图像进行卷积,得到特征图。
420:对特征图进行特征提取,得到特征向量。
430:判断特征向量中的第i个元素是否为0,其中i是大于0的整数。
440:如果第i个元素为0,则跳过第i个元素,并继续判断第i+1个元素是否为0。
450:如果第i个元素不为0,则将第i个元素分别乘以权重矩阵中的第i行元素,得到第i个元素对应的向量。
在本发明实施例中,假设特征向量[0 1 0 0 2]是一个5维的向量,权重矩阵是一个5×3的矩阵具体地,逐一对该特征向量中的元素是否为0进行判断,因为第一个元素为0,所以直接跳过第一个元素,并继续对第二个元素是否为0进行判断;因为第二个元素为1,所以将第二个元素与权重矩阵中的第二行元素分别相乘,得到第二个元素对应的向量[1 1 1];接续,因为第三个元素和第四个元素都为0,所以直接跳过第三个元素和第四个元素,并继续对第五个元素是否为0进行判断;因为第五个元素为2,所以将第五个元素与权重矩阵中的第五行元素分别相乘,得到第五个元素对应的向量[0 0 2];最后,将第二个元素和第五个元素对应的向量中的每一列元素对应相加,得到最终的输出结果[1 1 3]。
需要说明的是,本发明对特征向量中的元素的判断顺序不作限制,例如,可以从第一个元素开始判断,也可以从最后一个元素开始判断,或者还可以从中间某个元素开始判断,只要确保对特征向量中的所有元素都进行过判断即可。
根据本发明实施例提供的技术方案,通过逐一对特征向量中的元素是否为0进行判断,能够直接跳过零元素,并同时省略权重矩阵中与零元素所在的列数对应的一行元素的计算,因此,降低了待计算数据量和计算量,并进一步提高了计算效率。
在本发明的另一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
具体地,由于全连接层的参数是最多的,因此,对于特征向量和权重矩阵的算法优化也是针对全连接层进行的。
图5是根据本发明另一示例性实施例示出的一种基于卷积神经网络的图像分类方法的流程图。如图5所示,该方法包括:
510:对待识别的图像进行卷积,得到特征图。
520:对特征图进行特征提取,得到特征向量。
530:判断特征向量中的至少两个连续元素是否为0。
540:如果至少两个连续元素全部为0,则跳过至少两个连续元素,并继续判断至少两个连续元素之后的至少一个元素是否为0。
550:如果至少两个连续元素不全为0,则将至少两个连续元素中的至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应。
在本发明实施例中,假设特征向量[0 0 1 0 0 0 0 2 1 0]是一个10维的向量,权重矩阵是一个10×4的矩阵具体地,对该特征向量中的至少两个连续元素是否为0进行判断,这里,以三个连续元素为例,因为第一个元素和第二个元素都为0,而第三个元素为1,所以直接将第一个元素和第二个元素跳过,将第三个元素与权重矩阵中的第三行元素分别相乘,得到第三个元素对应的向量[0 0 0 0];接续,对第四个元素、第五个元素和第六个元素进行判断,因为第四个元素、第五个元素和第六个元素都为0,所以直接将第四个元素、第五个元素和第六个元素跳过,并继续对第七个元素、第八个元素和第九个元素是否为0进行判断;因为第七个元素为0,所以直接跳过,因为第八个元素为2,所以将第八个元素与权重矩阵中的第八行元素分别相乘,得到第八个元素对应的向量[4 0 2 4],因为第九个元素为1,所以将第九个元素与权重矩阵中的第九行元素分别相乘,得到第九个元素对应的向量[0 1 1 1];进一步地,对第十个元素是否为0进行判断,因为第十个元素为0,所以省略关于第十个元素的计算;最后,将第三个元素、第八个元素和第九个元素对应的向量中的每一列元素对应相加,得到最终的输出结果[4 1 3 5]。
需要说明的是,本发明对两个连续元素进行判断,也可以先对三个连续元素进行判断,再对一个元素进行判断;或者,还可以先对两个连续元素进行判断,再对一个元素进行判断,然后对三个连续元素进行判断,也就是说,本发明对两个连续元素之后的至少一个元素个数不作限制,例如,至少一个元素可以是单个元素,也可以是多个元素,只要保证对特征向量中的所有元素都进行过判断即可。
根据本发明实施例提供的技术方案,能够同时对两个或两个以上连续元素进行判断,因此,降低了待计算数据量和计算量,并进一步提高了计算效率。
在本发明的另一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
具体地,由于全连接层的参数是最多的,因此,对于特征向量和权重矩阵的算法优化也是针对全连接层进行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图6是根据本发明一示例性实施例示出的一种基于卷积神经网络的图像分类装置600的框图。如图6所示,该装置包括:
卷积模块610,用于对待识别的图像进行卷积,得到特征图。
提取模块620,用于对特征图进行特征提取,得到特征向量。
运算模块630,用于基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果。
分类模块640,用于基于输出结果,对图像进行分类。
根据本发明实施例提供的技术方案,通过对待识别的图像进行卷积得到特征图,对特征图进行特征提取得到特征向量,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果,以及基于输出结果对图像进行分类,优化了全连接层的算法,降低了全连接层的待计算数据量和计算量,并进一步提高了全连接层的计算效率。
在本发明的另一个实施例中,图6的运算模块630还确定特征向量中的至少一个非零元素,并将至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应;以及将至少一个向量中的每列元素相加,得到输出结果。
在本发明的另一个实施例中,图6的运算模块630还判断特征向量中的第i个元素是否为0,其中i是大于0的整数;如果第i个元素不为0,则将第i个元素分别乘以权重矩阵中的第i行元素,得到第i个元素对应的向量。
进一步地,判断特征向量中的第i个元素是否为0,包括:如果第i个元素为0,则跳过第i个元素,并继续判断第i+1个元素是否为0。
在本发明的另一个实施例中,图6的运算模块630还判断特征向量中的至少两个连续元素是否为0;如果至少两个连续元素不全为0,则将至少两个连续元素中的至少一个非零元素分别乘以权重矩阵中的至少一行元素,得到至少一个向量,其中至少一个非零元素所在的列数与至少一个行元素所在的行数对应。
进一步地,判断特征向量中的至少两个连续元素是否为0,包括:如果至少两个连续元素全部为0,则跳过至少两个连续元素,并继续判断至少两个连续元素之后的至少一个元素是否为0。
在本发明的另一个实施例中,基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
图7是根据本发明一示例性实施例示出的用于对图像进行分类的装置700的框图。
参照图7,装置700包括处理组件710,其进一步包括一个或多个处理器,以及由存储器720所代表的存储器资源,用于存储可由处理组件710的执行的指令,例如应用程序。存储器720中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件710被配置为执行指令,以执行上述基于卷积神经网络的图像分类方法。
装置700还可以包括一个电源组件被配置为执行装置700的电源管理,一个有线或无线网络接口被配置为将装置700连接到网络,和一个输入输出(I/O)接口。装置700可以操作基于存储在存储器720的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当存储介质中的指令由上述装置700的处理器执行时,使得上述装置700能够执行一种基于卷积神经网络的图像分类方法,该方法包括:对待识别的图像进行卷积,得到特征图;对特征图进行特征提取,得到特征向量;基于特征向量的稀疏性对特征向量和权重矩阵进行乘加运算,得到输出结果;以及基于输出结果,对图像进行分类。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于卷积神经网络的图像分类方法,其特征在于,所述方法包括:
对待识别的图像进行卷积,得到特征图;
对所述特征图进行特征提取,得到特征向量;
基于所述特征向量的稀疏性对所述特征向量和权重矩阵进行乘加运算,得到输出结果;以及
基于所述输出结果,对所述图像进行分类;
其中,所述基于所述特征向量的稀疏性对所述特征向量和权重矩阵进行乘加运算,得到输出结果,包括:
确定所述特征向量中的多个非零元素,并将所述多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,其中所述多个非零元素所在的列数与所述多行元素所在的行数对应;以及
将所述多个向量中的每列元素相加,得到所述输出结果,
其中,所述确定所述特征向量中的多个非零元素,并将所述多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,包括:
判断所述特征向量中的第i个元素是否为0,其中i是大于0的整数;
如果所述第i个元素不为0,则将所述第i个元素分别乘以所述权重矩阵中的第i行元素,得到所述第i个元素对应的向量,
其中,所述判断所述特征向量中的第i个元素是否为0,包括:
如果所述第i个元素为0,则跳过所述第i个元素,并继续判断第i+1个元素是否为0。
2.根据权利要求1所述的图像分类方法,其特征在于,所述确定所述特征向量中的多个非零元素,并将所述多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,包括:
判断所述特征向量中的至少两个连续元素是否为0;
如果所述至少两个连续元素不全为0,则将所述至少两个连续元素中的多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,其中所述多个非零元素所在的列数与所述多行元素所在的行数对应。
3.根据权利要求2所述的图像分类方法,其特征在于,所述判断所述特征向量中的至少两个连续元素是否为0,包括:
如果所述至少两个连续元素全部为0,则跳过所述至少两个连续元素,并继续判断所述至少两个连续元素之后的多个元素是否为0。
4.根据权利要求1-3中任一项所述的图像分类方法,其特征在于,所述基于所述特征向量的稀疏性对所述特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
5.一种基于卷积神经网络的图像分类装置,其特征在于,所述装置包括:
卷积模块,用于对待识别的图像进行卷积,得到特征图;
提取模块,用于对所述特征图进行特征提取,得到特征向量;
运算模块,用于基于所述特征向量的稀疏性对所述特征向量和权重矩阵进行乘加运算,得到输出结果;以及
分类模块,用于基于所述输出结果,对所述图像进行分类;
其中,所述运算模块确定所述特征向量中的多个非零元素,并将所述多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,其中所述多个非零元素所在的列数与所述多行元素所在的行数对应;以及将所述多个向量中的每列元素相加,得到所述输出结果,
其中,所述运算模块判断所述特征向量中的第i个元素是否为0,其中i是大于0的整数;如果所述第i个元素不为0,则将所述第i个元素分别乘以所述权重矩阵中的第i行元素,得到所述第i个元素对应的向量,
其中,所述判断所述特征向量中的第i个元素是否为0,包括:
如果所述第i个元素为0,则跳过所述第i个元素,并继续判断第i+1个元素是否为0。
6.根据权利要求5所述的图像分类装置,其特征在于,所述运算模块判断所述特征向量中的至少两个连续元素是否为0;如果所述至少两个连续元素不全为0,则将所述至少两个连续元素中的多个非零元素分别乘以所述权重矩阵中的多行元素,得到多个向量,其中所述多个非零元素所在的列数与所述多行元素所在的行数对应。
7.根据权利要求6所述的图像分类装置,其特征在于,所述判断所述特征向量中的至少两个连续元素是否为0,包括:
如果所述至少两个连续元素全部为0,则跳过所述至少两个连续元素,并继续判断所述至少两个连续元素之后的多个元素是否为0。
8.根据权利要求5-7中任一项所述的图像分类装置,其特征在于,所述基于所述特征向量的稀疏性对所述特征向量和权重矩阵进行乘加运算是在全连接层上进行的。
9.一种服务器,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667909.6A CN107292352B (zh) | 2017-08-07 | 2017-08-07 | 基于卷积神经网络的图像分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667909.6A CN107292352B (zh) | 2017-08-07 | 2017-08-07 | 基于卷积神经网络的图像分类方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107292352A CN107292352A (zh) | 2017-10-24 |
CN107292352B true CN107292352B (zh) | 2020-06-02 |
Family
ID=60104753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710667909.6A Active CN107292352B (zh) | 2017-08-07 | 2017-08-07 | 基于卷积神经网络的图像分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107292352B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977704B (zh) * | 2017-11-10 | 2020-07-31 | 中国科学院计算技术研究所 | 权重数据存储方法和基于该方法的神经网络处理器 |
US20210216871A1 (en) * | 2018-09-07 | 2021-07-15 | Intel Corporation | Fast Convolution over Sparse and Quantization Neural Network |
CN111487875B (zh) * | 2019-01-28 | 2021-07-23 | 珠海格力电器股份有限公司 | 控制智能家电设备的方法、智能家电设备及存储介质 |
CN109902723A (zh) * | 2019-01-31 | 2019-06-18 | 北京市商汤科技开发有限公司 | 图像处理方法及装置 |
CN109858575B (zh) * | 2019-03-19 | 2024-01-05 | 苏州市爱生生物技术有限公司 | 基于卷积神经网络的数据分类方法 |
CN110222726A (zh) * | 2019-05-15 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置及电子设备 |
CN111656359A (zh) * | 2019-05-22 | 2020-09-11 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、终端、***以及计算机可读存储介质 |
CN110288090B (zh) * | 2019-06-28 | 2023-11-07 | 广东中星微电子有限公司 | 训练卷积神经网络的方法及装置、计算机设备和存储介质 |
CN112949672A (zh) * | 2019-12-11 | 2021-06-11 | 顺丰科技有限公司 | 商品识别方法、装置、设备以及计算机可读存储介质 |
CN111539461B (zh) * | 2020-04-15 | 2023-09-19 | 苏州万高电脑科技有限公司 | 利用视觉不变性特征实现图像分类的方法、***、装置 |
CN112418157B (zh) * | 2020-12-08 | 2022-09-16 | 北京深睿博联科技有限责任公司 | 基于差分神经网络和图像序列数据的车速识别方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447569A (zh) * | 2015-12-18 | 2016-03-30 | 北京柏惠维康科技有限公司 | 一种基于深度学习的乳腺癌细胞特征分析*** |
CN105701507A (zh) * | 2016-01-13 | 2016-06-22 | 吉林大学 | 基于动态随机池化卷积神经网络的图像分类方法 |
CN106339753A (zh) * | 2016-08-17 | 2017-01-18 | 中国科学技术大学 | 一种有效提升卷积神经网络稳健性的方法 |
CN106504064A (zh) * | 2016-10-25 | 2017-03-15 | 清华大学 | 基于深度卷积神经网络的服装分类与搭配推荐方法及*** |
-
2017
- 2017-08-07 CN CN201710667909.6A patent/CN107292352B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447569A (zh) * | 2015-12-18 | 2016-03-30 | 北京柏惠维康科技有限公司 | 一种基于深度学习的乳腺癌细胞特征分析*** |
CN105701507A (zh) * | 2016-01-13 | 2016-06-22 | 吉林大学 | 基于动态随机池化卷积神经网络的图像分类方法 |
CN106339753A (zh) * | 2016-08-17 | 2017-01-18 | 中国科学技术大学 | 一种有效提升卷积神经网络稳健性的方法 |
CN106504064A (zh) * | 2016-10-25 | 2017-03-15 | 清华大学 | 基于深度卷积神经网络的服装分类与搭配推荐方法及*** |
Non-Patent Citations (3)
Title |
---|
EIE:Efficient Inference Engine on Compressed Deep Neural Network;Song Han 等;《arXiv:1602.01528v2》;20160503;正文第III节第A部分,附图2 * |
图像分类卷积神经网络的特征选择模型压缩方法;邹月娴 等;《控制理论与应用》;20170630;第34卷(第6期);746-752 * |
基于卷积神经网络和改进支持向量机的人脸检测;陶勤勤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170228(第02期);正文第17页第3.2节第2段,第18页倒数第2段,第23页第3.5节第1段 * |
Also Published As
Publication number | Publication date |
---|---|
CN107292352A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292352B (zh) | 基于卷积神经网络的图像分类方法和装置 | |
US20200143248A1 (en) | Machine learning model training method and device, and expression image classification method and device | |
CN109685819B (zh) | 一种基于特征增强的三维医学图像分割方法 | |
US10535141B2 (en) | Differentiable jaccard loss approximation for training an artificial neural network | |
CN109117781B (zh) | 多属性识别模型的建立方法、装置及多属性识别方法 | |
CN111241985B (zh) | 一种视频内容识别方法、装置、存储介质、以及电子设备 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
CN110298394B (zh) | 一种图像识别方法和相关装置 | |
US20220188595A1 (en) | Dynamic matrix convolution with channel fusion | |
CN113505797B (zh) | 模型训练方法、装置、计算机设备和存储介质 | |
CN113011568B (zh) | 一种模型的训练方法、数据处理方法及设备 | |
US11568212B2 (en) | Techniques for understanding how trained neural networks operate | |
US20230326173A1 (en) | Image processing method and apparatus, and computer-readable storage medium | |
US20220375211A1 (en) | Multi-layer perceptron-based computer vision neural networks | |
EP4053739A1 (en) | Neural network model for image segmentation and image segmentation method therefor | |
CN110765882A (zh) | 一种视频标签确定方法、装置、服务器及存储介质 | |
WO2020062299A1 (zh) | 一种神经网络处理器、数据处理方法及相关设备 | |
CN112861718A (zh) | 一种轻量级特征融合人群计数方法及*** | |
WO2020195940A1 (ja) | ニューラルネットワークのモデル縮約装置 | |
CN114299304B (zh) | 一种图像处理方法及相关设备 | |
CN114782742A (zh) | 基于教师模型分类层权重的输出正则化方法 | |
WO2022227024A1 (zh) | 神经网络模型的运算方法、训练方法及装置 | |
CN115909336A (zh) | 文本识别方法、装置、计算机设备和计算机可读存储介质 | |
CN115841596B (zh) | 多标签图像分类方法及其模型的训练方法、装置 | |
CN116805162A (zh) | 基于自监督学习的Transformer模型训练方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180418 Address after: 100191 Xueyuan Road, Haidian District, Haidian District, Beijing, No. 607, No. six Applicant after: Beijing Vimicro AI Chip Technology Co Ltd Address before: 100191, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 16 floor Applicant before: Beijing Vimicro Corporation |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |