CN111291694B - 菜肴图像识别方法及装置 - Google Patents

菜肴图像识别方法及装置 Download PDF

Info

Publication number
CN111291694B
CN111291694B CN202010097854.1A CN202010097854A CN111291694B CN 111291694 B CN111291694 B CN 111291694B CN 202010097854 A CN202010097854 A CN 202010097854A CN 111291694 B CN111291694 B CN 111291694B
Authority
CN
China
Prior art keywords
image recognition
layer
model
linear transformation
image
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
Application number
CN202010097854.1A
Other languages
English (en)
Other versions
CN111291694A (zh
Inventor
胡沁涵
郭心悦
杨季文
朱磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Original Assignee
Suzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou University filed Critical Suzhou University
Priority to CN202010097854.1A priority Critical patent/CN111291694B/zh
Publication of CN111291694A publication Critical patent/CN111291694A/zh
Application granted granted Critical
Publication of CN111291694B publication Critical patent/CN111291694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

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

菜肴图像识别方法及装置
技术领域
本申请涉及菜肴图像识别方法及装置,属于计算机技术领域。
背景技术
随着经济的快速发展,人民生活水平不断提高,人们在品尝美食的同时也会记录自己的饮食,或是将这些食物以照片的形式发布到社交网络上与他人分享自己的生活,或者通过应用程序搜索美食的菜单。而通过菜肴图像辅助查询菜肴信息、记录日常饮食是用户经常使用的方法之一。
在用户通过菜肴图像进行美食互动时,电子设备(如:手机、计算机、可穿戴式设备或者服务器等具有图像处理能力的设备)通常需要使用菜肴图像识别模型对菜肴图像进行图像识别,以得到菜肴图像的特征信息。
然而,现有的菜肴图像识别模型(如:AlexNet模型、GoogleNet模型、Inception V3模型等)忽略了随着神经网络不断加深,数据分布变化而带来的梯度消失问题,从而降低菜肴图像识别的准确性。
发明内容
本申请提供了一种菜肴图像识别方法及装置,可以解决现有的菜肴图像识别模型忽略数据分布随神经网络加深而梯度消失的问题。本申请提供如下技术方案:
第一方面,提供了一种菜肴图像识别方法,所述方法包括:
获取待识别的目标菜肴图像;
获取图像识别模型,所述图像识别模型基于神经网络模型建立,且所述神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;所述归一化层用于对所述当前层的输入数据进行归一化;所述线性变换层用于将归一化后的数据线性变换至预设分布区间,所述线性变换层中的线性变换参数是通过对所述图像识别模型进行训练得到的;
将所述目标菜肴图像输入图像识别模型,得到图像识别结果。
可选地,所述获取图像识别模型,包括:
获取训练数据、所述训练数据的均值和方差;
获取待训练的初始网络模型,所述初始网络模型的网络结构与所述图像识别模型的网络结构相同;
将所述训练数据、所述均值和所述方差输入所述初始网络模型,以使所述初始网络模型中的每层归一化层按照所述均值和所述方差对当前层的输入数据进行归一化处理、所述初始网络模型的线性变换层对归一化后的数据进行线性变换后,得到训练结果;
基于所述训练结果与真实结果的差异对所述初始网络模型的模型参数进行迭代训练,得到训练后的图像识别模型;其中,所述模型参数包括所述线性变换层中的线性变换参数。
可选地,所述初始网络模型中多层中间层的归一化层通过下式表示:
其中,xi表示当前层的输入数据中第i个数据,μB是所述当前层的输入数据的均值,是所述训练数据的方差;∈表示预设正数,
所述初始网络模型中多层中间层的线性变换层通过下式表示:
其中,表示归一化后的数据,γ表示所述线性变换层的线性变换参数中的尺度变换参数,β表示所述线性变换层的线性变换参数中的平移参数。
可选地,所述基于所述训练结果与真实结果的差异对所述初始网络模型的模型参数进行迭代训练,得到训练后的图像识别模型之后,还包括:
获取测试数据,所述测试数据与所述训练数据不同;
基于无偏估计法确定所述测试数据的均值估算值和方差估算值;
将所述测试数据、所述均值估算值和所述方差估算值输入所述训练后的图像识别模型,以使所述训练后的图像识别模型中的每层归一化层按照所述均值估算值、所述方差估算值对当前层的输入数据进行归一化处理、所述训练后的图像识别模型的线性变换层使用训练后的线性变换参数对归一化后的数据进行线性变换,得到测试结果;
基于所述测试结果确定所述训练后的图像识别模型的模型性能是否达到期望性能;
在所述模型性能达到所述期望性能时,确定所述训练后的图像识别模型为用于识别所述目标菜肴图像的图像识别模型。
可选地,所述训练后的图像识别模型中多层中间层的归一化层通过下式表示:
其中,xT表示所述测试数据中第T个数据,E[x]是所述均值估算值,Var[x]是所述方差估算值;∈表示预设正数。
所述训练后的图像识别模型中多层中间层的线性变换层通过下式表示:
其中,γ表示所述线性变换层的线性变换参数中的尺度变换参数,β表示所述线性变换层的线性变换参数中的平移参数。
可选地,所述获取图像识别模型,包括:
获取所述目标菜肴图像的目标识别需求;
在预设的识别需求与图像识别模型的对应关系中,查找所述目标识别需求对应的图像识别模型。
可选地,所述方法还包括:
确定第一预设时长内图像识别请求的数量是否大于请求阈值,所述图像识别请求携带有所述目标菜肴图像;
在所述图像识别请求的数量大于所述请求阈值时增加请求处理服务器,所述请求处理服务器用于处理图像识别请求;
基于负载均衡原则将各个图像识别请求调度至各个请求处理服务器。
可选地,所述方法还包括:
确定第二预设时长内目标菜肴图像的数量是否大于图像阈值;
在所述目标菜肴图像的数量大于所述图像阈值时增加图像识别节点,每个图像处理节点运行有所述图像识别模型,以对接收到的目标菜肴图像进行图像识别。
可选地,所述方法还包括:
检测所述图像识别模型是否存在更新;
在所述图像识别模型存在更新时读取模型配置文件,得到更新后的图像识别模型,以使用所述更新后的图像识别模型对所述目标菜肴图像进行图像识别。
第二方面,提供了一种菜肴图像识别装置,所述装置包括:
图像获取模块,用于获取待识别的目标菜肴图像;
模型获取模块,用于获取图像识别模型,所述图像识别模型基于神经网络模型建立,且所述神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;所述归一化层用于对所述当前层的输入数据进行归一化;所述线性变换层用于将归一化后的数据线性变换至预设分布区间,所述线性变换层中的线性变换参数是通过对所述图像识别模型进行训练得到的;
图像识别模块,用于将所述目标菜肴图像输入图像识别模型,得到图像识别结果。
第三方面,提供一种菜肴图像识别装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的菜肴图像识别方法。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的菜肴识别方法。
本申请的有益效果在于:通过获取待识别的目标菜肴图像;获取图像识别模型,图像识别模型基于神经网络模型建立,且神经网络模型中的多层中间层添加了批归一化层,批归一化层包括归一化层和线性变换层;归一化层用于对当前层的输入数据进行归一化;线性变换层用于将归一化后的数据线性变换至预设分布区间,线性变换层中的线性变换参数是通过对图像识别模型进行训练得到的;将目标菜肴图像输入图像识别模型,得到图像识别结果;可以解决现有的菜肴图像识别模型忽略数据分布随神经网络加深而梯度消失的问题;由于菜肴图像识别模型多层中间层均包括归一化层和线性变换层,因此,可以保证多层中间层计算后数据分布仍存在梯度,提高菜肴识别的准确性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的VGG-16的结构示意图;
图2是本申请一个实施例提供的菜肴图像识别系统的结构示意图;
图3是本申请一个实施例提供的改进后的VGG-16的结构示意图;
图4是本申请一个实施例提供的菜肴图像识别方法的流程图;
图5是本申请一个实施例提供的菜肴图像识别装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,对本申请涉及的若干名词进行解释。
无偏估计:是用样本统计量来估计总体参数时的一种无偏推断。估计量的数学期望等于被估计参数的真实值,则称此估计量为被估计参数的无偏估计,即具有无偏性,是一种用于评价估计量优良性的准则。无偏估计的意义是:在多次重复下,它们的平均数接近所估计的参数真值。
神经网络模型:是以神经元的数学模型为基础来描述的。简单地讲,它是一个数学模型。神经网络模型由网络拓扑、节点特点和学习规则来表示。
常用的神经网络模型包括VGG-16。参考图1,VGG-16包括13个卷积层和3个全连接层。在将VGG-16应用于细粒度识别场景(细粒度图像识别场景是指针对图像数据集中相似的子类别进行分类的图像处理场景,即分类对象一般都属于同一个大类,子类之间差距较小的场景)时,一般地,随着网络深度的增加,各层网络的输入数据的梯度逐渐消失。
训练数据:是指用于训练神经网络模型,估计模型参数的数据。
测试数据:是指用于测试和评估训练出来的神经网络模型好坏的数据,这些不能用于训练神经网络模型。
图2是本申请一个实施例提供的菜肴图像识别系统的结构示意图,如图2所示,该系统至少包括:客户端110和请求处理服务器120。
客户端110与请求处理服务器120基于有线或者无线方式建立通信。示意性地,客户端110基于HTTP协议向请求处理服务器120发送图像识别请求。
客户端110用于生成图像识别请求,并将该图像识别请求发送至请求处理服务器120。其中,图像识别请求包括待识别的目标菜肴图像。
请求处理服务器120用于接收图像识别请求,对该图像识别请求进行处理。
请求处理服务器120中运行有菜肴图像识别引擎,以通过该菜肴图像识别引擎对该图像识别请求进行处理。其中,菜肴图像识别引擎包括图像预处理模块和图像识别模块。
图像预处理模块基于tornado框架,图像预处理模块主要负责接收客户端110传送的图像信息并转发至图像识别模块,并将图像识别模块发送的识别结果转发给客户端110。在图像识别请求的并发数量较大时,单个tornado无法在响应时间内成功转发请求时,可以通过nginx的负载均衡和反向代理功能增加tornado结点,换句话说,增加请求处理服务器的数量。由于图像识别是一个较为耗时的任务,本申请中将图像预处理模块向图像识别模块发送的http请求设定为异步,这样无需等待图像识别模块返回识别结果即可马上发送下一个请求。通过图像预处理模块还可以查询图像识别模块硬件的负载情况,根据对负载情况的监控及时增加或减少图像识别节点。
图像识别模块(Tensor flow Serving,TFS)包括多个图像识别节点(比如:GPU)。每个图像识别节点运行有图像识别模型,以对接收到的目标菜肴图像进行图像识别。
具体地,请求处理服务器120对图像识别请求进行处理,包括:获取待识别的目标菜肴图像;获取图像识别模型;将目标菜肴图像输入图像识别模型,得到图像识别结果。
其中,图像识别模型基于神经网络模型建立,且神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;归一化层用于对当前层的输入数据进行归一化;线性变换层用于将归一化后的数据线性变换至预设分布区间,线性变换层中的线性变换参数是通过对图像识别模型进行训练得到的。
以神经网络模型为图1所示的VGG-16为例,在VGG-16的多层中间层(除最后一层中间层之外的其它中间层)中均加入批归一化层(图3中的BN),该归一化层包括归一化层和线性变换层,得到改进后的VGG-16,参考图3。这样,多层中间层均进行数据归一化,可以避免随网络深度增加,数据梯度消失的问题。
需要补充说明的是,本申请中仅以识别菜肴图像为例进行说明,在其它实施例中,本申请提供的菜肴图像识别方法还可以应用于其它细粒度识别场景,本申请不对该菜肴图像识别方法的识别场景作限定。
图4是本申请一个实施例提供的菜肴图像识别方法的流程图,本实施例以该方法应用于图2所示的菜肴图像识别系统中,且各个步骤的执行主体为该系统中的请求处理服务器120为例进行说明。该方法至少包括以下几个步骤:
步骤401,获取待识别的目标菜肴图像。
可选地,接收客户端发送的图像识别请求,获取该图像识别请求中携带的目标菜肴图像。其中,图像识别请求携带有目标菜肴图像。
当然,目标菜肴图像也可以是预存在存储介质中的图像。
可选地,请求处理服务器还用于确定第一预设时长内图像识别请求的数量是否大于请求阈值;在图像识别请求的数量大于请求阈值时增加请求处理服务器,请求处理服务器用于处理图像识别请求;基于负载均衡原则将各个图像识别请求调度至各个请求处理服务器。
步骤402,获取图像识别模型,该图像识别模型基于神经网络模型建立,且神经网络模型中的多层中间层添加了批归一化层,批归一化层包括归一化层和线性变换层;归一化层用于对当前层的输入数据进行归一化;线性变换层用于将归一化后的数据线性变换至预设分布区间,线性变换层中的线性变换参数是通过对图像识别模型进行训练得到的。
其中,预设分布区间可以是[-2,2],当然,预设分布区间也可以按照需要设置为其它数值,本实施例不对预设分布区间的设置方式作限定。
在一个示例中,请求处理服务器获取目标菜肴图像的目标识别需求;在预设的识别需求与图像识别模型的对应关系中,查找目标识别需求对应的图像识别模型。
比如:目标识别需求为位置信息,识别需求与图像识别模型的对应关系参考下表一。若用户选择自己位置信息为江苏苏州,那么获取到的图像识别模型为识别中式菜肴图像的模型;如果用户选择自己位置信息为日本东京,那么获取到的图像识别模型为识别日式菜肴图像的模型。
表一:
识别需求 图像识别模型
中国 识别中式菜肴图像的模型
日本 识别日式菜肴图像的模型
欧洲 识别西式菜肴图像的模型
在另一个示例中,请求处理服务器读取存储在存储介质中的图像识别模型。图像识别模型是通过对初始网络模型进行训练得到的。初始网络模型的网络结构与图像识别模型的网络结构相同。
在又一个示例中,请求处理服务器获取训练数据、训练数据的均值和方差;获取待训练的初始网络模型;将训练数据、均值和方差输入初始网络模型,以使初始网络模型中的每层归一化层按照均值和方差对当前层的输入数据进行归一化处理、初始网络模型的线性变换层对归一化后的数据进行线性变换后,得到训练结果;基于训练结果与真实结果的差异对初始网络模型的模型参数进行迭代训练,得到训练后的图像识别模型;其中,模型参数包括线性变换层中的线性变换参数。
可选地,初始网络模型中多层中间层的归一化层通过下式表示:
其中,xi表示当前层的输入数据中第i个数据,μB是当前层的输入数据的均值,是训练数据的方差;∈表示预设正数,
初始网络模型中多层中间层的线性变换层通过下式表示:
其中,表示归一化后的数据,γ表示线性变换层的线性变换参数中的尺度变换参数,β表示线性变换层的线性变换参数中的平移参数。
在得到训练后的图像识别模型之后,请求处理服务器获取测试数据,测试数据与训练数据不同;基于无偏估计法确定测试数据的均值估算值和方差估算值;将测试数据、均值估算值和方差估算值输入训练后的图像识别模型,以使训练后的图像识别模型中的每层归一化层按照均值估算值、方差估算值对当前层的输入数据进行归一化处理、训练后的图像识别模型的线性变换层使用训练后的线性变换参数对归一化后的数据进行线性变换,得到测试结果;基于测试结果确定训练后的图像识别模型的模型性能是否达到期望性能;在模型性能达到期望性能时,确定训练后的图像识别模型为用于识别目标菜肴图像的图像识别模型。
训练后的图像识别模型中多层中间层的归一化层通过下式表示:
其中,xT表示测试数据中第T个数据,E[x]是均值估算值,Var[x]是方差估算值;∈表示预设正数,
E[x]←EBB]
即,E[x]是使用无偏估计法对测试数据的均值进行估算得到的。
即,Var[x]是使用无偏估计法对测试数据的方值进行估算得到的。m表示测试数据的编号。
训练后的图像识别模型中多层中间层的线性变换层通过下式表示:
其中,γ表示线性变换层的线性变换参数中的尺度变换参数,β表示线性变换层的线性变换参数中的平移参数。
步骤403,将目标菜肴图像输入图像识别模型,得到图像识别结果。
可选地,请求处理服务器在得到图像识别结果后,还可以将该图像识别结果发送至客户端。
可选地,请求处理服务器还可以确定第二预设时长内目标菜肴图像的数量是否大于图像阈值;在目标菜肴图像的数量大于图像阈值时增加图像识别节点,每个图像处理节点运行有图像识别模型,以对接收到的目标菜肴图像进行图像识别。在一些实施例中,通过使用的硬件设备(如:NVIDIA TITAN Xp)进行图像识别,通过监控硬件的使用情况适时增加或减少硬件数量。
可选地,请求处理服务器还可以检测图像识别模型是否存在更新;在图像识别模型存在更新时读取模型配置文件,得到更新后的图像识别模型,以使用更新后的图像识别模型对目标菜肴图像进行图像识别。
这样,如果后续的过程中需要增加新的模型或是更新模型版本,可以修改相应的模型配置文件,设置轮询模型配置文件的时间,这样请求处理服务器会自动重新检测配置文件是否有变化,如果有变化则按照两版文件中不同之处进行版本或模型的重新加载;如果没有变化,则不做出改动。最后,开机后用户的访问量可以通过相应的接口查询到。
综上所述,本实施例提供的菜肴图像识别方法,通过获取待识别的目标菜肴图像;获取图像识别模型,图像识别模型基于神经网络模型建立,且神经网络模型中的多层中间层添加了批归一化层,批归一化层包括归一化层和线性变换层;归一化层用于对当前层的输入数据进行归一化;线性变换层用于将归一化后的数据线性变换至预设分布区间,线性变换层中的线性变换参数是通过对图像识别模型进行训练得到的;将目标菜肴图像输入图像识别模型,得到图像识别结果;可以解决现有的菜肴图像识别模型忽略数据分布随神经网络加深而梯度消失的问题;由于菜肴图像识别模型多层中间层均包括归一化层和线性变换层,因此,可以保证多层中间层计算后数据分布仍存在梯度,提高菜肴识别的准确性。
另外,通过动态增加请求处理服务器的数量,可以接收更多请求,提高图像识别请求的处理速度。
另外,通过动态增加图像识别节点的数量,可以增加目标菜肴图像的吞吐量,提高图像识别速度。
另外,通过动态增加、删除、更新模型,可以保证使用最新的图像识别模型来进行菜肴图像的识别,提高菜肴识别的准确性。
图5是本申请一个实施例提供的菜肴图像识别装置的框图,本实施例以该装置应用于图2所示的图像识别系统中的请求处理服务器120为例进行说明。该装置至少包括以下几个模块:
图像获取模块510,用于获取待识别的目标菜肴图像;
模型获取模块520,用于获取图像识别模型,所述图像识别模型基于神经网络模型建立,且所述神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;所述归一化层用于对所述当前层的输入数据进行归一化;所述线性变换层用于将归一化后的数据线性变换至预设分布区间,所述线性变换层中的线性变换参数是通过对所述图像识别模型进行训练得到的;
图像识别模块530,用于将所述目标菜肴图像输入图像识别模型,得到图像识别结果。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的菜肴图像识别装置在进行图像识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将菜肴图像识别装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的菜肴图像识别装置与菜肴图像识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的菜肴图像识别方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的菜肴图像识别方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种菜肴图像识别方法,其特征在于,所述方法包括:
获取待识别的目标菜肴图像;
获取多种类型的图像识别模型,所述图像识别模型基于神经网络模型建立,且所述神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;所述归一化层用于对当前层的输入数据进行归一化;所述线性变换层用于将归一化后的数据线性变换至预设分布区间,所述线性变换层中的线性变换参数是通过对所述图像识别模型进行训练得到的;
建立多个请求处理服务器,其中,所述请求处理服务器上运行有所述多种类型的图像识别模型;
确定第一预设时长内图像识别请求的数量是否大于请求阈值,所述图像识别请求携带有所述目标菜肴图像;
在所述图像识别请求的数量大于所述请求阈值时增加请求处理服务器,所述请求处理服务器用于处理图像识别请求;
基于负载均衡原则将各个图像识别请求调度至各个请求处理服务器;
获取发送所述图像识别请求的用户端选择的位置信息,所述请求处理服务器基于所述位置信息从所述多种类型的图像识别模型确定目标类型的图像识别模型;
所述请求处理服务器将所述目标菜肴图像输入所述目标类型的图像识别模型,所述目标类型的图像识别模型输出从所述目标菜肴图像中识别的菜肴。
2.根据权利要求1所述的方法,其特征在于,获取所述图像识别模型,包括:
获取训练数据、所述训练数据的均值和方差;
获取待训练的初始网络模型,所述初始网络模型的网络结构与所述图像识别模型的网络结构相同;
将所述训练数据、所述均值和所述方差输入所述初始网络模型,以使所述初始网络模型中的每层归一化层按照所述均值和所述方差对当前层的输入数据进行归一化处理、所述初始网络模型的线性变换层对归一化后的数据进行线性变换后,得到训练结果;
基于所述训练结果与真实结果的差异对所述初始网络模型的模型参数进行迭代训练,得到训练后的图像识别模型;其中,所述模型参数包括所述线性变换层中的线性变换参数。
3.根据权利要求2所述的方法,其特征在于,
所述初始网络模型中多层中间层的归一化层通过下式表示:
其中,xi表示当前层的输入数据中第i个数据,μB是所述当前层的输入数据的均值,是所述训练数据的方差;∈表示预设正数,
所述初始网络模型中多层中间层的线性变换层通过下式表示:
其中,表示归一化后的数据,γ表示所述线性变换层的线性变换参数中的尺度变换参数,β表示所述线性变换层的线性变换参数中的平移参数。
4.根据权利要求2所述的方法,其特征在于,所述基于所述训练结果与真实结果的差异对所述初始网络模型的模型参数进行迭代训练,得到训练后的图像识别模型之后,还包括:
获取测试数据,所述测试数据与所述训练数据不同;
基于无偏估计法确定所述测试数据的均值估算值和方差估算值;
将所述测试数据、所述均值估算值和所述方差估算值输入所述训练后的图像识别模型,以使所述训练后的图像识别模型中的每层归一化层按照所述均值估算值、所述方差估算值对当前层的输入数据进行归一化处理、所述训练后的图像识别模型的线性变换层使用训练后的线性变换参数对归一化后的数据进行线性变换,得到测试结果;
基于所述测试结果确定所述训练后的图像识别模型的模型性能是否达到期望性能;
在所述模型性能达到所述期望性能时,确定所述训练后的图像识别模型为用于识别所述目标菜肴图像的图像识别模型。
5.根据权利要求4所述的方法,其特征在于,
所述训练后的图像识别模型中多层中间层的归一化层通过下式表示:
其中,xT表示所述测试数据中第T个数据,E[x]是所述均值估算值,Var[x]是所述方差估算值;∈表示预设正数,
所述训练后的图像识别模型中多层中间层的线性变换层通过下式表示:
其中,γ表示所述线性变换层的线性变换参数中的尺度变换参数,β表示所述线性变换层的线性变换参数中的平移参数。
6.根据权利要求1所述的方法,其特征在于,获取所述图像识别模型,包括:
获取所述目标菜肴图像的目标识别需求;
在预设的识别需求与图像识别模型的对应关系中,查找所述目标识别需求对应的图像识别模型。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
确定第二预设时长内目标菜肴图像的数量是否大于图像阈值;
在所述目标菜肴图像的数量大于所述图像阈值时增加图像识别节点,每个图像处理节点运行有所述图像识别模型,以对接收到的目标菜肴图像进行图像识别。
8.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
检测所述图像识别模型是否存在更新;
在所述图像识别模型存在更新时读取模型配置文件,得到更新后的图像识别模型,以使用所述更新后的图像识别模型对所述目标菜肴图像进行图像识别。
9.一种菜肴图像识别装置,其特征在于,所述装置包括:
图像获取模块,用于获取待识别的目标菜肴图像;
模型获取模块,用于获取多种类型的图像识别模型,所述图像识别模型基于神经网络模型建立,且所述神经网络模型中的多层中间层添加了批归一化层,所述批归一化层包括归一化层和线性变换层;所述归一化层用于对当前层的输入数据进行归一化;所述线性变换层用于将归一化后的数据线性变换至预设分布区间,所述线性变换层中的线性变换参数是通过对所述图像识别模型进行训练得到的;
图像识别模块,用于建立多个请求处理服务器,其中,所述请求处理服务器上运行有所述多种类型的图像识别模型;确定第一预设时长内图像识别请求的数量是否大于请求阈值,所述图像识别请求携带有所述目标菜肴图像;在所述图像识别请求的数量大于所述请求阈值时增加请求处理服务器,所述请求处理服务器用于处理图像识别请求;基于负载均衡原则将各个图像识别请求调度至各个请求处理服务器;获取发送所述图像识别请求的用户端选择的位置信息,所述请求处理服务器基于所述位置信息从所述多种类型的图像识别模型确定目标类型的图像识别模型;所述请求处理服务器将所述目标菜肴图像输入所述目标类型的图像识别模型,所述目标类型的图像识别模型输出从所述目标菜肴图像中识别的菜肴。
CN202010097854.1A 2020-02-18 2020-02-18 菜肴图像识别方法及装置 Active CN111291694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010097854.1A CN111291694B (zh) 2020-02-18 2020-02-18 菜肴图像识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010097854.1A CN111291694B (zh) 2020-02-18 2020-02-18 菜肴图像识别方法及装置

