一种图像分类方法、装置、计算机可读存储介质及设备

文档序号:9318 发布日期:2021-09-17 浏览:92次 英文

一种图像分类方法、装置、计算机可读存储介质及设备

技术领域

本发明涉及人工智能领域,具体涉及一种图像分类方法、装置、计算机可读存储介质及设备。

背景技术

医疗图像是记录患者诊断情况的重要依据,获取高质量的医疗图像对于医疗诊断具有重要的意义。近年来,随着深度学习技术的快速发展,卷积神经网络成为许多学者的研究热点,并成功运用在图像分类、目标检测以及行人检测等领域。但现有研究中,都是利用单一尺度的分类器进行图像分类,对不同种类的样本的分类具有不确定性,分类准确率还需进一步提高。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种图像分类方法、装置、计算机可读存储介质及设备,用于解决现有技术存在的问题。

为实现上述目的及其他相关目的,本发明提供一种图像分类方法,包括:

获取待处理图像;

对所述待处理图像进行缩放处理,得到不同尺寸的输入图像;

将所述输入图像输入到预先训练好的基于卷积神经网络的图像分类模型中对所述输入图像进行分类处理,得到输入图像的分类概率,从而得到图像所属的图像类别;其中,所述图像分类模型由多个不同尺度的分类器络构成,每一个尺度的分类器对应一种尺寸的输入图像,不同分类器对应不同尺寸的输入图像;在对所述待处理图像进行缩放处理后,还包括:

根据图像清晰度对待处理图像进行筛选,将清晰度超过清晰度阈值对应的图像作为待分类图像;待处理图像的图像清晰度的获取方法包括:

获取待处理图像的灰度图像;

将所述待处理图像的灰度图像划分为多个图像块;

计算每个图像块的清晰度;

计算所述图像块的清晰度的平均值,将所述平均值作为待处理图像的清晰度。

可选地,在计算待分类图像的分类概率时,为每个尺度的分类器的分类结果设置相应的权重,根据所述相应的权重以及每个尺度的分类器对应的输入图像的分类概率对所述输入图像进行分类处理。

可选地,采用双线性插值算法或双三次插值算法对所述待处理图像进行缩放处理。

为实现上述目的及其他相关目的,本发明提供一种图像分类装置,其特征在于,包括:

图像获取模块,用于获取待处理图像;

图像预处理模块,用于对所述待处理图像进行预处理,得到不同尺寸的输入图像;

图像分类模块,用于将所述输入图像输入到预先训练好的基于卷积神经网络的图像分类模型中对所述输入图像进行分类处理,得到输入图像的分类概率,从而得到图像所属的图像类别;其中,所述图像分类模型由多个不同尺度的分类器构成,每一个尺度的分类器对应一种尺寸的输入图像,不同分类器对应不同尺寸的输入图像;

在对所述待处理图像进行缩放处理后,还包括:

根据图像清晰度对待处理图像进行筛选,将清晰度超过清晰度阈值对应的图像作为待分类图像;待处理图像的图像清晰度的获取方法包括:

获取待处理图像的灰度图像;

将所述待处理图像的灰度图像划分为多个图像块;

计算每个图像块的清晰度;

计算所述图像块的清晰度的平均值,将所述平均值作为待处理图像的清晰度。

可选地,在计算待分类图像的分类概率时,为每个尺度的分类器的分类结果设置相应的权重,根据所述相应的权重以及每个尺度的分类器对应的输入图像的分类概率对所述输入图像进行分类处理。

可选地,采用双线性插值算法或双三次插值算法对所述待处理图像进行缩放处理。

为实现上述目的及其他相关目的,本发明提供一种图像分类设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现所述的方法。

为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行所述的方法

如上所述,本发明提供的一种图像分类方法、装置、计算机可读存储介质及设备,具有以下有益效果:

