CN109740597A - 菜单信息的识别方法及装置 - Google Patents
菜单信息的识别方法及装置 Download PDFInfo
- Publication number
- CN109740597A CN109740597A CN201811639502.3A CN201811639502A CN109740597A CN 109740597 A CN109740597 A CN 109740597A CN 201811639502 A CN201811639502 A CN 201811639502A CN 109740597 A CN109740597 A CN 109740597A
- Authority
- CN
- China
- Prior art keywords
- menu
- vegetable
- information
- text information
- sample
- 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.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种菜单信息的识别方法及装置,其中,方法包括:获取与样本菜品相对应的菜品文本信息;模拟菜品文本信息在菜单图片中的呈现样式,根据模拟结果生成与菜品文本信息相对应的仿真菜单图片;将仿真菜单图片确定为菜单样本,确定与菜单样本相对应的样本标注信息;根据菜单样本以及与菜单样本相对应的样本标注信息训练菜单识别模型,通过菜单识别模型获取待识别的菜单图片的识别结果。本发明方案中,根据仿真菜单图片训练得到菜单识别模型,其中,训练所需的样本标注信息是可由菜品文本信息准确确定的,可以避免出现标注结果不准确的问题,有利于提高训练得到的菜单识别模型的准确性,进一步提高识别结果的准确性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种菜单信息的识别方法及装置。
背景技术
光学字符识别(Optical Character Recognition,简称OCR)可以对图片中的文字信息进行提取,比如阿里云通用OCR服务可以完成对图片上的文字信息的提取。在提取出文字信息后,可以通过人工智能通用技术如树模型(决策树、随机森林、GBDT、Xgboost等)、神经网络模型(CNN、DNN等)等来对文字信息进行分析识别,得到需求的文本内容。上述得到需求的文本内容的过程,可通过一套专用算法模型来实现,该算法模型综合文字信息提取功能以及分析识别功能。
与此同时,近年来,随着传统餐饮行业逐渐向智能化方向的发展,将传统的纸质菜单中的菜单文本同步至各种终端或服务器中具有极大的实用价值。因此,利用专用算法模型对菜单图片中的文本进行识别可视为一种有效的方式。
现有的对菜单图片中的菜单文本进行识别的方案中,算法模型通常是通过如下方式得到的:采集菜单图片样本集合,并对各个菜单图片样本进行样本信息的标注后,得到图片标注信息;将菜单图片样本和图片标注信息输入至初始化的模型中进行训练以及测试,最终得到算法模型。其中,菜单图片样本为真实的菜单图片,以及,对菜单图片样本进行样本信息的标注通常是采用人工标注的方式实现的,具体对每个真实的菜单图片标注出名称、价格、单位、规格、类目等文本。
然而,现有技术中的这种训练得到算法模型的方式,首先,人工标注的效率低,而训练所需的样本量则非常庞大,这将造成人工标注的时间成本或财务成本高;其次,人工标注往往意味着大量的重复性工作,这样会带来一定的错误量且不易核查出。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的菜单信息的识别方法及装置。
根据本发明的一个方面,提供了一种菜单信息的识别方法,包括:
获取与样本菜品相对应的菜品文本信息;
模拟所述菜品文本信息在菜单图片中的呈现样式,根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
可选的,所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
按照预设的菜单模拟规则,模拟所述菜品文本信息在菜单图片中的呈现样式;
其中,所述菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。
可选的,当所述菜单模拟规则包括样式类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的字体库中选择与所述菜品文本信息相对应的字体样式,按照选择的字体样式在菜单图片中呈现所述菜品文本信息,得到与选择的字体样式相对应的模拟结果;和/或,
从预设的布局模板库中选择与所述菜品文本信息相对应的布局样式模板,按照选择的布局样式模板在菜单图片中呈现所述菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,所述菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。
可选的,所述预设的字体库中包括多种字体样式;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的字体库中选择与所述菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;
所述根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片包括:
根据所述与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
可选的,所述预设的布局模板库中包括多种布局样式模板;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的布局模板库中选择与所述菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;
所述根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片包括:
根据所述与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
可选的,在所述按照所述布局样式模板在菜单图片中呈现所述菜品文本信息之后,所述方法还包括:
确定所述布局样式模板中的各个文本框的偏移量;所述偏移量包括横向偏移量和/或纵向偏移量;
根据所述偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
确定拍摄所述菜单图片时的光影信息;在所述菜单图片中添加所述光影信息,得到在所述光影信息下所述菜品文本信息在菜单图片中的呈现样式。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式还包括:
在菜单图片所在的平面中确定旋转中心;以及,按照预设规则确定拍摄时的第一拍摄角度;
根据所述旋转中心以及第一拍摄角度在菜单图片所在的平面内旋转各个文本框;
在旋转后的各个文本框的位置呈现对应的各个文本项,得到经旋转后的所述菜品文本信息在菜单图片中的呈现样式。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式还包括:
针对拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,计算对应所述第二拍摄角度的透视矩阵;
根据所述透视矩阵对菜单图片进行透视变换,得到经透视变换后的所述菜品文本信息在菜单图片中的呈现样式。
可选的,所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的背景库中选择与所述菜单图片相对应的背景,将选择的背景添加至菜单图片的底层,得到在选择的背景下所述菜品文本信息在菜单图片中的呈现样式。
根据本发明的另一方面,提供了一种菜单信息的识别装置,包括:
获取模块,适于获取与样本菜品相对应的菜品文本信息;
模拟模块,适于模拟所述菜品文本信息在菜单图片中的呈现样式;
生成模块,适于根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
确定模块,适于将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
识别模块,适于根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
可选的,所述模拟模块进一步适于:
按照预设的菜单模拟规则,模拟所述菜品文本信息在菜单图片中的呈现样式;
其中,所述菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。
可选的,当所述菜单模拟规则包括样式类子规则时;
所述模拟模块进一步适于:
从预设的字体库中选择与所述菜品文本信息相对应的字体样式,按照选择的字体样式在菜单图片中呈现所述菜品文本信息,得到与选择的字体样式相对应的模拟结果;和/或,
从预设的布局模板库中选择与所述菜品文本信息相对应的布局样式模板,按照选择的布局样式模板在菜单图片中呈现所述菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,所述菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。
可选的,所述预设的字体库中包括多种字体样式;
所述模拟模块进一步适于:
从预设的字体库中选择与所述菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;
所述生成模块进一步适于:
根据所述与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
可选的,所述预设的布局模板库中包括多种布局样式模板;
所述模拟模块进一步适于:
从预设的布局模板库中选择与所述菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;
所述生成模块进一步适于:
根据所述与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
可选的,所述装置还包括:
调整模块,适于确定所述布局样式模板中的各个文本框的偏移量;所述偏移量包括横向偏移量和/或纵向偏移量;
以及,适于根据所述偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块进一步适于:
确定拍摄所述菜单图片时的光影信息;在所述菜单图片中添加所述光影信息,得到在所述光影信息下所述菜品文本信息在菜单图片中的呈现样式。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块进一步适于:
在菜单图片所在的平面中确定旋转中心;以及,按照预设规则确定拍摄时的第一拍摄角度;
根据所述旋转中心以及第一拍摄角度在菜单图片所在的平面内旋转各个文本框;
在旋转后的各个文本框的位置呈现对应的各个文本项,得到经旋转后的所述菜品文本信息在菜单图片中的呈现样式。
可选的,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块进一步适于:
针对拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,计算对应所述第二拍摄角度的透视矩阵;
根据所述透视矩阵对菜单图片进行透视变换,得到经透视变换后的所述菜品文本信息在菜单图片中的呈现样式。
可选的,所述模拟模块进一步适于:
从预设的背景库中选择与所述菜单图片相对应的背景,将选择的背景添加至菜单图片的底层,得到在选择的背景下所述菜品文本信息在菜单图片中的呈现样式。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述菜单信息的识别方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述菜单信息的识别方法对应的操作。
根据本发明的菜单信息的识别方法及装置,在获取到与样本菜品相对应的菜品文本信息后,通过模拟对识别结果产生干扰的影响因素,以实现真实菜单的仿真,并得到仿真菜单图片;其中,仿真菜单图片中包含的样本菜品的菜品文本信息是已知的,则可以利用该菜品文本信息来准确表示样本标注信息;将仿真菜单图片确定为菜单样本,以及根据菜品文本信息确定与菜单样本相对应的样本标注信息,并据此对菜单识别模型进行训练,可以训练得到准确的菜单识别模型,然后可用于对待识别的菜单图片进行识别。由此可见,本发明方案,可以根据菜品文本信息直接准确确定样本标注信息,一方面,无需人工进行样本标注信息的标注,节省了人工标注的时间成本以及财务成本;另一方面,相较于人工标注,本方案确定样本标注信息的方式避免了标注错误的问题,进而使得训练得到的菜单识别模型更为准确。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的菜单信息的识别方法的流程图;
图2示出了根据本发明另一个实施例的菜单信息的识别方法的流程图;
图3示出了各种标准角度下的第一拍摄角度的示意图;
图4a至图4b分别示出了拍摄设备不同倾斜情况下拍出的菜单图片的示意图;
图5示出了根据本发明一个实施例的菜单信息的识别装置的功能框图;
图6示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的菜单信息的识别方法的流程图。如图1所示,该方法包括:
步骤S101:获取与样本菜品相对应的菜品文本信息。
在本实施例中,通过对真实菜单进行仿真得到仿真菜单图片,并将仿真菜单图片作为菜单样本进行训练得到菜单识别模型。
其中,样本菜品指仿真菜单图片中包含的菜品;以及,与样本菜品相对应的菜品文本信息包括反映菜品信息的文本内容,可选的,菜品信息包括但不限于菜品名称信息、菜品价格信息、菜品单位信息和/或菜品类目信息。
具体地,主动获取与样本菜品相对应的菜品文本信息,即表明仿真菜单图片中的菜品数据是已知的,在后续标注的过程中,可准确得知仿真菜单图片中包含的样本菜品的样本标注信息。需要在此说明的是,在本实施例中,对与样本菜品相对应的菜品文本信息的来源不做具体限定,可选的,该来源可以为菜品库。
步骤S102:模拟菜品文本信息在菜单图片中的呈现样式,根据模拟结果生成与菜品文本信息相对应的仿真菜单图片。
具体地,模拟菜品文本信息在菜单图片中的呈现样式,实质是模拟实际情况中对识别产生干扰的因素。在实际情况中,菜品文本信息在菜单图片中的呈现样式主要受排版样式和/或拍摄环境的影响,相应的,在模拟菜品文本信息在菜单图片中的呈现样式时,则主要是对菜单图片中菜品文本信息的排版样式和/或实际的拍摄环境进行模拟。但是,本发明并不以此为限,在具体实施的过程中,本领域技术人员也可以对其它影响因素进行模拟,例如,模拟菜单图片的背景。
在对菜品文本信息在菜单图片中的呈现样式进行模拟后,得到经模拟后的菜单图片,根据该经模拟后的菜单图片生成与菜品文本信息相对应的仿真菜单图片,本发明也不对生成仿真菜单图片的方式做具体限定,可选的,可直接将经模拟后的菜单图片确定为仿真菜单图片,或者,可以首先对经模拟后的菜单图片进行预处理,例如图片缩放处理,然后将经预处理后的图片确定为仿真菜单图片。
步骤S103:将仿真菜单图片确定为菜单样本,根据菜品文本信息确定与菜单样本相对应的样本标注信息。
在训练得到菜单识别模型之前,首先确定用于训练的菜单样本以及确定与菜单样本相对应的样本标注信息。在本实施例中,将通过仿真方式主动构建的仿真菜单图片确定为菜单样本;以及,仿真菜单图片中包含的菜品文本信息均是获取到的标准数据,在将仿真菜单图片确定为菜单样本之后,则菜单文本信息可准确的表示成与菜单样本相对应的样本标注信息。可见,本实施例中确定的与菜单样本相对应的样本标注信息,与菜单样本中的真实数据是完全匹配的,进而可使得确定的样本标注信息准确无误。
步骤S104:根据菜单样本以及与菜单样本相对应的样本标注信息训练菜单识别模型,通过菜单识别模型获取待识别的菜单图片的识别结果。
通过上述步骤确定的与菜单样本相对应的样本标注信息,与菜单样本中的真实数据完全匹配,则利用菜单样本以及与菜单样本相对应的样本标注信息训练菜单识别模型,可以避免因样本标注信息错误,而导致训练得到的菜单识别模型的不准确的问题。然后,利用训练得到的菜单识别模型对待识别的菜单图片中的菜品文本信息进行识别,则可以准确的识别出待识别的菜单图片中的菜品数据。
根据本实施例提供的菜单信息的识别方法,在获取到与样本菜品相对应的菜品文本信息后,通过模拟对识别结果产生干扰的影响因素,以实现真实菜单的仿真,并得到仿真菜单图片;其中,仿真菜单图片中包含的样本菜品的菜品文本信息是已知的,则可以利用该菜品文本信息来准确表示样本标注信息;将仿真菜单图片确定为菜单样本,以及根据菜品文本信息确定与菜单样本相对应的样本标注信息,并据此对菜单识别模型进行训练,可以训练得到准确的菜单识别模型,然后可用于对待识别的菜单图片进行识别。由此可见,本实施例方案,可以根据菜品文本信息直接准确确定样本标注信息,一方面,无需人工进行样本标注信息的标注,节省了人工标注的时间成本以及财务成本;另一方面,相较于人工标注,本方案确定样本标注信息的方式避免了标注错误的问题,进而使得训练得到的菜单识别模型更为准确。
图2示出了根据本发明另一个实施例的菜单信息的识别方法的流程图。如图2所示,该方法包括:
步骤S201:获取与样本菜品相对应的菜品文本信息。
具体地,按照实际识别场景的需求,确定需要获取的菜品信息,使获取的菜品信息与待识别的菜品图片中包含的菜品信息一致。通常情况下,菜单中至少包含菜品的菜品名称信息和菜品价格信息,在一些可选的实施例中,菜单中还包括菜品单位信息,和/或菜品类目信息。然后,获取各个样本菜品对应菜品信息的文本内容,即得到与样本菜品相对应的菜品文本信息。其中,样本菜品的选取可随机选择,或者可以根据实际识别场景中的菜系或菜品类型进行选择。
举例来说,需要将菜单识别模型应用于识别由菜品名称和菜品价格组成的菜单,则确定菜品信息为菜品名称信息和菜品价格信息,并从菜品库中获取若干样本菜品的菜品名称信息的文本内容和菜品价格信息的文本内容。
步骤S202:按照预设的菜单模拟规则,模拟菜品文本信息在菜单图片中的呈现样式;根据模拟结果生成与菜品文本信息相对应的仿真菜单图片。
其中,菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。其中,样式子规则主要用于对菜品文本信息的排版样式进行模拟;场景子规则主要用于对拍摄环境进行模拟。下面分别从按照样式子规则和按照场景子规则进行模拟来说明菜单模拟的具体过程:
其一,按照样式子规则模拟菜品文本信息在菜单图片中的呈现样式。样式子规则可限定菜品文本信息的字体样式和/或布局样式。
具体地,当菜单模拟规则包括样式类子规则时,从预设的字体库中选择与菜品文本信息相对应的字体样式;该字体样式包括字体类型、字体大小、字体颜色、和/或字体粗细等信息,其中字体类型还包括手写字体;按照选择的字体样式在菜单图片中呈现菜品文本信息,得到与选择的字体样式相对应的模拟结果,其中,针对选择的一种字体样式,可以得到一种与之相对应的模拟结果。进一步的,预设的字体库中包括多种字体样式,由于真实菜单的字体样式是多样化的,为使模拟得到的仿真菜单图片覆盖更多的字体样式场景,从预设的字体库中选择与菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;然后,根据与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与菜品文本信息相对应的仿真菜单图片,即可以得到对应不同字体样式的仿真菜单图片。通过这种方式,针对相同的菜品文本信息可以模拟得到多张仿真菜单图片,进而可以覆盖更多的字体样式的可能,有利于使训练得到的菜单识别模型适用于各种字体样式场景的识别,优化识别效果。
和/或,当菜单模拟规则包括样式类子规则时,从预设的布局模板库中选择与菜品文本信息相对应的布局样式模板,其中,布局样式模板中包括同一样本菜品的各项菜品信息的文本内容的布局,例如,菜品名称与菜品价格的布局;不同样本菜品之间的菜品信息的布局,例如,菜品名称为横排布局或竖排布局;和/或,包括样本菜品的菜品图片的布局。基于此,在菜品信息包括菜品名称信息和菜品价格信息的具体实例中,可通过如下布局参数中的一种或多种来定义布局样式模板:菜品名称信息和菜品价格信息之间的相对位置,菜品名称信息的排版方向,同一样本菜品的菜品价格信息的数量,以及同一样本菜品的多个菜品价格信息之间的相对位置。在具体实施时,本领域技术人员可结合真实的菜单可能存在的布局样式设置对应的模板并存储至布局模板库中,可选的,布局样式模板包括标准横排、标准竖排、多价格横排、日韩式竖排和/或带图排版,或者,真实的菜单中还可能包括类目信息,则设置包含类目信息的模板存储至布局模板库中。然后,按照选择的布局样式模板在菜单图片中呈现菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。其中,布局样式模板中按照布局参数设置有多个文本框,在进行模拟时,只需将菜品文本信息中对应各项菜品信息的文本内容(即文本项)填入文本框中即可。进一步的,预设的布局模板库中包括多种布局样式模板,同样由于真实菜单的布局样式是多样化的,为使模拟得到的仿真菜单图片覆盖更多的布局样式场景,从预设的布局模板库中选择与菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;然后,根据与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与菜品文本信息相对应的仿真菜单图片,即可以得到对应不同布局样式模板的仿真菜单图片。通过这种方式,针对相同的菜品文本信息可以模拟得到多张仿真菜单图片,进而可以覆盖更多的布局样式的可能,有利于使训练得到的菜单识别模型适用于各种布局样式的场景,优化识别效果。
更进一步的,在对布局样式进行模拟之后,得到的是按照标准的布局样式模板排版的仿真菜单图片,此时,确定布局样式模板中的各个文本框的偏移量;偏移量包括横向偏移量和/或纵向偏移量;根据偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。在实际中,真实的菜单会因为人为设计或调整,导致各个文本项不能严格按照标准的布局样式模板中各个文本框进行呈现,例如,在左对齐、右对齐或居中对齐的布局格式中,菜品文本信息的字符长度的不同,极有可能造成无法实现完全的左对齐、右对齐或居中对齐,针对这种场景,调整选择的布局样式模板中的各个文本框的位置,使该布局样式模板中的部分或全部文本框发生偏移,并将各个文本项呈现在调整后的各个文本框中,即实现了对真实菜单中无法绝对对齐的场景的模拟。
在本发明中,不限定确定各个文本框的偏移量的具体方式,可随机确定,也可通过算法确定。在一些可选的实施例中,可通过如下方式确定各个文本框的偏移量:首先基于概率分布函数ro(lambda,sigma)来确定各个文本框的横向偏移量。其中,lambda表示行坐标的基准位置,sigma为其偏离度程度;以及,在该可选的实施例中,不限定概率分布函数的具体类型,其包括但不限于以下任一种:正态分布、均匀分布、指数分布、以及泊松分布;并且,确定概率分布函数所需的参数也可以灵活设定,以正态分布为例,可设置均值为0,方差为一个字符长度。在确定了概率分布函数之后,采用蒙特卡洛抽样法来模拟各个文本框的偏移量。通过产生随机数,当随机数的值小于概率分布函数的值时,则选择该点,否则,不选择该点;将选择出的点按照概率分布函数逐个抽出其坐标位置。其次基于概率分布函数来确定各个文本框的纵向偏移量,其确定过程也可参照上述确定各个文本框的横向偏移量的具体过程,此处不再赘述。
另外,针对按照样式子规则进行统一模拟的菜品文本信息在菜单图片中的呈现样式,均可以参照上述调整文本框的位置的方式针对各个文本框及其呈现的文本项进行调整,以模拟真实菜单中菜品文本信息的呈现样式不完全一致的情形。例如,在根据选择的字体样式模拟了菜品文本信息的字体样式后,也可基于概率分布函数调整其中部分文本项的字体大小。
其二,按照场景子规则模拟菜品文本信息在菜单图片中的呈现样式。场景子规则可限定拍摄的光影和/或角度。
具体地,当菜单模拟规则包括场景类子规则时,确定拍摄菜单图片时的光影信息;其中,光影信息主要是指反映拍摄时的光线明暗、是否存在遮挡、和/或遮挡位置及大小的信息;由于实际的拍摄环境复杂多样,往往会存在遮挡、或者光线不佳的情况,此时则会使得拍摄出的菜单图片存在阴影,本实施例中,确定对应实际的拍摄环境下的光影信息,例如,针对拍摄过程中手指的遮挡产生的阴影,可通过特定亮度的圆角四边形来模拟,即确定光影信息为特定亮度的圆角四边形,其中,特定亮度可用负指数分布模拟。然后在菜单图片中添加光影信息,得到在光影信息下菜品文本信息在菜单图片中的呈现样式。并且,在具体实施过程中,可假设大量不同的拍摄环境下造成的阴影情况,并确定对应的光影信息,以针对相同的菜品文本信息模拟出对应不同的光影信息的仿真菜单图片,进而使得最终训练得到的菜单识别模型可适用于各种光影信息的场景下的识别,优化识别效果。
和/或,当菜单模拟规则包括场景类子规则时,在菜单图片所在的平面中确定旋转中心;以及,按照预设规则确定拍摄时的第一拍摄角度,其中,旋转中心可以为菜单图片所在的平面中的任一点,可选的,旋转中心为菜单图片的中心;以及,第一拍摄角度指当拍摄设备的成像平面与菜单图片所在的平面平行时,成像平面的中心轴线与菜单图片的中心轴线之间的夹角。根据旋转中心以及第一拍摄角度在菜单图片所在的平面内旋转各个文本框;在旋转后的各个文本框的位置呈现对应的各个文本项,得到经旋转后的菜品文本信息在菜单图片中的呈现样式。实际拍摄菜单时难免会有顺时针或逆时针方向的偏角,使得拍摄得到的菜单图片中一行或一列的菜品文本信息不与菜单图片的边缘平行,在本实施例中,则通过仿射变换中的旋转变换对菜单图片进行旋转,以模拟实际拍摄出的菜单图片存在倾角的情况。进一步的,拍摄时的标准角度s通常为0度、90度、180度、或270度,而将第一拍摄角度设为r,其表示在标准角度s下逆时针或顺时针旋转的小角度,即模拟的实际拍摄时的倾角,则最终模拟出的仿真菜单图片的角度为a=s(+/-)r。其中,第一拍摄角度r可以用概率分布函数来模拟,同样的,此处也不限定概率分布函数的具体类型,其包括但不限于以下任一种:正态分布、均匀分布、指数分布、以及泊松分布。图3示出了各种标准角度下的第一拍摄角度的示意图。如图3所示,以纵轴的正方向为标准角度0度的方向,纵轴的负方向标准角度180度的方向,横轴的正方向为标准角度270度的方向,以及横轴的负方向为标准角度90度的方向,则b和b’分别表示在标准角度0度的基础上向逆时针或顺时针方向旋转第一拍摄角度;同理,c和c’、d和d’、以及a和a’分别表示在相应的标准角度的基础上向逆时针或顺时针方向旋转第一拍摄角度。更进一步的,通过将菜单图片绕旋转中心旋转不同的第一拍摄角度,可以模拟得到对应不同拍摄倾角时的仿真菜单图片,进而使得最终训练得到的菜单识别模型可适用于各种拍摄倾角场景下的识别,优化识别效果。
和/或,当菜单模拟规则包括场景类子规则时,针对拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,计算对应第二拍摄角度的透视矩阵;根据透视矩阵对菜单图片进行透视变换,得到经透视变换后的菜品文本信息在菜单图片中的呈现样式。实际拍摄菜单时,拍摄设备相较于菜单图片所在的平面通常会存在一定的仰角或俯角,该仰角或俯角即为拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,此时则会造成拍摄出的菜单图片的各个方向的宽度不一致。图4a至图4b分别示出了拍摄设备不同倾斜情况下拍出的菜单图片的示意图。如图4a和4b所示,由于拍摄设备的成像平面不与菜单ABCD所在的平面平行,导致拍摄出的菜单图片A’B’C’D’出现图4a中的上窄下宽或者出现图4b中的左宽右窄的情况。针对上述实际的拍摄情况,针对不同的第二拍摄角度,利用对应的透视矩阵对菜单图片进行透视变换,以模拟以第二拍摄角度进行拍摄时,拍摄得到的菜单图片。进一步的,通过多个透视矩阵对菜单图片进行透视变换,可以模拟得到对应不同拍摄仰角或俯角时的仿真菜单图片,进而使得最终训练得到的菜单识别模型可适用于各种拍摄仰角或俯角场景下的识别,优化识别效果。
为便于对上述透视变换的理解,下面图4b为例,来说明透视变换的一种具体实现过程:
菜单图片ABCD的顶点的原始顶点,则原始顶点坐标为:X=[(xa,ya),(xb,yb),(xc,yc),(xd,yd)],以及将拍摄得到的菜单图片A’B’C’D’的顶点设为透视顶点,则透视顶点坐标为:Y=[(xa’,ya’),(xb’,yb’),(xc’,yc’),(xd’,yd’)]。
设透视二阶矩阵为P,P则满足:Y=P*X+k*I,以及,为计算方便,假设|P|=1,但是真实情况并不限于此,并且P有4个参数,通过4个顶点坐标可以构造4个方程,加上|P|=1的假设可以求解带k*I项的方程,如此即可求出方程的解,此方式可以求解任意类型的透视变换,具体计算过程不再详述。
在图4b中,顶点满足以下条件:
A=A’;
D=D’;
xb=xb’–c;
yb=yb’+d;
xc=xc’–c;
yc=yc’–d;
其中c表示水平方向的偏置量,d表示垂直方向的偏置量,此处也可通过比例值计算,但是加减法计算量更小,性能更好。
通过上述定义可以计算出透视矩阵P,根据P可以确定原始图像中每一个点在透视图像中的位置。
需要在此说明的是,虽然步骤S202中的其一和其二两点仅分别从按照样式子规则和按照场景子规则进行模拟来说明菜单模拟的具体过程,但是本发明并不以此为限,具体实施时,本领域技术人员还可以针对其它对识别产生干扰的影响因素进行模拟,以使训练得到的菜单识别模型能够适用于更为多样的情形中,提升识别效果。可选的,在本发明的一个具体实施例中,可对菜单图片的背景进行模拟,从预设的背景库中选择与菜单图片相对应的背景,将选择的背景添加至菜单图片的底层,得到在选择的背景下菜品文本信息在菜单图片中的呈现样式。进一步的,预设的背景库中也包括多种背景,从预设的背景库中选择多种菜单背景,按照选择的多种菜单背景分别在菜单图片中呈现菜品文本信息,得到与选择的多种菜单背景相对应的多种模拟结果;然后,根据与选择的多种菜单背景相对应的多种模拟结果中的各种模拟结果分别生成与菜品文本信息相对应的仿真菜单图片,即可以得到对应不同菜单背景的仿真菜单图片。另外,在选择菜单背景时,需要将背景颜色与字体颜色错开,避免两者颜色太接近导致人眼都无法识别出菜品文本信息。
另外,在本实施例中,不限定上述多种真实场景的模拟顺序,优选的,可先按照样式子规则模拟排版样式,再按照场景子规则模拟拍摄环境。以及,在一些可选的实施例中,也可以适当减少上述部分真实场景的模拟;或者,在另一些可选的实施例中,也可以适当增加其它本发明中未提及的、而真实菜单或拍摄环境中存在的对识别产生干扰的影响因素的模拟。
经过步骤S202,通过模拟的方式可以快速得到海量仿真菜单图片,这些仿真菜单图片覆盖了真实场景中可能出现的各种问题,以及,这些仿真菜单图片中还包括多种全新的菜单。
步骤S203:将仿真菜单图片确定为菜单样本,根据菜品文本信息确定与菜单样本相对应的样本标注信息。
相较于现有技术中将真实存在的菜单图片作为菜单样本,本实施例中将仿真菜单图片确定为菜单样本,不仅可以快速获取到海量的菜单样本,而且这些菜单样本覆盖的场景广泛、存在大量的全新的菜单,进而使得菜单样本的样本集合更为丰富。
以及,将菜品文本信息确定为与菜单样本相对应的样本标注信息。其中,若菜品文本信息包含多项菜品信息对应的文本内容,在确定与菜单样本相对应的样本标注信息时,可进一步将各个样本菜品的多项菜品信息对应的文本内容按照预设的标注顺序进行配对,得到对应各个样本菜品的标注信息,然后将对应多个样本菜品的标注信息进行整合,得到与菜单样本相对应的样本标注信息;其中,预设的标注顺序是指预设的多项菜品信息的标注顺序,该预设的标注顺序可根据识别结果的应用场景进行设置。通过将多项菜品信息对应的文本内容按照预设的标注顺序进行配对标注的方式,可以使训练得到的菜单识别模型不仅能够用于识别出菜单中的文字内容,而且可以对文字内容的对应关系进行匹配,进而可以简化识别后的数据处理过程。
以菜品信息包括菜品名称信息和菜品价格信息为例,而识别结果的应用场景中,需要以菜品为单位,根据识别结果依次录入菜品名称和菜品价格,则预设的标注顺序为菜品名称信息在前,菜品价格信息在后。假设菜单样本中包含3个样本菜品,分别为样本菜品1,样本菜品2,以及样本菜品3,相应的,在确定与菜单样本相对应的样本标注信息的过程中,首先分别将各个样本菜品的菜品文本信息按照菜品名称信息在前,菜品价格信息在后的顺序进行配对,得到对应3个样本菜品的3条标注信息分别为(菜品名称1,菜品价格1),(菜品名称2,菜品价格2),以及(菜品名称3,菜品价格3),;然后将3条标注信息进行整合得到与菜单样本相对应的样本标注信息为:{(菜品名称1,菜品价格1),(菜品名称2,菜品价格2),(菜品名称3,菜品价格3)}。
并且,仿真菜单图片中包含的菜品文本信息均是获取到的标准数据,在将仿真菜单图片确定为菜单样本之后,则菜单文本信息可准确的表示成与菜单样本相对应的样本标注信息,进而不会出现标注错误的问题。
步骤S204:根据菜单样本以及与菜单样本相对应的样本标注信息训练菜单识别模型,通过菜单识别模型获取待识别的菜单图片的识别结果。
本实施例方案可以广泛应用于各种需要获取菜单中的文本内容的场景中,下面以菜单信息录入场景来说明本实施例方案的效果:在以往的餐品信息上传过程中,都需要商家经过上传餐品图片,餐品名称,特色介绍,价格等信息,由于商家的餐品库要储存各式各样的餐品,上传数量也非常庞大,若每道餐品都按照这样的上传方式,则耗时耗力,而通过本方案,利用仿真得到的海量仿真菜单图片进行训练得到菜单识别模型,然后进行菜单信息录入,可以实现智能录菜;并且,训练样本中菜单数量足够、菜单覆盖的场景范围广,进而可以使得训练得到的菜单识别模型更为准确、且可以应用于各种复杂场景下的菜单信息录入。
根据本实施例提供的菜单信息的识别方法,在获取到与样本菜品相对应的菜品文本信息后,通过模拟对识别结果产生干扰的影响因素,得到仿真菜单图片,这种通过仿真得到用于训练的菜单样本的方案,不仅可以快速得到海量的菜单样本,而且这些菜单样本覆盖的场景广泛、存在大量的全新的菜单,进而使得菜单样本的样本集合更为丰富,相应的,利用该海量的菜单样本进行训练,则可以得到适用范围更为广泛的菜单识别模型,进而有利于优化识别效果。以及,仿真菜单图片是主动构造的,其包含的样本菜品的菜品文本信息是已知的,则可以利用该菜品文本信息来准确表示样本标注信息,而避免了标注错误的问题。由此可见,本实施例方案,可以根据菜品文本信息直接准确确定样本标注信息,一方面,无需人工进行样本标注信息的标注,节省了人工标注的时间成本以及财务成本;另一方面,相较于人工标注,本方案确定样本标注信息的方式避免了标注错误的问题,进而使得训练得到的菜单识别模型更为准确;并且,可以通过仿真方式得到海量的、且覆盖各种场景的仿真菜单图片,进而可以使训练得到的菜单识别模型适用于各种复杂的识别场景。
图5示出了根据本发明一个实施例的菜单信息的识别装置的功能框图。如图5所示,该装置包括:
获取模块501,适于获取与样本菜品相对应的菜品文本信息;
模拟模块502,适于模拟所述菜品文本信息在菜单图片中的呈现样式;
生成模块503,适于根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
确定模块504,适于将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
识别模块505,适于根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
在一种可选的实施方式中,所述模拟模块502进一步适于:
按照预设的菜单模拟规则,模拟所述菜品文本信息在菜单图片中的呈现样式;
其中,所述菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。
在一种可选的实施方式中,当所述菜单模拟规则包括样式类子规则时;
所述模拟模块502进一步适于:
从预设的字体库中选择与所述菜品文本信息相对应的字体样式,按照选择的字体样式在菜单图片中呈现所述菜品文本信息,得到与选择的字体样式相对应的模拟结果;和/或,
从预设的布局模板库中选择与所述菜品文本信息相对应的布局样式模板,按照选择的布局样式模板在菜单图片中呈现所述菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,所述菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。
在一种可选的实施方式中,所述预设的字体库中包括多种字体样式;
所述模拟模块502进一步适于:
从预设的字体库中选择与所述菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;
所述生成模块503进一步适于:
根据所述与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
在一种可选的实施方式中,所述预设的布局模板库中包括多种布局样式模板;
所述模拟模块502进一步适于:
从预设的布局模板库中选择与所述菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;
所述生成模块503进一步适于:
根据所述与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
在一种可选的实施方式中,所述装置还包括:
调整模块506,适于确定所述布局样式模板中的各个文本框的偏移量;所述偏移量包括横向偏移量和/或纵向偏移量;
以及,适于根据所述偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块502进一步适于:
确定拍摄所述菜单图片时的光影信息;在所述菜单图片中添加所述光影信息,得到在所述光影信息下所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块502进一步适于:
在菜单图片所在的平面中确定旋转中心;以及,按照预设规则确定拍摄时的第一拍摄角度;
根据所述旋转中心以及第一拍摄角度在菜单图片所在的平面内旋转各个文本框;
在旋转后的各个文本框的位置呈现对应的各个文本项,得到经旋转后的所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
所述模拟模块502进一步适于:
针对拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,计算对应所述第二拍摄角度的透视矩阵;
根据所述透视矩阵对菜单图片进行透视变换,得到经透视变换后的所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,所述模拟模块502进一步适于:
从预设的背景库中选择与所述菜单图片相对应的背景,将选择的背景添加至菜单图片的底层,得到在选择的背景下所述菜品文本信息在菜单图片中的呈现样式。
关于上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的菜单信息的识别方法。
图6示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图6所示,该计算设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器602,用于执行程序610,具体可以执行上述菜单信息的识别方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序610具体可以用于使得处理器602执行以下操作:
获取与样本菜品相对应的菜品文本信息;
模拟所述菜品文本信息在菜单图片中的呈现样式,根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
在一种可选的实施方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
按照预设的菜单模拟规则,模拟所述菜品文本信息在菜单图片中的呈现样式;
其中,所述菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。
在一种可选的实施方式中,当所述菜单模拟规则包括样式类子规则时;
程序610具体可以进一步用于使得处理器602执行以下操作:从预设的字体库中选择与所述菜品文本信息相对应的字体样式,按照选择的字体样式在菜单图片中呈现所述菜品文本信息,得到与选择的字体样式相对应的模拟结果;和/或,
从预设的布局模板库中选择与所述菜品文本信息相对应的布局样式模板,按照选择的布局样式模板在菜单图片中呈现所述菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,所述菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。
在一种可选的实施方式中,所述预设的字体库中包括多种字体样式;
程序610具体可以进一步用于使得处理器602执行以下操作:从预设的字体库中选择与所述菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;
根据所述与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
在一种可选的实施方式中,所述预设的布局模板库中包括多种布局样式模板;
程序610具体可以进一步用于使得处理器602执行以下操作:从预设的布局模板库中选择与所述菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;
根据所述与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
在一种可选的实施方式中,程序610具体可以进一步用于使得处理器602执行以下操作:确定所述布局样式模板中的各个文本框的偏移量;所述偏移量包括横向偏移量和/或纵向偏移量;
根据所述偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
程序610具体可以进一步用于使得处理器602执行以下操作:确定拍摄所述菜单图片时的光影信息;在所述菜单图片中添加所述光影信息,得到在所述光影信息下所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
程序610具体可以进一步用于使得处理器602执行以下操作:在菜单图片所在的平面中确定旋转中心;以及,按照预设规则确定拍摄时的第一拍摄角度;
根据所述旋转中心以及第一拍摄角度在菜单图片所在的平面内旋转各个文本框;
在旋转后的各个文本框的位置呈现对应的各个文本项,得到经旋转后的所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,当所述菜单模拟规则包括场景类子规则时;
程序610具体可以进一步用于使得处理器602执行以下操作:针对拍摄设备的成像平面与菜单图片所在的平面之间所成的第二拍摄角度,计算对应所述第二拍摄角度的透视矩阵;
根据所述透视矩阵对菜单图片进行透视变换,得到经透视变换后的所述菜品文本信息在菜单图片中的呈现样式。
在一种可选的实施方式中,程序610具体可以进一步用于使得处理器602执行以下操作:
从预设的背景库中选择与所述菜单图片相对应的背景,将选择的背景添加至菜单图片的底层,得到在选择的背景下所述菜品文本信息在菜单图片中的呈现样式。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的菜单信息的识别装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种菜单信息的识别方法,包括:
获取与样本菜品相对应的菜品文本信息;
模拟所述菜品文本信息在菜单图片中的呈现样式,根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
2.根据权利要求1所述的方法,其中,所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
按照预设的菜单模拟规则,模拟所述菜品文本信息在菜单图片中的呈现样式;
其中,所述菜单模拟规则包括以下中的至少一个:样式类子规则、和/或场景类子规则。
3.根据权利要求2所述的方法,其中,当所述菜单模拟规则包括样式类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的字体库中选择与所述菜品文本信息相对应的字体样式,按照选择的字体样式在菜单图片中呈现所述菜品文本信息,得到与选择的字体样式相对应的模拟结果;和/或,
从预设的布局模板库中选择与所述菜品文本信息相对应的布局样式模板,按照选择的布局样式模板在菜单图片中呈现所述菜品文本信息,得到与选择的布局样式模板相对应的模拟结果;其中,所述菜品文本信息中的各个文本项与布局样式模板中的各个文本框对应。
4.根据权利要求3所述的方法,其中,所述预设的字体库中包括多种字体样式;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的字体库中选择与所述菜品文本信息相对应的多种字体样式,按照选择的多种字体样式分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种字体样式相对应的多种模拟结果;
所述根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片包括:
根据所述与选择的多种字体样式相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
5.根据权利要求3或4所述的方法,其中,所述预设的布局模板库中包括多种布局样式模板;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
从预设的布局模板库中选择与所述菜品文本信息相对应的多种布局样式模板,按照选择的多种布局样式模板分别在菜单图片中呈现所述菜品文本信息,得到与选择的多种布局样式模板相对应的多种模拟结果;
所述根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片包括:
根据所述与选择的多种布局样式模板相对应的多种模拟结果中的各种模拟结果分别生成与所述菜品文本信息相对应的仿真菜单图片。
6.根据权利要求3-5任一项所述的方法,其中,在所述按照所述布局样式模板在菜单图片中呈现所述菜品文本信息之后,所述方法还包括:
确定所述布局样式模板中的各个文本框的偏移量;所述偏移量包括横向偏移量和/或纵向偏移量;
根据所述偏移量调整各个文本框的位置,在调整后的各个文本框的位置呈现对应的各个文本项。
7.根据权利要求2-6任一项所述的方法,其中,当所述菜单模拟规则包括场景类子规则时;
所述模拟所述菜品文本信息在菜单图片中的呈现样式包括:
确定拍摄所述菜单图片时的光影信息;在所述菜单图片中添加所述光影信息,得到在所述光影信息下所述菜品文本信息在菜单图片中的呈现样式。
8.一种菜单信息的识别装置,包括:
获取模块,适于获取与样本菜品相对应的菜品文本信息;
模拟模块,适于模拟所述菜品文本信息在菜单图片中的呈现样式;
生成模块,适于根据模拟结果生成与所述菜品文本信息相对应的仿真菜单图片;
确定模块,适于将所述仿真菜单图片确定为菜单样本,根据所述菜品文本信息确定与所述菜单样本相对应的样本标注信息;
识别模块,适于根据所述菜单样本以及与所述菜单样本相对应的样本标注信息训练菜单识别模型,通过所述菜单识别模型获取待识别的菜单图片的识别结果。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的菜单信息的识别方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的菜单信息的识别方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639502.3A CN109740597A (zh) | 2018-12-29 | 2018-12-29 | 菜单信息的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639502.3A CN109740597A (zh) | 2018-12-29 | 2018-12-29 | 菜单信息的识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109740597A true CN109740597A (zh) | 2019-05-10 |
Family
ID=66362440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811639502.3A Pending CN109740597A (zh) | 2018-12-29 | 2018-12-29 | 菜单信息的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740597A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895781A (zh) * | 2019-10-29 | 2020-03-20 | 北京三快在线科技有限公司 | 菜品类别推荐方法、装置、电子设备及存储介质 |
CN111680686A (zh) * | 2020-06-08 | 2020-09-18 | Oppo(重庆)智能科技有限公司 | 招牌信息识别方法、装置、终端及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770569A (zh) * | 2008-12-31 | 2010-07-07 | 汉王科技股份有限公司 | 基于ocr的菜名识别方法 |
CN103065248A (zh) * | 2012-12-25 | 2013-04-24 | 吴劲 | 一种网络菜谱自助设计方法及其*** |
CN103279902A (zh) * | 2013-05-15 | 2013-09-04 | 深圳市沃德荣威科技有限公司 | 电子菜谱显示方法 |
CN106709486A (zh) * | 2016-11-11 | 2017-05-24 | 南京理工大学 | 基于深度卷积神经网络的自动车牌识别方法 |
CN107292871A (zh) * | 2017-06-08 | 2017-10-24 | 国网青海省电力公司检修公司 | 一种变电站圆形仪表的实时矫正算法 |
CN107305630A (zh) * | 2016-04-25 | 2017-10-31 | 腾讯科技(深圳)有限公司 | 文本序列识别方法和装置 |
CN107609914A (zh) * | 2017-09-22 | 2018-01-19 | 上海爱优威软件开发有限公司 | 一种智能菜单设计方法及*** |
CN108268871A (zh) * | 2018-02-01 | 2018-07-10 | 武汉大学 | 一种基于卷积神经网络的端到端的车牌识别方法和*** |
-
2018
- 2018-12-29 CN CN201811639502.3A patent/CN109740597A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770569A (zh) * | 2008-12-31 | 2010-07-07 | 汉王科技股份有限公司 | 基于ocr的菜名识别方法 |
CN103065248A (zh) * | 2012-12-25 | 2013-04-24 | 吴劲 | 一种网络菜谱自助设计方法及其*** |
CN103279902A (zh) * | 2013-05-15 | 2013-09-04 | 深圳市沃德荣威科技有限公司 | 电子菜谱显示方法 |
CN107305630A (zh) * | 2016-04-25 | 2017-10-31 | 腾讯科技(深圳)有限公司 | 文本序列识别方法和装置 |
CN106709486A (zh) * | 2016-11-11 | 2017-05-24 | 南京理工大学 | 基于深度卷积神经网络的自动车牌识别方法 |
CN107292871A (zh) * | 2017-06-08 | 2017-10-24 | 国网青海省电力公司检修公司 | 一种变电站圆形仪表的实时矫正算法 |
CN107609914A (zh) * | 2017-09-22 | 2018-01-19 | 上海爱优威软件开发有限公司 | 一种智能菜单设计方法及*** |
CN108268871A (zh) * | 2018-02-01 | 2018-07-10 | 武汉大学 | 一种基于卷积神经网络的端到端的车牌识别方法和*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895781A (zh) * | 2019-10-29 | 2020-03-20 | 北京三快在线科技有限公司 | 菜品类别推荐方法、装置、电子设备及存储介质 |
CN111680686A (zh) * | 2020-06-08 | 2020-09-18 | Oppo(重庆)智能科技有限公司 | 招牌信息识别方法、装置、终端及存储介质 |
CN111680686B (zh) * | 2020-06-08 | 2023-05-12 | Oppo(重庆)智能科技有限公司 | 招牌信息识别方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10748324B2 (en) | Generating stylized-stroke images from source images utilizing style-transfer-neural networks with non-photorealistic-rendering | |
US20220383649A1 (en) | System and method for facilitating graphic-recognition training of a recognition model | |
US9262853B2 (en) | Virtual scene generation based on imagery | |
CN109242961A (zh) | 一种脸部建模方法、装置、电子设备和计算机可读介质 | |
CN109598234A (zh) | 关键点检测方法和装置 | |
CN109299663A (zh) | 手写字体识别方法、***以及终端设备 | |
CN108882025B (zh) | 视频帧处理方法和装置 | |
US10922852B2 (en) | Oil painting stroke simulation using neural network | |
CN109740597A (zh) | 菜单信息的识别方法及装置 | |
CN107832751A (zh) | 人脸特征点的标注方法、装置及计算设备 | |
CN111311480A (zh) | 图像融合方法和装置 | |
US20210342496A1 (en) | Geometry-aware interactive design | |
KR102342738B1 (ko) | 거대 ar 영상 정보 생성 방법 및 장치 | |
CN116361502B (zh) | 一种图像检索方法、装置、计算机设备及存储介质 | |
CN109847360B (zh) | 游戏道具的3d效果处理方法、装置、电子设备及介质 | |
Florea et al. | Expiry date recognition using deep neural networks | |
CN112257731B (zh) | 一种虚拟数据集的生成方法及装置 | |
Kałużny et al. | LAESI: Leaf Area Estimation with Synthetic Imagery | |
Zhang et al. | Adaptive attention fusion network for cross-device GUI element re-identification in crowdsourced testing | |
CN108063936A (zh) | 增强现实ar的实现方法、装置和计算机可读存储介质 | |
Hu et al. | Motion Capture and Estimation of Dynamic Properties for Realistic Tree Animation | |
CN115761442A (zh) | 一种面向ar的目标识别方法及移动端ar*** | |
CN118052900A (zh) | 图像生成方法、装置、非易失性存储介质和计算机设备 | |
Huang et al. | Diffusion-Based Semantic Image Synthesis from Sparse Layouts | |
CN110163203A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |