1.一种基于深度学习的纹身图像分类方法,其特征在于:所述分类方法包括以下步骤:
1)样本变换
1.1)仿射变换;
1.2)弹性变换:对样本进行曲面模拟,过程如下:对n*m的图像进行变换,得到n*m个向量构成坐标矩阵X;
其中Y=[y1,y2,…,ym], 1≤i≤n,列向量 表示图中横坐标第i位置,纵坐标第j位置,1≤j≤m,将其输入到输入维度为2,输出维度为1的神经网络中,采用3层神经网络,变换函数为:P=g(W2g(W1(X+b1))+b2) (2)其中:
P=[p1,1,p1,2,…,p1,m,p2,1,p2,2,…,p2,m,…,pn,1,pn,2,…,pn,m]pi,j为向量 对应的输出值;
g为神经网络的激活函数,选用sigmoid函数即 x为函数的输入值;
W1,W2,b1,b2是(-r,r)均匀分布的随机数;
对于神经网络随机初始化的范围为(-r,r)即构成所需要的曲面模型,满足光滑,并且由参数控制形变复杂度的特性;
得到曲面后,对曲面上毎一点求导得到偏移矩阵G,得到每个像素点最后的偏移坐标:Xo=X+G (3)最后把新图像中点X的像素值取原图像Xo经过线性插值后的像素值;
1.3)遮挡模拟:在每幅输入训练机的图像随机把某一区域的像素值置0;
1.4)白化;
2)自编码预训练:使用CUDA优化后的自编码训练机对大量彩色纹身图像进行训练,得到纹身图像的一些共同地边缘信息,同时对这些图像做些挑选后用于卷积网络的第一层;
3)卷积网络训练:使用CUDA优化后的卷积网络对有标定的纹身图像进行训练得到最终分类结果。
2.如权利要求1所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述分类方法还包括以下步骤:
4)对卷积网络优化:使用了随机池化和对于随机池化的BP算法,使用CUDA对整体流程进行优化。
3.如权利要求2所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述分类方法还包括以下步骤:
5)使用holdout验证控制样本变换程度。
4.如权利要求1~3之一所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述步骤1.1)中,仿射变换原理如下:
其中 为变换图像的坐标位置,θ为旋转角, 为平移向量,tx为x轴平移距离,ty为y轴平移距离; 为原始图像的坐标位置。
5.如权利要求1~3之一所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述步骤1.4)中,白化过程:若有矩阵Xo={x(1),x(2),…,x(m)},其中x(i)∈Rn×1,R为实数;
首先算出样本的协方差矩阵C:
其中(x(i))T为向量x(i)的转置;
那么对C分解得到矩阵U:
U=[u1,u2,…,un] (5)其中u1,u2,…,un是C的特征向量,且为列向量,另记λ1,λ2,…,λn为对应的特征值并且按特征值由大到小的顺序排列;把数据转换到由矩阵U构成的基上:Xrot=UTXo (6)进行白化:
xrot,i是矩阵Xrot的第i个列向量;
同理xrotwhite,i是矩阵Xrotwhite的第i个列向量;
其中ε取一个极小值;
把白化结果转换回去,即白化的最终结果为:Xwhite=UXrotwhite (8)。
6.如权利要求1~3之一所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述步骤2)中,先把纹身样本随机采集n万张a×a的图像,这些图像包含纹身图像的各种区域信息,输入到隐藏层为b的自编码训练机中,具体方法为:假设Xpatch={x(1),x(2),…,x(m)}是n维度构成n*m的矩阵,x(i)为图像数据向量,那么得到自编码输出hW,b(x):hW,b(Xpatch)=f(W(2)f(W(1)Xpatch+b(1))+b(2)) (9)其中 x为函数f(x)的输入值;
l代表层数,在这里l∈{1,2}W(l)为第l层权重参数;
b(l)为第l层偏置参数;
那么误差E:
其中,
nl表示神经网络的层数,在这里nl=3;
sl表示第l层的神经元个数;
β表示稀疏输出的惩罚系数;
λ为权重衰减参数;
表示实际第二层的平均激活度,ρ表示第二层的平均激活度的控制参数;
接下来对该网络使用回馈优化:顶层残差δ(2)和梯度 分别为: δ(2)=(a(2)-Xpatch)·f′(z(2)) (13)
第1层残差δ(1)和梯度
(l)
其中,δ 代表第l层残差;
z(1)=W(1)Xpatch;
z(2)=W(2)f(W(1)Xpatch+b(1))+b(2)。
7.如权利要求1~3之一所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述步骤3)中,输入层选用64×64×3的维度,第一层卷积层选用64个维度为11×11×3由自编码学习得到的卷积层得到54×54×64的输出,第二层对于图像中3×3的空间进行随机池化得到18×18×64的输出,第三层128个维度为7×7由自编码学习得到的卷积层,得到12×12×128的输出,第四层池化层采用3×3的池化区域得到4×4的输出,第5层采用512个4×4的随机初始化的卷积层得到512个输出,第六层采用400个全连接的神经网络,最后第七层采用输出为6的SoftMax函数,分别代表为动物,图腾,植物花草,人物肖像,骷髅鬼怪,和其他。
8.如权利要求2或3所述的一种基于深度学习的纹身图像分类方法,其特征在于:所述步骤4)中,优化过程如下:
4.1)随机池化
从池化的区域中按概率随机选取池化层的输入值,概率的计算方式如下:
其中:pi为在池化区域Rj中位置i被选取的概率;
Rj为池化区域j;
ai为该位置的输入值;
对模型平均化,方式如下
其中:sj为池化区域Rj的输出;
Rj为池化区域j;
ai为该位置的输入值;
pi为该位置被选取的概率;
4.2)CUDA:使用CUDA对卷积网络进行优化。