本发明的一种图像分类方法,包括:获取待处理图像;对所述待处理图像进行缩放处理,得到不同尺寸的输入图像;将所述输入图像输入到预先训练好的图像分类模型中对所述输入图像进行分类处理,得到输入图像的分类概率,从而得到图像所属的图像类别;其中,所述图像分类模型由多个不同尺度的分类器构成,每一个尺度的分类器对应一种尺寸的输入图像,不同分类器对应不同尺寸的输入图像。本发明通过多尺度的神经网络对图像进行分类处理,确保了多尺度输入图像的分类鲁棒性,在图像分类方面具有显著的优势。

附图说明

图1为本发明一实施例一种图像分类方法的流程图;

图2为本发明一实施例双线性插值示意图;

图3为本发明一实施例双三次插值示意图;

图4为本发明一实施例BiCubic函数的形状态示意图;

图5为本发明一实施例图像清晰度获取方法示意图;

图6为本发明一实施例第一CNN结构示意图;

图7为本发明一实施例第二CNN结构示意图;

图8为本发明一实施例第三CNN结构示意图;

图9为本发明一实施例一种图像分类装置的结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

如图1所示,本申请实施例提供一种图像分类方法,包括:

S11获取待处理图像;

S12对所述待处理图像进行缩放处理,得到不同尺寸的输入图像;

S13将所述输入图像输入到预先训练好的图像分类模型中对所述输入图像进行分类处理,得到输入图像的分类概率,从而得到图像所属的图像类别;其中,所述图像分类模型由多个不同尺度的分类器构成,每一个尺度的分类器对应一种尺寸的输入图像,不同分类器对应不同尺寸的输入图像。

本发明通过多尺度的神经网络对图像进行分类处理,确保了多尺度输入图像的分类鲁棒性,在图像分类方面具有显著的优势。其中,所述图像可以是医疗图像,如CT(Computed Tomography,即电子计算机断层扫描)、MRI(Magnetic Resonance Imaging,磁共振成像)、PET(Positron Emission Computed Tomography,正电子发射型计算机断层显像)、SPECT(Single-Photon Emission Computed Tomography,单光子发射计算机断层成像术)以及超声图像等。

在一实施例中,采用最近邻插值算法、双线性插值算法或双三次插值算法对所述待处理图像进行缩放处理。

在数学上,双线性插值是有两个变量的插值函数的线形插值扩展,其核心思想是在两个方向分别进行一次线性插值。

如图2所,已知4个点,Q11(x1,y1),Q12(x1,y2),Q21(x2,y1)以及Q22(x2,y2)四个像素点的像素值,通过双线性插值得到P(x,y)点的值。

假设P=(0.6,0.6),那么这时候对应的最近的四个像素点为Q11 = (0,1),Q12 =(0,0),Q21 = (1,1)以及Q22=(1,0)那么P=(0.6,0.6)点的像素值就是根据其与这些点的距离相关,距离越近的点的像素值影响越大,计算过程如下:

首先,先根据Q11 = (0,1)和Q21 = (1,1)这两个像素点的像素值计算得到R1=(x,y1)像素点的像素值,然后根据Q12 = (0,0)和Q22 = (1,0)这两个像素点的像素值计算得到R2=(x,y2)像素点的像素值。

从上面的例子可以看出,但像素点P= (x,y)离x轴的x1点越近时,像素点Q11 =(0,1)和Q12 = (0,0)对应的像素值多占的比重更重;反之则是Q21 = (1,1)和Q22 = (1,0)对应的像素值多占的比重更重

接下来就是根据上一步得到的R1=(x,y1)和R2=(x,y2)这两个像素点的像素值计算得到最终结果P= (x,y)像素点的像素值。

从该式子可见在y轴上,如果P= (x,y)离y轴的y1点越近时,则由Q11 = (0,1)和Q21 = (1,1)得到的R1=(x,y1)像素点的像素值所占的比重更重;反之则是R2=(x,y2)像素点的像素值所占的比重更重。这样就能够得到相应的P= (x,y)的像素值了。