Publications (2)

Publication Number Publication Date
CN111291694A CN111291694A (zh) 2020-06-16
CN111291694B true CN111291694B (zh) 2023-12-01

Family

ID=71021983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010097854.1A Active CN111291694B (zh) 2020-02-18 2020-02-18 菜肴图像识别方法及装置

Country Status (1)

Country Link
CN (1) CN111291694B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111738325B (zh) * 2020-06-16 2024-05-17 北京百度网讯科技有限公司 图像识别方法、装置、设备以及存储介质
CN112734911A (zh) * 2021-01-07 2021-04-30 北京联合大学 基于卷积神经网络的单幅图像三维人脸重建方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529427A (zh) * 2016-10-24 2017-03-22 合肥华凌股份有限公司 图像中目标物体识别方法、冰箱内食品识别方法及系统
CN108229379A (zh) * 2017-12-29 2018-06-29 广东欧珀移动通信有限公司 图像识别方法、装置、计算机设备和存储介质
CN108491765A (zh) * 2018-03-05 2018-09-04 中国农业大学 一种蔬菜图像的分类识别方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529427A (zh) * 2016-10-24 2017-03-22 合肥华凌股份有限公司 图像中目标物体识别方法、冰箱内食品识别方法及系统
CN108229379A (zh) * 2017-12-29 2018-06-29 广东欧珀移动通信有限公司 图像识别方法、装置、计算机设备和存储介质
CN108491765A (zh) * 2018-03-05 2018-09-04 中国农业大学 一种蔬菜图像的分类识别方法及系统

