一种基于深度学习的纹身图像分类方法技术

技术编号:10346364 阅读:295 留言:0更新日期:2014-08-22 11:25
一种基于深度学习的纹身图像分类方法,包括以下步骤:1)样本变换1.1)仿射变换;1.2)弹性变换;1.3)遮挡模拟;1.4)白化;2)自编码预训练:进使用CUDA优化后的自编码训练机对大量彩色纹身图像进行训练,得到纹身图像的一些共同地边缘信息,同时对这些图像做些挑选后用于卷积网络的第一层;3)使用自编码得到的结果对变换后的样本进行卷积网络训练。本发明专利技术有效避免受照射方向,肤色,毛发,光线,图像质量等各方面的影响、可靠性良好、实现效率较高。

【技术实现步骤摘要】
一种基于深度学习的纹身图像分类方法
本专利技术涉及图像处理和模式识别等
,尤其是一种纹身图像分类方法。
技术介绍
纹身图像识别的研究刚刚兴起,没查阅到国内相关的论文和专利,在国外也只有A.K.Jain等几个学者在从事纹身相关的学术研究。尽管已有了一定的发展,但仍存在诸多迫切需要解决的问题。第一,现有感兴趣区检测方法存在一定的缺陷。现有纹身图像感兴趣区的检测,主要是通过人工标定或图像分割算法。图像分割算法是低层视觉特征对用户实际兴趣的一种估计,难以实现对感兴趣区的客观描述。因此,这两种方法都存在主观性问题。第二,人工语义标注难以适应日益变大的图像数据库。对大规模的图像数据库进行的人工语义标注需要耗费大量的人力和时间,而且人对图像的理解是非常主观的,不同的人依据自身的知识、经验、情绪和其他情况,可能对相同的图像做出不同的理解。第三,低质量图像匹配方法尚待完善。现有的纹身识别方法,大都通过提取关键点作为比对特征,当图像对比度小、亮度不均或者图像分辨率低的时候,提取得到的关键点数少;如果纹身图像被毛发遮挡,那么大部分的关键点会从毛发而不是从纹身中提取得到。由于纹身是刻在人体皮肤上的,因此纹身图像会随人体的运动而发生扭曲和变形。纹身识别系统的性能往往因为未能合理的计算低质量纹身图像间的相似度而明显下降。深度学习是受大脑是一个深度网络结构的启发,对于深度结构的神经网络研究了10多年。但是在2006年前一直没有好的结果,只有2,3层的网络有比较好的结果,更加深层的网络甚至比浅层网络的表现还要差。在2006年可以看做是深度结构的神经网络的一种突破,Hinton和他的团队使用了一种深度置信网络(DeepBeliefNetworks:DBN)。这个训练方法是使用无监督的方法逐层贪婪地每次训练一层。使用的是RBM(RestrictedBoltzmannMachine),之后相关的基于自编码机(Auto-Encoder:AE)被提出。显然是使用同一种方法:训练中间层时使用无监督的学习方法。这种方法可以用在中间层的每一层,其他的深度结构的算法(不是RBM和AE)也在最近被提出,但是都八九不离十。从2006年后深度网络成功运用于分类,回归问题、降维、纹理建模、运动建模、目标分割、信息提取、机器人领域、自然语言处理、协同过滤等,尽管AE,RBM,DBN可以被用于训练为标定的数据,在许多上述的运用案例当中,他们被成功来用初始化深度受监督的前向回馈神经网络。神经网络在处理信息的时候使用分布式表达:信息不是存储在单一的几个神经元上的,而是分开存储在许多的神经元上,不仅信息是被分布式存储的,大脑处理信息也是稀疏的,同一时间只有约1~4%的神经元被激活。在许多计算机视觉系统中,学习算法受限于处理链的一些特定的部分,剩下部分的设计非常耗时耗力,这也就是限制这些系统规模的很大原因。从另外一方面来说,终极目标的人工智能当然不只是为了识别某些特定的物体。我们需要一个完整的算法去解决一个非常多的任务和感知。这就使人为标定这些东西比较困难,所以在这种情况下学习无标定样本的无监督学习成为一个比较重要的事情。这成为多任务学习(multi-tasklearning)的一个重要部分,使用多层结构的学习算法很自然地提供了这种共享和重用的概念:低等级的视觉特征(比如边缘探测器)和中等级的视觉特征(比如人的一部分)对于探测一个人是非常有用的,同时也对于探测别的包含人在内的大量物体。深度学习算法基于中间层的表现可以在不同人物中共享他们的特征,从而他们可以利用无监督的数据和一些数据来自相似的任务来解决一些由于数据标定问题而导致不能学习的问题。使用深度学习的分类器能带来如下好处:1.分类器具有学习复杂的高度变化的函数的能力2.具有学习超大样本量的能力3.分类器的主要学习过程是通过无标定样本使用无监督学习获得的。4.具有浅层特征共享的能力5.有较强的无监督学习能力自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值。自编码神经网络尝试学习一个hW,b(x)≈x的函数。换句话说,它尝试逼近一个恒等函数,从而使得输出接近于输入x。卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者其他形式的变形具有高度不变性。卷积网络是第一个真正成功训练多层网络结构的学习算法。它利用空间关系减少需要学习的参数数目以提高一般前向回馈算法的训练性能。卷积网络作为一个深度学习架构提出是为了最小化数据的预处理要求。在卷积网络中,图像的一小部分(局部感受区域)作为层级结构的最低层的输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得观测数据的最显著的特征。这个方法能够获取对平移、缩放和旋转不变的观测数据的显著特征,因为图像的局部感受区域允许神经元或者处理单元可以访问到最基础的特征,例如定向边缘或者角点。现有纹身识别技术主要朝以下三个方向进行:(1)感兴趣区自动检测该方法是基于人机交互的、基于低层视觉特征的、基于视觉注意机制的和基于对象的算法。基于人机交互的方法简单灵活,但面对海量数据的时候,交互过程复杂,不易做到友好和自然。基于低层视觉特征的方法通过提取和分析图像中的低层视觉特征来获得感兴趣区,但由于拐点往往集中在纹理区域,不利于完整地描述图像各部分的内容。基于视觉注意机制的方法使用视觉注意模型得到图像中显著度较高的区域作为感兴趣区,但在检测感兴趣区的过程中没有考虑图像对象的信息,因此检测的结果与实际对象仍有差异。(2)图像语义自动标注获取图像语义的方法可分为三类:基于文本的、基于内容的、基于机器学习和统计模型的。斯坦福大学的SIMPLIcity系统通过统计的方法将图像大致分为纹理-非纹理、图表-照片等大的语义类,以帮助缩小图像检索的范围。由于图像经常和文本信息一起出现,因此可以分析图像周围的文本信息,提取相关的文本作为语义信息,这种方法的缺点是要求文本能够准确描述图像的内容,因此对于实际采集图像的要求非常高。(3)低质量图像匹配方法现有的纹身识别算法在纹身图像质量较高时,识别准确率比较高,一般在97%以上。但一旦纹身图像质量较低时,算法的性能下降明显。分析表明,数据集中占20%的低质量图像最终造成了约80%的错误结果。
技术实现思路
为了克服现有的纹身图像分类方法的容易受照射方向,肤色,毛发,光线,图像质量等各方面的影响、可靠性较低、实现效率较低的不足,本专利技术提出一种基于深度学习的纹身图像分类方法,该方法依赖超大样本集,对样本进行图像预处理后使用自编码编码器对彩色纹身图像进行预训练,后使用卷积网络进行学习;考虑到卷积网络在CPU运行效率低下,本专利技术使用CUDA优化后的卷积,相比CPU实现效率提升达40倍,学习后的结果用于实际的纹身分类的应用当中,可靠性良好。为了解决上述技术问题本专利技术采用的技术方案是:一种基于深度学习的纹身图像分类方本文档来自技高网
...
一种基于深度学习的纹身图像分类方法

【技术保护点】
一种基于深度学习的纹身图像分类方法,其特征在于:所述分类方法包括以下步骤: 1)样本变换 1.1)仿射变换; 1.2)弹性变换:对样本进行曲面模拟; 1.3)遮挡模拟:在每幅输入训练机的图像随机把某一区域的像素值置0; 1.4)白化; 2)自编码预训练:使用CUDA优化后的自编码训练机对大量彩色纹身图像进行训练,得到纹身图像的一些共同地边缘信息,同时对这些图像做些挑选后用于卷积网络的第一层; 3)卷积网络训练:使用CUDA优化后的卷积网络对有标定的纹身图像进行训练得到最终分类结果。

【技术特征摘要】
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的自编码...

【专利技术属性】
技术研发人员:张永良肖健伟高思斌肖刚
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1