双三次插值(英语:Bicubic interpolation)是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。

如图3所示,假设源图像A大小为m×n,缩放K倍后的目标图像B的大小为M×N,即K=M/m。A的每一个像素点是已知的,B是未知的,想要求出目标图像B中每一像素点(X,Y)的值,必须先找出像素(X,Y)在源图像A中对应的像素(x,y),再根据源图像A距离像素(x,y)最近的16个像素点作为计算目标图像B(X,Y)处像素值的参数,利用BiCubic基函数求出16个像素点的权重,图像B像素(x,y)的值就等于16个像素点的加权叠加。

根据比例关系x/X=m/M=1/K,可以得到B(X,Y)在A上的对应坐标为A(x,y)=A(X*(m/M),Y*(n/N))=A(X/K,Y/K)。如图3所示,P点就是目标图像B在(X,Y)处对应于源图像A中的位置,P的坐标位置会出现小数部分,所以假设P的坐标为P(x+u,y+v),其中x,y分别表示整数部分,u,v分别表示小数部分(蓝点到a11方格中红点的距离)。那么就可以得到如图3所示的最近16个像素的位置,在这里用a(i,j)(i,j=0,1,2,3)来表示。

构造BiCubic函数

其中,a=-0.5。图4为BiCubic函数的形状态,本申请就是求出BiCubic函数中的参数x,从而获得前述16个像素所对应的权重W(x)。BiCubic基函数是一维的,而像素是二维的,所以要将像素点的行与列分开计算。BiCubic函数中的参数x表示该像素点到P点的距离,例如a00距离P(x+u,y+v)的距离为(1+u,1+v),因此a00的横坐标权重i_0=W(1+u),纵坐标权重j_0=W(1+v),a00对B(X,Y)的贡献值为:(a00像素值)* i_0* j_0。因此,a0X的横坐标权重分别为W(1+u),W(u),W(1-u),W(2-u);ay0的纵坐标权重分别为W(1+v),W(v),W(1-v),W(2-v);B(X,Y)像素值为:

在一实施例中,在对所述待处理图像进行缩放处理后,还包括:

根据图像清晰度对待处理图像进行筛选,将清晰度超过清晰度阈值对应的图像作为待分类图像。然后通过图像分类模型对筛选后的图像进行分类。其中,将清晰度超过清晰度阈值对应的图像作为待分类图像。清晰度阈值可以根据经验先设置清晰度阈值作为判断所述待处理图像的清晰度是否满足要求的标准。若所述待处理图像的清晰度大于或等于所述清晰度阈值,则所述待处理图像的清晰度满足要求的标准;若所述待处理图像的清晰度小于所述清晰度阈值,则所述待处理图像的清晰度不满足要求的标准。

在一实施例中,如图5所示,待处理图像的图像清晰度的获取方法包括:

S51获取待处理图像的灰度图像;

若待处理图像为灰度图像,则待处理图像即为待处理图像对应的灰度图像;若待处理图像不是灰度图像时,则可以计算待处理图像中的每一个像素的灰度值,然后,生成待处理图像对应的灰度图像。

S52将所述待处理图像的灰度图像划分为多个图像块;

在将待处理图像对应的灰度图像的尺寸调整至预设尺寸之后,可以将待处理图像对应的灰度图像划分为多个子图像块。例如,可以将待处理图像对应的灰度图像划分为5*5个子图像块,每一个子图像块的大小为100×100。

S53计算每个图像块的清晰度;

S54计算所述图像块的清晰度的平均值,将所述平均值作为待处理图像的清晰度。

在计算得到待处理图像的清晰度后,可以根据清晰度阈值对待处理图像进行筛选处理,将清晰度超过清晰度阈值的待处理图像作为待分类图像输入到后续步骤中作分类处理。

在一实施例中,所述的分类器为卷积神经网络,则本申请的图像分类模型包括多个不同尺度的卷积神经网络。