Also Published As

Publication number Publication date
CN111291694A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN105608179B (zh) 确定用户标识的关联性的方法和装置
CN107305611B (zh) 恶意账号对应的模型建立方法和装置、恶意账号识别的方法和装置
CN111291694B (zh) 菜肴图像识别方法及装置
CN111526119B (zh) 异常流量检测方法、装置、电子设备和计算机可读介质
CN108536753B (zh) 重复信息的确定方法及相关装置
US11483408B2 (en) Feature-based network embedding
CN108228684B (zh) 聚类模型的训练方法、装置、电子设备和计算机存储介质
WO2022028147A1 (zh) 图像分类模型训练方法、装置、计算机设备及存储介质
CN111310074A (zh) 兴趣点的标签优化方法、装置、电子设备和计算机可读介质
US20230004776A1 (en) Moderator for identifying deficient nodes in federated learning
CN112765362B (zh) 基于改进自编码器的知识图谱实体对齐方法及相关设备
CN112052399B (zh) 一种数据处理方法、装置和计算机可读存储介质
CN111538859B (zh) 一种动态更新视频标签的方法、装置及电子设备
CN115795368B (zh) 一种基于人工智能的企业内训数据处理方法及系统
CN111061916A (zh) 一种基于多目标库图像识别的视频共享系统
CN116228301A (zh) 一种目标用户的确定方法、装置、设备及介质
CN113947185B (zh) 任务处理网络生成、任务处理方法、装置、电子设备及存储介质
CN113377683B (zh) 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN115830709A (zh) 基于联邦边缘学习的动作识别方法、服务器及电子设备
CN114821140A (zh) 基于曼哈顿距离的图像聚类方法、终端设备及存储介质
CN112330225B (zh) 通过服务器获取线损影响因素影响度的方法、服务器和介质
CN113239879A (zh) 联邦模型训练、证件检测方法、装置、设备及介质
JP2015097036A (ja) 推薦画像提示装置及びプログラム
CN111046307B (zh) 用于输出信息的方法和装置
CN113420227B (zh) 点击率预估模型的训练方法、预估点击率的方法、装置

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
GR01 Patent grant
GR01 Patent grant