一种基于迁移学习的大规模食材图像分类方法与流程

文档序号:15638718发布日期:2018-10-12 21:48阅读:186来源:国知局
本发明涉及一种基于迁移学习的大规模食材图像分类方法,属于食材图像分类
技术领域
:。
背景技术
::随着深度学习的飞速发展,图像分类技术已发展成国内外计算机视觉领域比较热门的研究方向,在越来越多的领域得到了应用;基于实际场景,如何构建好一种对图像进行分类,并且准确率高、鲁棒性好的方法是图像分类技术走向实际应用不可避免的核心问题。训练分类器需要大量的样例,当训练样例很少时,这就成为了一个难题,对于严重的类别不平衡问题,则使用诚信环境数据集中一组类的固有结构来呈现prioritreecnn模型;例如,需要购买的四种食材,大红椒与螺丝椒,小米椒和尖青椒有关,但只有一个螺丝椒的图像,这将很难训练一个分类器来区分螺丝椒和其他三个类别的数百张图片;通过这些相关类别的标记示例,可以让模型通过zero-shot更容易从一个螺丝椒示例学习任务;通过从相关类别迁移“知识”来学习新类别,只需要了解螺丝椒的特征;传统的图像分类包括knn,svm等方法,knn是通过测量不同特征值之间的距离进行分类,knn的缺点包括计算量大,样本不平衡时预测偏差比较大等问题;svm属于监督学习,是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,svm的缺点包括对于核函数的高维映射解释力不强,尤其是径向基函数;并且只给出了二类分类的算法,解决多分类问题存在困难;针对现有技术存在的问题,本发明基于迁移学习方法对卷积神经网络模型(cnn)进行了改进,提出了prior-treecnn模型来学习类结构和分类器参数,充分地利用大量已有的相关类别的标记数据、学习高效的相关类别的“知识”迁移,从而利用大样本集上的训练得到的分类器提高小样本集物体分类的准确率和鲁棒性,并且建立meal-53小样本数据集,其目的是在只有少数样例的情况下提高分类准确度。技术实现要素:为解决上述问题,本发明提出了一种基于迁移学习的大规模食材图像分类方法,基于迁移学习方法对卷积神经网络模型(cnn)进行改进,并且提出prior-treecnn模型来学习类结构和分类器参数,改进后的模型具有高效性、高准确率及普适性。本发明的基于迁移学习的大规模食材图像分类方法,所述分类方法包括以下步骤:输入一张原始图片,通过迁移学习的知识,输出包含两方面的信息,其一是对收货环境的识别结果,其二是对食材种类的识别结果;在基于多任务的prior-treecnn模型的前向传播之后,由最后一个全连接层产生的联合特征将被输入到不同的分类任务中。进一步地,所述分类方法具体包括以下步骤:在多任务分类cnn模型上增加一人为设定的树形结构,根据这个树形结构,首先设置父类节点,然后让新加入的子类能够直接获得父类的特征,在此情况下再训练;这样即使数据少,新加入的子类也能拥有不错的效果;该模型也可以视为不同任务的特定softmax损失;在优化联合损失层并共享视觉特征之后,cnn模型在反向传播过程中将传递其相关参数;将收集到的食材图像用c∈{0,1}来标志是否为干净收货环境下的图片,用多类标签k∈{1,...k}来标志食材种类,式中k是所有类别的数量;最后迭代地训练整个网络和参数直到收敛;在实际过程中,学习过程与标准梯度下降几乎相同,测试时,首先验证图像是否为干净的收货环境图片;如果图像被预测为非干净的图像,则系统将拍摄新图像以继续该过程,直到在给定时间内找到干净图像;其次,如果图像被预测为蔬菜类别,则该模型将按给定顺序过滤蔬菜中的其他标签;最后,通过结合了订单、重量等信息的prioritreecnn模型,干净的图像将得到食材类别和预测的分数。再进一步地,所述prior-treecnn模型其公式表达方式如下:首先假设已经拥有一棵先验树,所有的食材类别是一个三层的树组成的,先验树一共有k+1个叶子节点,分别对应的是k个食材类别标签和1个被忽略标签;这些叶子节点与第二层的7个父类节点相连,k个食材类别具有4个父类,包括s1,s2,s3,s4,收货环境类别被分为3组,包括n1,n2,n3;对于这种层次分类,如果有高置信度将输入图像分类为蔬菜,那么过滤掉订单中其他类别进行预测,不需要关注肉和水产等类别了,进一步提高食材种类识别任务的准确率;为了简化prioritree模型,只关注k类中的标签与其四个父节点之间的关系;在softmax函数之前,叶子标签节点k与权重向量关联;每一个超类节点s和向量关联,式中s∈{1,2,3,4};例如,βcabbage和βcarrot记录了与αvegatable之间的偏差;为β定义下面的生成模型:这个先验表达式说明了类别之间的关系,k上的条件分布表示为:通过map推断{w,β,α}的值,最大化:logp(k|i,t,w,β)+logp(k|i,w,β)+logp(w)+logp(β|α)+logp(α);(3)在损失函数的角度来看,最小化:在这里,通过固定α的值为0,损失函数将降低到标准损失函数,令cs={k|parant(k)=s},那么因此,公式(4)中的损失函数通过迭代地进行以下两个步骤来优化;首先,最大化w和β,使用标准损失函数的标准随机梯度下降(sgd)将α固定;其次,通过公式(5)固定β,从而最大化α。本发明与现有技术相比较,本发明的基于迁移学习的大规模食材图像分类方法,基于迁移学习方法对卷积神经网络模型进行改进,并且提出prior-treecnn模型来学习类结构和分类器参数,改进后的模型具有以下优点:高效性,提出多任务cnn模型对诚信/非诚信环境图像进行分类,以减少meal-53数据集中的噪声,并更有效地利用训练样本的特征;高准确率,改进后的模型可以在数据训练集较少的时候也能正确识别该类别;普适性,改进后的cnn模型是通过学习来解决问题,并不局限于某个特定的问题,能够根据问题自动建立模型,从而解决相似的问题。附图说明图1是本发明的prior-treecnn的模型整体构架示意图;其中,图(a)为prior-treecnn模型图;图(b)为树形结构图。图2是本发明的通过超类预测过滤模型内的标签的示意图;其中,图(a)为先验树示意图;图(b)为订单分类示意图。图3是本发明的mealcome数据集上的使用1-crop进行验证的准确性示意图。图4是本发明的mealcome数据集上的使用10-crops进行验证的准确性示意图。图5是本发明的prioritreemodel预测样本的示例结构示意图。具体实施方式本发明的基于迁移学习的大规模食材图像分类方法,所述分类方法包括以下步骤:为了增强模型对于分类的效果,并使得模型可以在数据训练集较少的时候也能正确识别该类别;提出了prior-treecnn模型,如图1所示,输入一张原始图片ii,通过迁移学习的知识,输出包含两方面的信息,其一是对收货环境的识别结果,其二是对食材种类的识别结果;在基于多任务的prior-treecnn模型的前向传播之后,由最后一个全连接层产生的联合特征将被输入到不同的分类任务中。所述分类方法具体包括以下步骤:在多任务分类cnn模型上增加一人为设定的树形结构,根据这个树形结构,首先设置父类节点,然后让新加入的子类能够直接获得父类的特征,在此情况下再训练;这样即使数据少,新加入的子类也能拥有不错的效果;该模型也可以视为不同任务的特定softmax损失;在优化联合损失层并共享视觉特征之后,cnn模型在反向传播过程中将传递其相关参数;将收集到的食材图像用c∈{0,1}来标志是否为干净收货环境下的图片,用多类标签k∈{1,...k}来标志食材种类,式中k是所有类别的数量;最后迭代地训练整个网络和参数直到收敛;在实际过程中,学习过程与标准梯度下降几乎相同,测试时,首先验证图像是否为干净的收货环境图片;如果图像被预测为非干净的图像,则系统将拍摄新图像以继续该过程,直到在给定时间内找到干净图像;其次,如果图像被预测为蔬菜类别,则该模型将按给定顺序过滤蔬菜中的其他标签;最后,通过结合了订单、重量等信息的prioritreecnn模型,干净的图像将得到食材类别和预测的分数。所述prior-treecnn模型其公式表达方式如下:首先假设已经拥有一棵先验树,所有的食材类别是一个三层的树组成的,如图2所示,先验树一共有k+1个叶子节点,分别对应的是k个食材类别标签和1个被忽略标签;这些叶子节点与第二层的7个父类节点相连,k个食材类别具有4个父类,即被分为4组(s1,s2,s3,s4),收货环境类别被分为3组(n1,n2,n3);对于这种层次分类,如果有高置信度将输入图像分类为蔬菜,那么过滤掉订单中其他类别进行预测,不需要关注肉和水产等类别了,进一步提高食材种类识别任务的准确率;为了简化prioritree模型,只关注k类中的标签与其四个父节点之间的关系;在softmax函数之前,叶子标签节点k与权重向量关联;每一个超类节点s和向量关联,式中s∈{1,2,3,4};例如,βcabbage和βcarrot记录了与αvegatable之间的偏差;为β定义下面的生成模型:这个先验表达式说明了类别之间的关系,k上的条件分布表示为:通过map推断{w,β,α}的值,最大化:logp(k|i,t,w,β)+logp(k|i,w,β)+logp(w)+logp(β|α)+logp(α);(3)在损失函数的角度来看,最小化:在这里,通过固定α的值为0,损失函数将降低到标准损失函数,令cs={k|parant(k)=s},那么因此,公式(4)中的损失函数通过迭代地进行以下两个步骤来优化;首先,最大化w和β,使用标准损失函数的标准随机梯度下降(sgd)将α固定;其次,通过公式(5)固定β,从而最大化α。实施例1:采用resnet-50的多任务实验作为基线实验进行训练,然后使用订单,重量特征和迁移学习技术逐步改进食材的识别精度,prior-treecnn模型其实验方法具体如下:a.数据集与实验环境,数据集来源于mealcome,mealcome是中国最大的食品供应链平台之一(www.mealcome.com),为近1000家餐厅提供服务;选取15020张干净环境的图片和15557张脏图片来构建meal-53数据集;干净图片分为51种食品材料类别,脏图片分为3种;所有这些数据标签都是通过人工添加的;在干净图片的部分,每个类别的图像编号从106到895不等;对于所有的脏图片,将“光线暗”合并到“其他”,因此脏图片就分为“未开袋”和“其他”两个部分,图片数量分别是11382和4157;训练集,测试集和验证集的比率分别为70%,15%和15%;由于数据集的不平衡性,在训练resnet模型时,使用oversample的方法来确保每个类别都有500张用于训练的图像和100张用于测试的图像;为了训练基于多任务的深度cnn模型,使用干净图片和脏图片数据集;meal-53数据集中的干净图片包含了订单信息,订单信息的数量为5026条,每张订单的食材图片数量在10到35之间,这也是不平衡的;在每个订单中,食材图像同样具有重量信息;还将5026份订单分为训练集,测试集和验证集三个部分,比例与上述数据集相同;这些数据集用于训练基于订单的模型(orderdropout,orderweighting和prioritree),在训练,测试和验证期间,订单和重量信息被集成到图像标签中;在实验中,深度学习框架使用的是经过修改过后的caffe,深度学习模型选择的是resnet-50,resnet-50经过了预训练可以减少训练时间并提高准确性;所有模型中,最后一个innerproduct层的权重lr_mult设置为10.0,偏置项设为20.0进行训练;训练与测试的批次均为16,动量为0.9;所有的实验都是在intel(r)i7cpu,32gbram和geforcegtx1080ti上进行的;b.基线(baseline)和评估方法,采用深度学习模型resnet,和多任务的cnn作为baseline来同时完成两项任务;如图3中显示的数据是平均精度,对于收货环境识别任务,可以得到干净图片和脏图片的识别比率:integrityratio和non-integrityratio;这两个比率是真正类率(truepositiverate,tpr);对于食材类别识别任务,可以得到每个食材类别的概率,top-k命中率和召回率的评估公式如下:式中,ni,i∈(0,1,...,50)是第i个食材类别的编号,nki是测试集合中第i个食材的top-k的概率,n等于50;c.实验结果与分析,resnet,baseline,orderweightingmodel和prioritreemodel的实验结果如图3和图4所示,图3显示了使用1-crop验证方法获得的实验结果;可以得出结论,在收货环境识别任务中,prioritreemodel进一步提高了integrityratio和non-integrityratio,分别是94.41%和92.86%;同样,在图4中显示了prioritreemodel在top-1和top-3的准确率上的取得了最佳结果99.12%和99.94%,top-5的准确率在其他几个模型上面都取得了基本一致的结果100%;图4中的实验结果是通过10-crops的验证方法得到的,可以看出,该方法比1-crop验证方法有更好的效果,可以看到其中prioritreemodel中的integrityratio和non-integrityratio分别进一步提高至94.84%和94.56%;图5显示了baseline和prioritreemodel对部分食材的识别结果,其中,样本图像下的“baseline”标签表示基线(baseline)的识别结果,而“prioritree”表示先验树模型的识别结果;根据以上结果表明了使用迁移学习的prioritreecnn能够提高食材的识别精度。本发明的基于迁移学习的大规模食材图像分类方法,对于食材数据集中只有少量标记样本的类别时,基于迁移学习方法对卷积神经网络模型(cnn)进行改进,提出prior-treecnn模型来学习食材类别结构和分类器参数,充分地利用大量已有的相关类别的标记数据、学习高效的相关类别的知识迁移,从而利用大样本集上的训练的到的分类器提高小样本集物体分类的准确率和鲁棒性;建立meal-53小样本数据集,其中包含32种蔬菜类别,15种肉禽蛋类,3种水产类食材,包含1种豆类、豆制品食材,包含3种脏图片,即未开袋、光线暗以及其他;基于迁移学习方法对卷积神经网络模型(cnn)进行改进,并且提出prior-treecnn模型来学习类结构和分类器参数,改进后的模型具有以下优点:高效性,提出多任务cnn模型对诚信/非诚信环境图像进行分类,以减少meal-53数据集中的噪声,并更有效地利用训练样本的特征;高准确率,改进后的模型可以在数据训练集较少的时候也能正确识别该类别;普适性,改进后的cnn模型是通过学习来解决问题,并不局限于某个特定的问题,能够根据问题自动建立模型,从而解决相似的问题。上述实施例,仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1