卷积神经网络(CNN,Convolutional Neural Networks)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deeplearning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariantclassification)。

卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求。

卷积神经网络(CNN,Convolutional Neural Networks)是一个多层感知机,使用局部连接和权值共享方式,可以降低网络训练参数的数量。单一尺度的CNN在执行图像分类任务时需要输入固定尺寸的图像,而实际环境中的图像大小往往是多样化的。在卷积过程中,网络感受野在不同尺寸的图像块上的占比不同,大尺寸的图像块进行卷积操作后得到的特征信息更丰富,也能更好地反映图像的局部特征,小尺寸的图像块进行卷积操作后得到的特征则能更好地反映图像的全局特征。因此本发明将利用不同尺度的CNN对不同尺寸的输入图像进行特征提取,可以得到更多的图像特征,然后并通过Softmax函数对输入图像进行分类,输出分类概率值。

在一具体实施例中,图像分类模型包括3个尺度不同的CNN,分别为第一CNN、第二CNN、第三CNN,当然根据实际需求和性能要求,可以设置更多尺度的CNN,具体的尺度在此不作限定。

在本申请中,设置有三个尺寸的CNN,可以覆盖小尺寸图像、中尺寸图像和大尺寸图像。

第一CNN:如图6所示,第一CNN有4个卷积层,2个池化层,2个全连接层,1个Softmax层,卷积层步长为1,池化层步长为2。卷积层和全连接层使用的激活函数为修正线性单元(Rectified Linear Units, ReLU)函数。

第二CNN:如图7所示,第二CNN有4个卷积层,4个池化层,1个全连接层,1个Softmax层,卷积层步长为1,池化层步长为2。全连接层使用的激活函数为Sigmoid函数。

第三CNN:如图8所示,第三CNN网络有5个卷积层,3个池化层,2个全连接层,1个Softmax层。卷积层和全连接层使用的激活函数为ReLU函数。

由于本发明中,预先训练好的图像分类模型由多个不同尺度的分类器构成,因此,在计算待分类图像的分类概率时,为每个尺度的分类器的分类结果设置相应的权重,根据所述相应的权重以及每个尺度的分类器对应的待分类图像的分类概率对所述待分类图像进行分类处理。

在本申请中,图像分类模型的3个Softmax函数并行输出时,可以得到每个输入图像的概率输出矩阵为:

其中,n表示图像种类数, p 1n (x)表示图像x经过第一CNN分类后属于第n类的分类概率;p 2n (x)表示图像x经过第二CNN分类后属于第n类的分类概率;p 3n (x)表示图像x经过第三CNN分类后属于第n类的分类概率。对于每一行来说,分类概率最大的列标即为每个分类器的Softmax函数对该样本x的预测类别。

在一实施例中,通过引入信息熵H i (x)来表征输入样本x被第i个分类器的Softmax函数分类的不确定性。

其中,p ij (x)表示第i个子网络的Softmax函数将输入样本x判为属于j类的概率,如果某个分类器的Softmax函数的信息熵的值越大,分类的不确定性就越高,则该网络的Softmax函数对输入样本x的分类能力就差,该分类器的Softmax函数对输入样本的权重就越小,反之亦然。因此,多尺度CNN的Softmax函数的权重计算公式为:

得到多尺度CNN的权重后,概率输出矩阵P(x)的每一行乘以权重,得到新的概率输 出矩阵

按列加权求和,则加权求和后的最大值为最终的权重,

本发明考虑了不同分类器的Softmax函数对相同的输入图像的分类性能不同以及同一个分类器的Softmax函数对不同的输入图像的分类性能也有差异的特性,自适应地对不同的输入图像赋予更为合理的权重,解决了单一尺度CNN由于Softmax函数输出的概率值过于接近而造成的误分类问题。

如图9所示,本申请实施例提供一种图像分类装置,包括:

图像获取模块,用于获取待处理图像;

图像预处理模块,用于对所述待处理图像进行预处理,得到不同尺寸的输入图像;

图像分类模块,用于将所述输入图像输入到预先训练好的图像分类模型中对所述输入图像进行分类处理,得到输入图像的分类概率,从而得到图像所属的图像类别;其中,所述图像分类模型由多个不同尺度的分类器构成,每一个尺度的分类器对应一种尺寸的输入图像,不同分类器对应不同尺寸的输入图像。

本发明通过多尺度的神经网络对图像进行分类处理,确保了多尺度输入图像的分类鲁棒性,在图像分类方面具有显著的优势。其中,所述图像可以是医疗图像,如CT(Computed Tomography,即电子计算机断层扫描)、MRI(Magnetic Resonance Imaging,磁共振成像)、PET(Positron Emission Computed Tomography,正电子发射型计算机断层显像)、SPECT(Single-Photon Emission Computed Tomography,单光子发射计算机断层成像术)以及超声图像等。

在一实施例中,采用最近邻插值算法、双线性插值算法或双三次插值算法对所述待处理图像进行缩放处理。

在数学上,双线性插值是有两个变量的插值函数的线形插值扩展,其核心思想是在两个方向分别进行一次线性插值。

如图2所,已知4个点,Q11(x1,y1),Q12(x1,y2),Q21(x2,y1)以及Q22(x2,y2)四个像素点的像素值,通过双线性插值得到P(x,y)点的值。

假设P=(0.6,0.6),那么这时候对应的最近的四个像素点为Q11 = (0,1),Q12 =(0,0),Q21 = (1,1)以及Q22=(1,0)那么P=(0.6,0.6)点的像素值就是根据其与这些点的距离相关,距离越近的点的像素值影响越大,计算过程如下:

首先,先根据Q11 = (0,1)和Q21 = (1,1)这两个像素点的像素值计算得到R1=(x,y1)像素点的像素值,然后根据Q12 = (0,0)和Q22 = (1,0)这两个像素点的像素值计算得到R2=(x,y2)像素点的像素值。

从上面的例子可以看出,但像素点P= (x,y)离x轴的x1点越近时,像素点Q11 =(0,1)和Q12 = (0,0)对应的像素值多占的比重更重;反之则是Q21 = (1,1)和Q22 = (1,0)对应的像素值多占的比重更重

接下来就是根据上一步得到的R1=(x,y1)和R2=(x,y2)这两个像素点的像素值计算得到最终结果P= (x,y)像素点的像素值。

从该式子可见在y轴上,如果P= (x,y)离y轴的y1点越近时,则由Q11 = (0,1)和Q21 = (1,1)得到的R1=(x,y1)像素点的像素值所占的比重更重;反之则是R2=(x,y2)像素点的像素值所占的比重更重。这样就能够得到相应的P= (x,y)的像素值了。

双三次插值(英语:Bicubic interpolation)是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。

如图3所示,假设源图像A大小为m×n,缩放K倍后的目标图像B的大小为M×N,即K=M/m。A的每一个像素点是已知的,B是未知的,想要求出目标图像B中每一像素点(X,Y)的值,必须先找出像素(X,Y)在源图像A中对应的像素(x,y),再根据源图像A距离像素(x,y)最近的16个像素点作为计算目标图像B(X,Y)处像素值的参数,利用BiCubic基函数求出16个像素点的权重,图像B像素(x,y)的值就等于16个像素点的加权叠加。

根据比例关系x/X=m/M=1/K,可以得到B(X,Y)在A上的对应坐标为A(x,y)=A(X*(m/M),Y*(n/N))=A(X/K,Y/K)。如图3所示,P点就是目标图像B在(X,Y)处对应于源图像A中的位置,P的坐标位置会出现小数部分,所以假设P的坐标为P(x+u,y+v),其中x,y分别表示整数部分,u,v分别表示小数部分(蓝点到a11方格中红点的距离)。那么就可以得到如图3所示的最近16个像素的位置,在这里用a(i,j)(i,j=0,1,2,3)来表示。

构造BiCubic函数

其中,a=-0.5。图4为BiCubic函数的形状态,本申请就是求出BiCubic函数中的参数x,从而获得前述16个像素所对应的权重W(x)。BiCubic基函数是一维的,而像素是二维的,所以要将像素点的行与列分开计算。BiCubic函数中的参数x表示该像素点到P点的距离,例如a00距离P(x+u,y+v)的距离为(1+u,1+v),因此a00的横坐标权重i_0=W(1+u),纵坐标权重j_0=W(1+v),a00对B(X,Y)的贡献值为:(a00像素值)* i_0* j_0。因此,a0X的横坐标权重分别为W(1+u),W(u),W(1-u),W(2-u);ay0的纵坐标权重分别为W(1+v),W(v),W(1-v),W(2-v);B(X,Y)像素值为:

在一实施例中,在对所述待处理图像进行缩放处理后,还包括:

根据图像清晰度对待处理图像进行筛选,将清晰度超过清晰度阈值对应的图像作为待分类图像。然后通过图像分类模型对筛选后的图像进行分类。其中,将清晰度超过清晰度阈值对应的图像作为待分类图像。清晰度阈值可以根据经验先设置清晰度阈值作为判断所述待处理图像的清晰度是否满足要求的标准。若所述待处理图像的清晰度大于或等于所述清晰度阈值,则所述待处理图像的清晰度满足要求的标准;若所述待处理图像的清晰度小于所述清晰度阈值,则所述待处理图像的清晰度不满足要求的标准。

在一实施例中,如图5所示,待处理图像的图像清晰度的获取方法包括:

S51获取待处理图像的灰度图像;

若待处理图像为灰度图像,则待处理图像即为待处理图像对应的灰度图像;若待处理图像不是灰度图像时,则可以计算待处理图像中的每一个像素的灰度值,然后,生成待处理图像对应的灰度图像。

S52将所述待处理图像的灰度图像划分为多个图像块;

在将待处理图像对应的灰度图像的尺寸调整至预设尺寸之后,可以将待处理图像对应的灰度图像划分为多个子图像块。例如,可以将待处理图像对应的灰度图像划分为5*5个子图像块,每一个子图像块的大小为100×100。

S53计算每个图像块的清晰度;

S54计算所述图像块的清晰度的平均值,将所述平均值作为待处理图像的清晰度。

在计算得到待处理图像的清晰度后,可以根据清晰度阈值对待处理图像进行筛选处理,将清晰度超过清晰度阈值的待处理图像作为待分类图像输入到后续步骤中作分类处理。

在一实施例中,所述的分类器为卷积神经网络,则本申请的图像分类模型包括多个不同尺度的卷积神经网络。

卷积神经网络(CNN,Convolutional Neural Networks)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deeplearning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariantclassification)。

卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求。

卷积神经网络(CNN,Convolutional Neural Networks)是一个多层感知机,使用局部连接和权值共享方式,可以降低网络训练参数的数量。单一尺度的CNN在执行图像分类任务时需要输入固定尺寸的图像,而实际环境中的图像大小往往是多样化的。在卷积过程中,网络感受野在不同尺寸的图像块上的占比不同,大尺寸的图像块进行卷积操作后得到的特征信息更丰富,也能更好地反映图像的局部特征,小尺寸的图像块进行卷积操作后得到的特征则能更好地反映图像的全局特征。因此本发明将利用不同尺度的CNN对不同尺寸的输入图像进行特征提取,可以得到更多的图像特征,然后并通过Softmax函数对输入图像进行分类,输出分类概率值。

在一具体实施例中,图像分类模型包括3个尺度不同的CNN,分别为第一CNN、第二CNN、第三CNN,当然根据实际需求和性能要求,可以设置更多尺度的CNN,具体的尺度在此不作限定。

在本申请中,设置有三个尺寸的CNN,可以覆盖小尺寸图像、中尺寸图像和大尺寸图像。

第一CNN:如图6所示,第一CNN有4个卷积层,2个池化层,2个全连接层,1个Softmax层,卷积层步长为1,池化层步长为2。卷积层和全连接层使用的激活函数为修正线性单元(Rectified Linear Units, ReLU)函数。

第二CNN:如图7所示,第二CNN有4个卷积层,4个池化层,1个全连接层,1个Softmax层,卷积层步长为1,池化层步长为2。全连接层使用的激活函数为Sigmoid函数。

第三CNN:如图8所示,第三CNN网络有5个卷积层,3个池化层,2个全连接层,1个Softmax层。卷积层和全连接层使用的激活函数为ReLU函数。

由于本发明中,预先训练好的图像分类模型由多个不同尺度的分类器构成,因此,在计算待分类图像的分类概率时,为每个尺度的分类器的分类结果设置相应的权重,根据所述相应的权重以及每个尺度的分类器对应的待分类图像的分类概率对所述待分类图像进行分类处理。

在本申请中,图像分类模型的3个Softmax函数并行输出时,可以得到每个输入图像的概率输出矩阵为:

其中,n表示图像种类数, p 1n (x)表示图像x经过第一CNN分类后属于第n类的分类概率;p 2n (x)表示图像x经过第二CNN分类后属于第n类的分类概率;p 3n (x)表示图像x经过第三CNN分类后属于第n类的分类概率。对于每一行来说,分类概率最大的列标即为每个分类器的Softmax函数对该样本x的预测类别。

在一实施例中,通过引入信息熵H i (x)来表征输入样本x被第i个分类器的Softmax函数分类的不确定性。

其中,表示第i个子网络的Softmax函数将输入样本x判为属于j类的概率,如 果某个分类器的Softmax函数的信息熵的值越大,分类的不确定性就越高,则该网络的 Softmax函数对输入样本x的分类能力就差,该分类器的Softmax函数对输入样本的权重就 越小,反之亦然。因此,多尺度CNN的Softmax函数的权重计算公式为:

得到多尺度CNN的权重后,概率输出矩阵P(x)的每一行乘以权重,得到新的概率输 出矩阵

按列加权求和,则加权求和后的最大值为最终的权重,

本发明考虑了不同分类器的Softmax函数对相同的输入图像的分类性能不同以及同一个分类器的Softmax函数对不同的输入图像的分类性能也有差异的特性,自适应地对不同的输入图像赋予更为合理的权重,解决了单一尺度CNN由于Softmax函数输出的概率值过于接近而造成的误分类问题。

上述实施例中提供的系统可执行本发明任意实施例所提供的方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,通过以上的实施方式的掐述,本领域的技术人员可以清楚地了解到本申请的部分或全部可借助软件并结合必需的通用硬件平台来实现。所述功能如果以软件功能单元的形式实现并作为独立地产品销售或使用时,还可以存储在一个计算机可读取存储介质中基于这样的理解,本发明实施例提供一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如图1所示的方法。

本发明实施例提供一种图像分类设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现如图1所示的方法。

基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本申请的实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(只读光盘)、磁光盘、ROM(只读存储器),RAM(随机存取存储器),EPROM(可擦除可编程只读存储器),EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存或适于存储机器可执行指令的其他类型的介质/机器可读介质。其中,所述存储介质可位于本地服务器也可位于第三方服务器中,如位于第三方云服务平台中。在此对具体云服务平台不做限制,如阿里云、腾讯云等。本申请可用于众多通用或专用的计算系统环境或配置中。例如:被配置为分布式系统中一个节点的个人计算机、专用服务器计算机、大型计算机等。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:缺陷检测方法、电子装置、装置及计算机可读存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!