CN111192346B - 电子菜单生成方法、装置和设备 - Google Patents
电子菜单生成方法、装置和设备 Download PDFInfo
- Publication number
- CN111192346B CN111192346B CN201911368067.XA CN201911368067A CN111192346B CN 111192346 B CN111192346 B CN 111192346B CN 201911368067 A CN201911368067 A CN 201911368067A CN 111192346 B CN111192346 B CN 111192346B
- Authority
- CN
- China
- Prior art keywords
- text
- price
- menu
- block
- group
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims abstract description 18
- 235000013311 vegetables Nutrition 0.000 claims description 103
- 238000012216 screening Methods 0.000 claims description 47
- 238000001914 filtration Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 22
- 238000005516 engineering process Methods 0.000 abstract description 16
- 238000012916 structural analysis Methods 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 244000276331 Citrus maxima Species 0.000 description 2
- 235000001759 Citrus maxima Nutrition 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 235000013372 meat Nutrition 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 244000269722 Thea sinensis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种电子菜单生成方法、装置和设备。其中方法具体是基于文本检测识别技术与图像处理技术,针对原始菜单图像进行结构化分析,根据菜单上的排版特征信息将菜单上的文本块识别为菜名和价格,然后将菜名与对应价格关联起来,并根据关联关系生成电子菜单,由于无需事先准备包含产品信息的数据库用以识别和检测,因此可以极大地拓宽了其适用范围,而且提高电子菜单生成效率,能够快速将纸质菜单转换为电子菜单,供商家和用户使用。并且,本发明还相应地提供了一种计算机可读存储介质以及一种计算机程序产品。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种电子菜单生成方法、装置和设备。
背景技术
随着信息技术的发展,移动终端给人们的工作和生活带来了极大的便利。目前,人们越来越依赖移动终端来进行点餐和支付,越来越多的餐厅都开始使用电子菜单来提升餐厅的服务效率与服务质量。
现有的电子菜单的方法是餐厅的工作人员下载专门的应用程序,然后在应用程序内根据需要人工录入菜名、价格以及图片、注释等相关信息,生成相应的数据库,然后由应用程序进行显示和使用。但人工录入效率低下,且要求有相关操作人员,很多餐厅仍然采用纸质菜单点单方式。
因此需要一种能够快速将纸质菜单转换为电子菜单的方法供商家和用户使用。
发明内容
本发明提供了一种电子菜单生成方法、装置和设备,本发明还相应提供了一种计算机可读存储介质以及一种计算机程序产品,通过以上形式,可以极大地拓宽了其适用范围,而且提高电子菜单生成效率,能够快速将纸质菜单转换为电子菜单,供商家和用户使用。
关于上述本发明采用的技术方案具体如下:
第一方面,本发明提供了一种电子菜单生成方法,包括:
获取原始菜单图像;
基于所述原始菜单图像,检测出若干文本块;
根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落;
确定所述菜单段落的段落标题;
根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单。
在其中一种可能的实现方式中,所述根据所述文本块的排版特征信息在所述文本块中筛选出若干文本分组包括:
根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组;
对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
在其中一种可能的实现方式中,所述在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组包括:
在排除所述价格分组后的剩余所述精细分组中,根据各剩余所述精细分组中的各文本块的平均行高,筛选出菜名分组。
在其中一种可能的实现方式中,所述对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组包括:
对各所述精细分组依次进行第一文本识别,根据包含数字字符的文本块所占的比例,确定疑似价格分组;
根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定价格文本块,并将包含所述价格文本块的精细分组作为所述价格分组。
在其中一种可能的实现方式中,所述建立所述菜名分组和所述价格分组之间的关联关系包括:
利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系。
在其中一种可能的实现方式中,所述利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系包括:
根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定特殊文本块;
根据所述特殊文本块中的各子文本块的行高的差异,确定其中特殊符号的位置;
对所述特殊符号两侧的子文本块分别进行第二文本识别,将数字字符占比较高一侧的所述子文本块作为价格文本块,并将另一侧的子文本块作为菜名文本块;
将通过所述特殊符号相连的所述菜名文本块和所述价格文本块建立关联关系。
在其中一种可能的实现方式中,所述利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系包括:
针对各所述菜名分组中每个菜名文本块,在菜单图像范围内按预设空间距离从至少一个所述价格分组中确定出若干疑似关联价格文本块;
根据各所述菜名分组的相对位置关系,从各所述菜名文本块对应的若干疑似关联价格文本块中确定一个目标价格文本块;
将所述菜名文本块与对应的所述目标价格文本块建立关联关系。
在其中一种可能的实现方式中,所述确定所述菜单段落的段落标题包括:
在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
计算所述其它集合中的文本块与所述菜单段落的关联度;
根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
在其中一种可能的实现方式中,所述根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单包括:
去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
输出由所述分块图像构成的电子菜单。
第二方面,本发明提供了一种电子菜单生成装置,包括:
原始菜单图像获取模块,用于获取原始菜单图像;
文本块检测模块,用于基于所述原始菜单图像,检测出若干文本块;
分组模块,用于根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
关联关系建立模块,用于建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落;
段落标题确定模块,用于确定所述菜单段落的段落标题;
电子菜单生成模块,用于根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单。
在其中一种可能的实现方式中,所述分组模块包括:
对齐单元,用于根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
精细分组单元,用于按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组;
价格分组单元,用于对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
菜名分组单元,用于在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
在其中一种可能的实现方式中,所述关联关系建立模块包括:
特殊符号关联单元,用于利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或空间结构特征关联单元,用于利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系。
在其中一种可能的实现方式中,所述段落标题确定模块包括:
其它集合单元,用于在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
关联度计算单元,用于计算所述其它集合中的文本块与所述菜单段落的关联度;
段落标题筛选单元,用于根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
在其中一种可能的实现方式中,所述电子菜单生成模块包括:
分块图像生成单元,用于去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
输出单元,用于输出由所述分块图像构成的电子菜单。
第三方面,本发明提供了一种电子菜单生成设备,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,所述存储器可以采用非易失性存储介质,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第五方面,本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机执行时,用于执行第一方面或者第一方面的任一可能实现方式中的所述方法。
在第五方面的一种可能的设计中,该产品涉及到的相关程序可以全部或者部分存储在与处理器封装在一起的存储器上,也可以部分或者全部存储在不与处理器封装在一起的存储介质上。
综上各方面,本发明的核心构思在于提出一种基于文本检测识别技术与图像处理技术的方法,具体是针对原始菜单图像进行结构化分析,根据菜单上的排版特征信息将菜单上的文本块识别为菜名和价格,然后将菜名与对应价格关联起来,并根据关联关系生成电子菜单,由于无需事先准备包含产品信息的数据库用以识别和检测,因此可以极大地拓宽了其适用范围,而且提高了电子菜单生成效率,能够快速将纸质菜单转换为电子菜单,供商家和用户使用。
进一步地,本发明还在进行文本块关联时,采用了空间结构特征,利用价格与菜名之间排版往往遵循某一固定的相对位置特征进行了关联,由于没有借助语义信息进行关联,避免了需要匹配事先准备好的关键词,或者需要用深度学习进行训练,提高了电子菜单生成效率,而且也避免了由于菜单文档的特殊性导致其内部的文本之间往往不具备足够的语义关联,提高了生成的电子菜单与纸质菜单的一致性。
进一步地,求取菜单中的段落标题时,同样没有借助语义信息,而是利用排版特征信息进行搜索和辨识,避免了由于菜单文档的特殊性导致其搜索过程中出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。
进一步地,在结果输出上,并不是输出文本识别结果,而是将分块图像进行二值化后直接以图片形式组织并输出,避免了文本识别过程中可能出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的电子菜单生成方法的实施例的流程图;
图2为本发明提供的检测文本块的实施例的流程图;
图3为本发明提供的筛选文本块分组的实施例的流程图;
图4为本发明提供的建立关联关系的实施例的流程图;
图5为本发明提供的建立关联关系的又一实施例的流程图;
图6为本发明提供的确定段落标题的实施例的流程图;
图7为本发明提供的生成并输出电子菜单的实施例的流程图;
图8为本发明提供的电子菜单生成装置的实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
具体到本发明关注的技术问题:目前电子菜单生成方法是餐厅的工作人员下载专门的应用程序,然后在应用程序内根据需要人工录入菜名、价格以及图片、注释等相关信息,生成相应的数据库,然后由应用程序进行显示和使用。但人工录入效率低下,且要求有相关操作人员。
此处需要作进一步说明的是,目前,生成电子菜单的一种方法是对菜单图像进行识别并转成电子菜单,这种方法主要是通过文本检测方法对菜单图像进行检测和识别,然后需要一个辅助信息的数据库对菜单中识别的产品信息进行校正,再通过特殊字符或者NLP分析对产品信息和价格进行切分,最终得到产品信息与对应的价格信息,输出展示。由于这种方法必须要有辅助信息的数据库来对菜单识别结果进行校正,这就导致其适用范围受限,无法去识别未被录入到辅助信息库中的菜名和信息,尤其在如今网络化、国际化的饮食市场中,菜名越来越繁复多样的情况下;其次该方法采用先验知识诸如“元”等关键字符,或者NLP等技术进行预训练最终获得将价格部分与菜名部分区分开来的能力,因此该方法对于多样的价格表示方法处理能力有限,比如有的会用“¥”等符号,有的则没有任何符号和字符,在没有获得预先案例的情况下,该方法无法获得很好的识别效果。
目前,电子菜单生成又一种方法是根据语义进行版面分析,通过版面识别过程中切分出的各个元素,进行文本识别,再进一步根据其语义相关度进行分类,然而在菜单上,菜名、价格、标题之间往往不一定具备语义上的关联,尤其是菜名,比如奶茶店的某种饮料名为“欲言柚止”,其实为店家自创的柚子汁饮料名,用语义分析就无法进行处理。
目前,生成电子菜单的另一种方法是对无边框表格进行检测的方式,该方法主要是通过将具有相互垂直交叠的空白区编组到具有顶部边框和底部边框的空白区编组中,然后将位于所述空白区编组中顶部边框和底部边框之间的文本收集为所收集的文本,最后创建定位在表格候选内检测到的每个空白区的右边处的列分隔符。然而该方法在菜单上使用也具有局限性,一方面,该方法主要靠检索文档图片中的空白区域以及空白区域的垂直重叠区域来绘制表格线,进而对文本进行分块分析,但菜单的背景往往较为复杂,可能有底色或者花纹;另一方面,即使通过文本检测技术先检测出文本框,再将文本框之外的背景去除,对于某些只有一排菜名的菜单,该方法可能不会从中识别出表格,而对于价格和菜名不一定呈现严格的上下左右对齐的模式,该方法可能无法将价格和菜名划分到同一单元格中,无法将价格与菜名准确的关联起来。
正是基于对上述效果不佳方案的分析和探究,本发明才提出了一种基于图像处理且适用于菜单的版面分析规则方法,本案方法基于现有的文本检测识别技术与图像处理技术,针对菜单的照片或扫描件进行结构化分析,将图像中的文本块根据位置信息、字体大小、文字朝向等特征信息进行分组与归类,然后将菜名与对应价格关联起来,能够快速将纸质菜单转换为电子菜单,供商家和用户使用。
基于上述,如下提供了本发明所述电子菜单生成方法的至少一种实施例,如图1所示,可包括:
步骤S1、获取原始菜单图像。
具体地,通过摄像头获取原始菜单图像,获取的可以是纸质菜单图像,例如可以是纸质菜单的照片或扫描件。
步骤S2、基于所述原始菜单图像,检测出若干文本块。
此步骤即是检测出文本块,纸质菜单中包含大量的字符信息,通过文本检测技术,可以检测原始菜单图像中的文本块,其中文本块是包含文字的区域,其为图像格式。
本发明在一些实施方式中,步骤S2可以通过对所述原始菜单图像进行预处理,以得到所述若干文本块,所述预处理可以如图2所示,包括如下步骤:
步骤S21、对所述原始菜单图像进行文本检测,以获取若干文本块以及相应的文字朝向和行高;
可以通过OCR技术实现文本检测,OCR(Optical Character Recognition,光学字符识别)检测是指对输入图像进行分析识别处理,获取图像中文字信息的过程。对文本块进行OCR检测和识别,得到文本块的分块结果以及若干文本块的文字朝向和行高。通过文本检测可以实现文本块的逐行检测,检测出的文本信息包括但不限于:符号、中文、英文、拼音、数字等。
步骤S22、根据所述文本块的文字朝向,对所述文本块进行旋转矫正,以得到矫正后的文本块;
对所述文本块进行旋转矫正包括:对文本块的方向进行聚类分析,并对包含文字最多的文本方向求取朝向均值,以获得菜单的文字主方向。根据主方向对菜单图片进行旋转矫正,将主方向旋转为水平方向,得到矫正后的文本块分块结果。
步骤S23、将文字朝向在预设角度范围以内的所述文本块设置为备选分组。
根据所述文本块的文字朝向,对所述文本块进行初步筛选,将文字朝向在预设角度范围以内的文本块划分为备选分组SH,后续筛选文本块分组的操作在备选分组中进行。
作为一个示例而非限制,将矫正后的文本块中文字朝向为(-10o,10o)范围内的文本块都分到备选分组中,并分别标注为HLi,这里i可以是各种数字。初步筛选的具体方法可以按照人为设定的文字朝向范围进行归类,也可以按照预设的聚类方法进行归类。
鉴于同一个菜单中的菜名和价格存在较为普遍的排版规律,而且由于菜单的文字主方向包含的文字最多,因此与菜单对应的菜名和价格也出现在文字主方向的预设角度范围以内,因此在备选分组中继续进行后续筛选菜名分组和价格分组的操作,可以提高生成电子菜单的速度。
菜单的主体文本就是菜名和价格以及每道菜相关的注释信息,并且一般情况下文本朝向都是一致的,因此在步骤S23中所得到的在水平朝向上正负θ度阈值内的文本块就包含了上述内容。当然,属于该范围内的文本块可能不仅仅是包含了菜名和价格,可能还包括诸如菜的类型、饭店广告词等其他信息,因此要从这些文本块中筛选出菜名和价格的文本块。
步骤S3、根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
所述排版特征信息是指各文本块的位置与行高以及文本识别的信息等信息。在本发明中,根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组如菜名分组、价格分组。
本发明在一些实施方式中,步骤S3可以如图3所示,包括如下步骤:
步骤S31、根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
本发明在一些实施方式中,步骤S31可以包括如下步骤:
步骤S311、根据所述文本块的对齐方式,对所述文本块进行识别,并以锚点对满足预设对齐方式的文本块的位置进行标记;
在通过步骤S23得到的备选分组中,对于满足预设对齐方式的文本块,可以在其沿文字方向的中轴线的左端、中间、右端分别标上左端锚点L、中间锚点M、右端锚点R;
由于菜单中菜名和价格往往以较为固定的格式进行排列,大部分菜名和价格都遵循了左对齐、居中对齐或者右对齐的方式,因此可以根据该特性对菜名和价格的文本块进行识别。
以锚点标记满足预设对齐方式的文本块的位置,在后续对文本块的操作中不必继续查看整个文本块,只需根据锚点位置确定文本块的位置,大大地提高了操作效率及稳定性。
步骤S312、利用第一滑窗统计落入所述第一滑窗内的锚点数量,根据所述第一滑窗的位置以及所述第一滑窗内的锚点数量,构建所述对齐集合。
具体地,首先构建备选分组SH的副本S’H,在矫正后的菜单图片中,以水平方向为x轴,竖直方向为y轴,并在x轴上构建第一滑窗,其中所述第一滑窗的宽度为w,其中w为满足预设对齐方式的文本块的行高的均值;将所述第一滑窗以矫正后的菜单图片的左边缘为起点,从左向右移动,移动至右边缘,并在第一滑窗的移动过程中,分别统计每移动一个像素步长时,第一滑窗在左端点坐标为x时,第一滑窗区间内左端锚点L的个数nL、中间锚点M的个数nM、右端锚点R的个数nR;从所有的文本块中选取锚点个数最多的文本块作为第一对齐集合SH1,并记录下该组的对齐方式和对齐坐标;求取第一个对齐集合SH1中所有文本块中x坐标的极大值Xmax和极小值Xmin,并对所述备选分组SH中除所述第一对齐集合SH1之外的文本块进行检索,将左端点坐标与极大值Xmax和极小值Xmin的差值小于w/2的文本块并入所述第一对齐集合SH1中;从所述备选分组SH的副本S’H中剔除所述第一对齐集合SH1中的文本块,并对所述备选分组SH中剩余的文本块重复执行构建对齐集合的步骤,依次构建第二对齐集合SH2、第三对齐集合SH3,……,第i对齐集合SHi,……,第n对齐集合SHn,n为对齐集合的个数;
以x=12,nL=9为例,这表示当第一滑窗的左端点滑动到x=12时,左端点处于第一滑窗范围内的文本块最多,为9个,此时构建集合SH1,并将这九个文本块的锚点设为沿文字方向的中轴线的左端点并记为L,并将这九行文本块包含在第一对齐集合SH1中。然后求取SH1中所有文本块左端点的极大值XLmax和极小值XLmin,并对SH中除SH1之外的文本块进行检索,将左端点坐标与极大值XLmax和极小值XLmin相差不到w/2的文本块也并入SH1。接下来从副本S’H中剔除SH1中的文本块,对SH中剩余的文本块重复上述操作,构建第二对齐集合SH2、第三对齐集合SH3……。需要说明的是,以上示例中,左端点(L)也可以替换为中点(M)或右端点(R)。
第一滑窗的宽度过大,会降低对锚点的检测精度,从而影响所构建对齐集合的准确性,第一滑窗的宽度越小,检测越精细,但设置过小的宽度,会存在遗漏部分锚点以及检测速度过慢的弊端,通过将左端点坐标与极大值XLmax和极小值XLmin相差不到w/2的文本行也并入对齐集合,可以对该弊端进行补偿,在保证检测速度的情况下,提高了检测的准确性,同时可避免遗漏锚点。
步骤S32、按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组;
具体地,按照所述对齐集合内文本块的行高进行第一聚类,得到第一细分类;在所述第一细分类中根据行间距进行第二聚类,得到第二细分类。在所述第二细分类的文本块精细分组中,对同时存在于两个文本块精细分组中的文本块进行切分。
在利用第一滑窗构建对齐集合SHi后,检索的是SH中除SHi外的所有文本块,并进行进一步分组归并,这就导致存在某些文本块可能被同时分在不同的两个组中,通过精细分组可以对这种情况进行处理。
按照所述对齐集合内文本块的行高进行第一聚类的聚类规则为,每一类中的任意两个文本块的行高的相差倍数不得超过阈值1.2。在所述第一细分类中根据行间距进行第二聚类的聚类规则为,对第一细分类内的所有相邻文本块,求取它们的行间距h,得到最小的行间距hmin;然后以1.2hmin为阈值对文本块进行进一步的第三聚类,聚类规则为,每一类中的任意两条相邻文本块的行间距不大于阈值1.2hmin。经过上述步骤后,得到了细分后的文本块分组,即精细分组。
在这些精细分组中,可能存在一些文本块同时存在于两个精细分组中,这一般是由于菜名过长以至于和价格过于接近,最终导致在切行时将二者切到了一起。
本发明在一些实施方式中,将同时存在于两个精细分组中的文本块进行切分的步骤为:分别对该文本块进行文本识别,查找到数字字符所在的位置,并判断数字字符在文本块中偏左还是偏右,然后对该文本块所属的两个精细分组中的其他文本块进行文本识别,其他文本块应当只属于一个精细分组,根据识别结果,将内含数字字符且数字字符在文本块中占比超过第一预设比例(例如40%)的文本块标记为价格块,所属精细分组标记为价格分组;将其它文本块标记为菜名块,所属精细分组标记为菜名分组;如果上述数字字符在需切分的文本块中偏左(右),则在价格分组中的其他价格块中,检测数字字符右(左)侧的字符,若存在u个字符,则在需要切分的文本块中,所识别到的数字字符右(左)侧第u个字符处开始切分;将切分后的两个文本块归到各自所对齐的分组中。
步骤S33、对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
本发明在一些实施方式中,步骤S33可以包括如下步骤:
步骤S331、对各所述精细分组依次进行第一文本识别,根据包含数字字符的文本块所占的比例,确定疑似价格分组;
根据步骤S323所得到的精细分组,先筛除掉元素只有一个的分组,该步骤能够将标题、广告等信息都删除掉,剩余的只有菜名、注释和价格。然后对各精细分组依次进行第一文本识别,若检测出某个精细分组中第二预设比例(例如80%)以上的文本块都包含数字字符,则将该精细分组标记为疑似价格分组,该疑似价格分组中的所有文本块标记为疑似价格块。
步骤S332、根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定价格文本块,并将包含所述价格文本块的精细分组作为所述价格分组。
检测疑似价格分组中的各个疑似价格块数字字符所占的比例,若大于第三预设比例(例如40%),则将该文本块标记为价格块,筛选出的所述价格文本块作为所述价格分组。
需要说明的是,筛选疑似价格分组和筛选价格分组可以经过两次文本识别,也可以只经过一次文本识别,然后对识别结果进行两次后处理分别得到疑似价格分组和价格分组。
步骤S34、在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
本发明在一些实施方式中,步骤S34可以包括如下步骤:
步骤S341、在排除所述价格分组后的剩余所述精细分组中,根据各剩余所述精细分组中的各文本块的平均行高,筛选出菜名分组;
筛选出价格分组后,将精细分组中剩余分组中平均行高最高的分组标记为菜名分组。
步骤S342、根据排除所述价格分组及所述菜名分组后的各剩余所述精细分组与所述菜名分组的位置关系,在排除所述价格分组及所述菜名分组后的剩余所述精细分组中,筛选与所述菜名分组对应的注释分组;
排除已标记的价格分组及菜名分组后,对各剩余精细分组进行检查,与该菜名分组对应的注释分组一般出现在该菜名分组附近,若某一精细分组中文本块的锚点的纵坐标与已有的菜名分组相差不到二倍行高,且其横坐标处于该菜名分组各文本块锚点纵坐标的最大值与最小值之间,则将该精细分组判定为与所述菜名分组对应的注释分组。注释分组的信息包括但不限于:招牌菜、麻辣、推荐等。
步骤S343、在剔除已筛选的所述菜名分组及所述注释分组后,重复执行筛选菜名分组与注释分组的步骤,直到筛选出所有的菜名分组和注释分组。
步骤S4、建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落;
针对一些特殊情况,建立关联也可以是建立文本块之间的关联。其中,所述建立所述菜名分组和所述价格分组之间的关联关系包括:利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系。
经步骤S332从疑似价格分组中筛选出价格分组后,将剩余文本块作为特殊文本块。检测疑似价格分组中的各个疑似价格块数字字符所占的比例,若低于第三预设比例(40%),则将该文本块标记为特殊文本块,这样的文本块一般是菜名和价格之间有特殊符号(诸如“……”或者“-----”等)相连。由于特殊符号的行高明显低于菜名和价格的行高,因此可以根据该特性对特殊符号与菜名和价格进行区分。
具体地,本发明在一些实施方式中,如图4所示,所述利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系可以包括如下步骤:
步骤S41、根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定特殊文本块;
步骤S42、根据所述特殊文本块中的各子文本块的行高的差异,确定其中特殊符号的位置;
在步骤S41与步骤S42之间还可以包括对特殊文本块进行灰度化,然后进行二值化的步骤,此时得到的文本块图像中应当只剩下:菜名子文本块、特殊符号子文本块、价格子文本块这三个元素。
其中,本发明在一些实施方式中,步骤S42可以包括如下步骤:
步骤S421、对所述特殊文本块进行膨胀处理,以使所述特殊文本块中的各子文本块相连在一起;
步骤S422、利用第二滑窗计算所述第二滑窗内膨胀后的各子文本块的外接矩形的高度与所述特殊文本块的行高的比值,确定其中特殊符号的位置。
以特殊文本块的行高作为第二滑窗的宽度,将第二滑窗从特殊文本块的左侧向右滑动时,期间不断求取第二滑窗内膨胀后字符图像的外接矩形,当外接矩形高度小于窗口宽度的第四预设比例(例如1/3)时,记录下当前第二滑窗的区间Ut,滑动结束后,求取所有的Ut的并区间U,这样区间U内可以判定为特殊符号。
步骤S43、对所述特殊符号两侧的子文本块分别进行第二文本识别,将数字字符占比较高一侧的所述子文本块作为价格文本块,并将另一侧的子文本块作为菜名文本块;
特殊符号对应的区间U两侧的子文本块分别为菜名和价格,通过第二文本识别,将数字字符占比大于第五预设比例(例如40%)的标记为价格子文本块,另一端标记为菜名子文本块。
步骤S44、将通过所述特殊符号相连的所述菜名文本块和所述价格文本块建立关联关系。
通过特殊符号相连的菜名子文本块和价格子文本块自然地建立关联关系。
经过步骤3得到的菜名分组中的菜名文本块和价格分组中的价格文本块相互分离,未由特殊符号相连,但在空间位置上会遵循某种联系并将空间位置上的特征记为空间结构特征,可以据此建立菜名分组和价格分组之间的关联关系。
具体地,如图5所示,所述利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系可以包括如下步骤:
步骤S41’、针对各所述菜名分组中每个菜名文本块,在菜单图像范围内按预设空间距离从至少一个所述价格分组中确定出若干疑似关联价格文本块;
需要说明的是这些疑似关联价格文本块可以来自同一个价格组,也可以来自不同的价格组。
具体地,首先,在各所述菜名分组的各菜名文本块周围确定若干疑似关联价格文本块;在若干个菜名分组中,先由包含文本块个数最多的菜名分组开始进行菜名与价格的关联,在每个菜名分组中,按照就近原则查找疑似关联价格文本块,以每个菜名文本块为中心,分别在其上、下、左、右四个方向上查找不多于三个的与其距离最近的疑似关联价格文本块,并得到该菜名文本块的疑似关联价格集合,以及疑似关联价格集合的差向量。所述距离包括但不限于两个文本块的锚点之间的欧式几何距离、汉明距离、马氏距离、横向距离、纵向距离中的一种或多种,所述差向量为从所述菜名文本块所在位置到疑似关联价格集合中每个价格文本块所在位置的向量。其中,菜名文本块以及价格文本块的位置分别以对应的锚点进行标记。
接着,根据各疑似关联价格文本块与所述菜名文本块的相对位置关系,在每个菜名文本块的若干所述疑似关联价格文本块中筛选出一个候选关联价格文本块,构建与所述菜名分组对应的关联价格文本块主组;
求取每一个菜名分组内所有文本块的差向量的方差D,具体地,先对每个菜名文本块,选定其关联价格集合中的某一疑似关联价格文本块,获得其对应的差向量;然后求取同一组内所有文本块选取的差向量的方差D。所述关联价格文本块主组中的关联价格文本块由该菜名分组中每一个菜名文本块的疑似关联价格集合中的某一候选关联价格文本块所组成,并且这些候选关联价格文本块所对应的差向量的方差D为最小值,可以通过穷举法等方法得出。
然后,在剔除所述关联价格文本块主组中的候选关联价格文本块后,重复执行筛选所述候选关联价格文本块的步骤,构建与所述菜名分组对应的关联价格文本块副组;
将关联价格文本块主组中所包含的候选关联价格文本块从每一个菜名分组的疑似关联价格集合中剔除,然后重复执行求取每一个菜名分组内所有菜名文本块的差向量的方差D、筛选所述候选关联价格文本块的步骤,再求出一组候选关联价格文本块,作为关联价格文本块副组。
步骤S42’、根据各所述菜名分组的相对位置关系,从各所述菜名文本块对应的若干疑似关联价格文本块中确定一个目标价格文本块;
在所有菜名分组中,根据与各菜名分组对应的所述关联价格文本块主组和所述关联价格文本块副组的相对位置关系,在每个菜名分组的所述关联价格文本块主组和关联价格文本块副组中选择一个,作为与所述菜名分组对应的关联价格组。
继续求取所有菜名分组中,与已构建关联价格文本块主组及关联价格文本块副组的菜名分组的行高相差小于第六预设阈值的菜名分组的关联价格文本块主组和副组,作为一个示例,第六预设阈值为已求解关联价格文本块主组和关联价格文本块副组的菜名分组的行高的1.2倍。
所有菜名分组及对应的关联价格组在排版格式上比较接近,可以根据该特征确定所述菜名分组中与所有菜名分组对应的关联价格组。具体地,所述关联价格组包括该菜名分组的关联价格文本块主组和关联价格文本块副组其中之一,并且所有行高相差小于第六预设阈值的菜名分组的关联价格组中的差向量均值的方差为最小值。
步骤S43’、将所述菜名文本块与对应的所述目标价格文本块建立关联关系。
在建立关联关系的过程中,采用了空间结构特征,利用价格与菜名之间排版往往遵循某一固定的相对位置特征进行了关联,由于没有借助语义信息进行关联,避免了需要匹配事先准备好的关键词,或者需要用深度学习进行训练,提高了电子菜单生成效率,而且也避免了由于菜单文档的特殊性导致其内部的文本之间往往不具备足够的语义关联,提高了生成的电子菜单与纸质菜单的一致性。
步骤S5、确定所述菜单段落的段落标题;
菜单上的菜名和价格往往会被以不同的类别进行分组,诸如:荤菜、凉菜、素菜、主食等等。它们在空间上会与对应的段落接近,而排版上呈现多样化,诸如竖直方向并列于段落两侧,或者平行列于段落上方等,另外,在段落的周围也不止有标题,可能还有广告词等其他元素。
本发明在一些实施方式中,如图6所示,步骤S5可以包括如下步骤:
步骤S51、在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
在所述文本块中去除与所述菜名分组对应的菜名文本块和与所述价格分组对应的价格文本块,并将剩下的文本块归入其它集合,
需要说明的是,若在步骤S342中筛选出注释分组,则与注释分组对应的注释文本块也应被去除。
步骤S52、计算所述其它集合中的文本块与所述菜单段落的关联度;
对某一菜单段落Segmentm,依次取其它集合Sothers中的某一个文本块Linek进行关联性分析,计算菜单段落Segmentm与文本块Linek的关联度,
Rik=Hk/Dik;
其中,Rik表示菜单段落Segmentm与文本块Linek的关联度,Dik表示文本块Linek的质心到菜单段落Segmentm的边缘之间的垂直距离、Hk表示文本块Linek的行高;
步骤S53、根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
对所有菜单段落进行关联性分析,找出每个菜单段落的段落标题,计算某一菜单段落Segmentm和其它集合Sothers中的每个文本块的关联度,找出整个菜单中关联度最大的菜单段落Segmentm和文本块Linek,若关联度小于第七预设阈值,则终止该步骤,否则将文本块Linek标记为Segmentm的段落标题,然后将菜单段落Segmentm和文本块Linek分别从菜单段落和其它集合Sothers中删除,重复执行上述过程,找出下一个菜单段落的段落标题,直到找完所有菜单段落的段落标题。
在搜索菜单中的段落标题的过程中,同样没有借助语义信息,而是利用排版特征信息和几何空间距离进行搜索和辨识,避免了由于菜单文档的特殊性导致其搜索过程中出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。
需要说明的是,在本发明中,第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值、第五预设阈值、第六预设阈值以及第七预设阈值的设定范围皆不在本发明的限定之内。
步骤S6、根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单。
本发明在一些实施方式中,如图7所示,步骤S6可以包括如下步骤:
步骤S61、去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
去除所述菜单段落以及所述段落标题中的干扰信息具体包括对菜单段落以及段落标题进行灰度化处理以及二值化处理,以去除背景信息。
步骤S62、输出由所述分块图像构成的电子菜单。
需要说明的是,首先由于二值化是在菜单段落以及段落标题的分块文本内进行,大部分无关背景部分已经被滤除,二值化对分块内的文本和背景的处理较为简单和有效;其次,输出结果同样为分块图像而非文本识别结果,这就避免了文本识别出现误差的问题,而本方案中仅有的文本识别技术主要用于识别菜单中的数字字符,且仅仅使用数字的位置信息而非大小信息,识别的任务场景较为简单,不会影响最终的输出效果。
本发明在前面的步骤中,已经确定了包含相互关联的菜名分组和价格分组的菜单段落及其段落标题,并在原始菜单图像中进行了标记(例如锚点),在输出电子菜单的过程中,并不是输出文本识别的结果,而是将分块图像进行二值化后直接以图片形式组织并输出,避免了文本识别过程中可能出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。
需要说明的是,本发明的实现方式均是在菜单图像范畴内进行,并不是将文本块乃至其中的字符从图像中分离出去,因此所述菜单段落以及所述段落标题均可以通过分块图像的形式体现。并且,本发明在实施过程中,并不关注菜名文本块、价格文本块、段落标题等具体为什么菜名、什么价格或者哪种菜类,也即是不对相关文本块的内容本身进行含义理解,特别需指出的是,对于本发明涉及的数字字符的识别也仅仅是在字符种类的识别层面,而不关心识别出的到底是2、是8、还是28。
在输出电子菜单后还可以对电子菜单进行后处理,以向用户展示电子菜单,可以根据用户的实际需求展示菜单段落及其段落标题所对应的文本图像。在其中一种可能的实现方式中,可以展示菜单段落及其段落标题整体,在展示电子菜单时可以对与菜单段落及段落标题对应的各文本块进行融合拼接,例如可以按照基本拼接单位,逐行逐列地对各文本块进行拼接,首先进行水平方向上的文本块拼接融合,将同一行上的文本块合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的文本块拼接融合,最终将所有的文本块合成为一张图片。在其中一种可能的实现方式中,可以将菜名和价格在菜单中分列展示。在另一种可能的实现方式中,可以在点菜软件中按照菜的类型(例如荤菜、素菜、炒菜、汤)分层次地分类展示。在又一种可能的实现方式中,可以根据用户的意愿选择性地展示部分菜单,例如仅展示设定的价格区间的菜单或某一预设类型的菜单。但是,需要指出的,这并非是对本发明适用场景的绝对限制,当其他场景也产生展示电子菜单的需求时,同样可以采用本发明的技术构思乃至具体的实施示例。
综上,本发明在对当前电子菜单生成技术进行剖析后,挖掘出其快速将纸质菜单转换为电子菜单的由来,并据此提出了一种基于文本检测识别技术与图像处理技术的方法,具体是针对原始菜单图像进行结构化分析,根据菜单上的排版特征信息将菜单上的文本块识别为菜名和价格,然后将菜名与对应价格关联起来,并根据关联关系生成电子菜单,由于无需事先准备包含产品信息的数据库用以识别和检测,因此可以极大地拓宽了其适用范围,而且提高了电子菜单生成效率,能够快速将纸质菜单转换为电子菜单,供商家和用户使用。进一步来说,本发明还在进行文本块关联时,采用了空间结构特征,利用价格与菜名之间排版往往遵循某一固定的相对位置特征进行了关联,由于没有借助语义信息进行关联,避免了需要匹配事先准备好的关键词,或者需要用深度学习进行训练,提高了电子菜单生成效率,而且也避免了由于菜单文档的特殊性导致其内部的文本之间往往不具备足够的语义关联,提高了生成的电子菜单与纸质菜单的一致性。进一步来说,求取菜单中的段落标题时,同样没有借助语义信息,而是利用排版特征信息进行搜索和辨识,避免了由于菜单文档的特殊性导致其搜索过程中出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。进一步来说,在结果输出上,并不是输出文本识别结果,而是将分块图像进行二值化后直接以图片形式组织并输出,避免了文本识别过程中可能出现的误差,进一步提高了生成的电子菜单与纸质菜单的一致性。
相应于上述各实施例及优选方案,本发明还提供了一种电子菜单生成装置的实施例,如图8所示,具体可以包括如下部件:
原始菜单图像获取模块101,用于获取原始菜单图像;
文本块检测模块102,用于基于所述原始菜单图像,检测出若干文本块;
分组模块103,用于根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
关联关系建立模块104,用于建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落;
段落标题确定模块105,用于确定所述菜单段落的段落标题;
电子菜单生成模块106,用于根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单。
进一步地,在其中一种可能的实现方式中,所述分组模块103包括:
对齐单元,用于根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
精细分组单元,用于按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组;
价格分组单元,用于对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
菜名分组单元,用于在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
在其中一种可能的实现方式中,所述对齐单元包括:
锚点标记组件,用于根据所述文本块的对齐方式,对所述文本块进行识别,并以锚点对满足预设对齐方式的文本块的位置进行标记;
第一滑窗组件,利用第一滑窗统计落入所述第一滑窗内的锚点数量,根据所述第一滑窗的位置以及所述第一滑窗内的锚点数量,构建所述对齐集合。
进一步地,在其中一种可能的实现方式中,所述菜名分组单元包括:
菜名分组筛选组件,用于在排除所述价格分组后的剩余所述精细分组中,根据各剩余所述精细分组中的各文本块的平均行高,筛选出菜名分组;
注释分组筛选组件,用于根据排除所述价格分组及所述菜名分组后的各剩余所述精细分组与所述菜名分组的位置关系,在排除所述价格分组及所述菜名分组后的剩余所述精细分组中,筛选与所述菜名分组对应的注释分组;
重复执行组件,用于在剔除已筛选的所述菜名分组及所述注释分组后,重复执行筛选菜名分组与注释分组的步骤,直到筛选出所有的菜名分组和注释分组。
进一步地,在其中一种可能的实现方式中,所述价格分组单元包括:
疑似价格分组组件,用于对各所述精细分组依次进行第一文本识别,根据包含数字字符的文本块所占的比例,确定疑似价格分组;
价格分组组件,用于根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定价格文本块,并将包含所述价格文本块的精细分组作为所述价格分组。
进一步地,在其中一种可能的实现方式中,所述关联关系建立模块104包括:
特殊符号关联单元,用于利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或空间结构特征关联单元,用于利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系。
进一步地,在其中一种可能的实现方式中,所述特殊符号关联单元包括:
特殊文本块确定组件,用于根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定特殊文本块;
特殊符号位置确定组件,用于根据所述特殊文本块中的各子文本块的行高的差异,确定其中特殊符号的位置;
价格和菜名确定组件,用于对所述特殊符号两侧的子文本块分别进行第二文本识别,将数字字符占比较高一侧的所述子文本块作为价格文本块,并将另一侧的子文本块作为菜名文本块;
特殊符号关联组件,用于将通过所述特殊符号相连的所述菜名文本块和所述价格文本块建立关联关系。
进一步地,在其中一种可能的实现方式中,所述特殊符号确定组件包括:
膨胀子组件,用于对所述特殊文本块进行膨胀处理,以使所述特殊文本块中的各子文本块相连在一起;
第二滑窗子组件,用于利用第二滑窗计算所述第二滑窗内膨胀后的各子文本块的外接矩形的高度与所述特殊文本块的行高的比值,确定其中特殊符号的位置。
进一步地,在其中一种可能的实现方式中,所述空间结构特征关联单元包括:
疑似关联价格文本块组件,用于针对各所述菜名分组中每个菜名文本块,在菜单图像范围内按预设空间距离从至少一个所述价格分组中确定出若干疑似关联价格文本块;
目标价格文本块组件,用于根据各所述菜名分组的相对位置关系,从各所述菜名文本块对应的若干疑似关联价格文本块中确定一个目标价格文本块;
空间结构特征关联组件,用于将所述菜名文本块与对应的所述目标价格文本块建立关联关系。
进一步地,在其中一种可能的实现方式中,所述段落标题确定模块105包括:
其它集合单元,用于在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
关联度计算单元,用于计算所述其它集合中的文本块与所述菜单段落的关联度;
段落标题筛选单元,用于根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
进一步地,在其中一种可能的实现方式中,所述电子菜单生成模块106包括:
分块图像生成单元,用于去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
输出单元,用于输出由所述分块图像构成的电子菜单。
应理解以上图8所示的电子菜单生成装置的各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种电子菜单生成设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
应理解,电子菜单生成设备能够实现前述实施例提供的方法的各个过程。该设备中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,电子菜单生成设备中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其它类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的电子菜单生成方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;接续前文再做补充说明,上述设备/终端可以是一台计算机设备(例如手机、PC终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network ProcessUnits;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储介质可以包括:非易失性存储器(non-volatilememory),例如非可移动磁盘、U盘、移动硬盘、光盘等,以及只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (14)
1.一种电子菜单生成方法,其特征在于,包括:
获取原始菜单图像;
基于所述原始菜单图像,检测出若干文本块;
根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落,所述建立所述菜名分组和所述价格分组之间的关联关系包括:利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系;
确定所述菜单段落的段落标题;
根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单,
所述根据所述文本块的排版特征信息在所述文本块中筛选出若干文本分组包括:
根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组。
2.根据权利要求1所述的电子菜单生成方法,其特征在于,所述根据所述文本块的排版特征信息在所述文本块中筛选出若干文本分组还包括:
对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
3.根据权利要求2所述的电子菜单生成方法,其特征在于,所述在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组包括:
在排除所述价格分组后的剩余所述精细分组中,根据各剩余所述精细分组中的各文本块的平均行高,筛选出菜名分组。
4.根据权利要求2所述的电子菜单生成方法,其特征在于,所述对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组包括:
对各所述精细分组依次进行第一文本识别,根据包含数字字符的文本块所占的比例,确定疑似价格分组;
根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定价格文本块,并将包含所述价格文本块的精细分组作为所述价格分组。
5.根据权利要求4所述的电子菜单生成方法,其特征在于,所述利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系包括:
根据各所述疑似价格分组的文本块中的数字字符所占的比例,在所述疑似价格分组中确定特殊文本块;
根据所述特殊文本块中的各子文本块的行高的差异,确定其中特殊符号的位置;
对所述特殊符号两侧的子文本块分别进行第二文本识别,将数字字符占比较高一侧的所述子文本块作为价格文本块,并将另一侧的子文本块作为菜名文本块;
将通过所述特殊符号相连的所述菜名文本块和所述价格文本块建立关联关系。
6.根据权利要求4所述的电子菜单生成方法,其特征在于,所述利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系包括:
针对各所述菜名分组中每个菜名文本块,在菜单图像范围内按预设空间距离从至少一个所述价格分组中确定出若干疑似关联价格文本块;
根据各所述菜名分组的相对位置关系,从各所述菜名文本块对应的若干疑似关联价格文本块中确定一个目标价格文本块;
将所述菜名文本块与对应的所述目标价格文本块建立关联关系。
7.根据权利要求1所述的电子菜单生成方法,其特征在于,所述确定所述菜单段落的段落标题包括:
在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
计算所述其它集合中的文本块与所述菜单段落的关联度;
根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
8.根据权利要求1~7任一项所述的电子菜单生成方法,其特征在于,所述根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单包括:
去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
输出由所述分块图像构成的电子菜单。
9.一种电子菜单生成装置,其特征在于,包括:
原始菜单图像获取模块,用于获取原始菜单图像;
文本块检测模块,用于基于所述原始菜单图像,检测出若干文本块;
分组模块,用于根据所述文本块的排版特征信息在所述文本块中筛选出若干文本块分组,所述文本块分组至少包括菜名分组和价格分组;
关联关系建立模块,用于建立所述菜名分组和所述价格分组之间的关联关系,并将相互关联的所述菜名分组和所述价格分组组合为同一菜单段落;
段落标题确定模块,用于确定所述菜单段落的段落标题;
电子菜单生成模块,用于根据所述菜单段落以及对应的所述段落标题,生成并输出电子菜单,
所述关联关系建立模块包括:
特殊符号关联单元,用于利用设置在菜名和价格之间的特殊符号建立菜名文本块和价格文本块之间的关联关系,和/或空间结构特征关联单元,用于利用所述菜名分组和所述价格分组之间的空间结构特征建立所述关联关系,
所述分组模块包括:
对齐单元,用于根据所述文本块的对齐方式,将所述文本块分为若干对齐集合;
精细分组单元,用于按照各所述对齐集合内各所述文本块的行高以及行间距,对各所述对齐集合内的所述文本块进行聚类,得到若干精细分组。
10.根据权利要求9所述的电子菜单生成装置,其特征在于,所述分组模块还包括:
价格分组单元,用于对所述精细分组中的所述文本块进行第一文本识别,将符合预设第一筛选策略的所述精细分组作为所述价格分组;
菜名分组单元,用于在排除所述价格分组后,将符合预设第二筛选策略的剩余所述精细分组作为所述菜名分组。
11.根据权利要求9所述的电子菜单生成装置,其特征在于,所述段落标题确定模块包括:
其它集合单元,用于在全部所述文本块中去除所述菜名分组以及所述价格分组二者所含的文本块,并将剩下的文本块归入其它集合;
关联度计算单元,用于计算所述其它集合中的文本块与所述菜单段落的关联度;
段落标题筛选单元,用于根据所述关联度在所述其它集合中筛选出所述菜单段落的段落标题。
12.根据权利要求9~11任一项所述的电子菜单生成装置,其特征在于,所述电子菜单生成模块包括:
分块图像生成单元,用于去除所述菜单段落以及所述段落标题中的干扰信息,生成若干分块图像,所述分块图像包括菜单段落分块图像以及对应的段落标题分块图像;
输出单元,用于输出由所述分块图像构成的电子菜单。
13.一种电子菜单生成设备,其特征在于,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1~8任一项所述的电子菜单生成方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1~8任一项所述的电子菜单生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368067.XA CN111192346B (zh) | 2019-12-26 | 2019-12-26 | 电子菜单生成方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368067.XA CN111192346B (zh) | 2019-12-26 | 2019-12-26 | 电子菜单生成方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111192346A CN111192346A (zh) | 2020-05-22 |
CN111192346B true CN111192346B (zh) | 2024-02-13 |
Family
ID=70709407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911368067.XA Active CN111192346B (zh) | 2019-12-26 | 2019-12-26 | 电子菜单生成方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111192346B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036420A (zh) * | 2020-11-05 | 2020-12-04 | 南京研利科技有限公司 | 产生电子价格表的方法、计算设备和计算机可读存储介质 |
CN112507215A (zh) * | 2020-12-01 | 2021-03-16 | 深圳市移卡科技有限公司 | 资源列表的形成方法 |
CN114821568B (zh) * | 2022-06-27 | 2022-09-16 | 深圳前海环融联易信息科技服务有限公司 | 菜单要素提取方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63183867A (ja) * | 1987-01-27 | 1988-07-29 | Dainippon Printing Co Ltd | メニユ−の作成方法および装置 |
CN101770569A (zh) * | 2008-12-31 | 2010-07-07 | 汉王科技股份有限公司 | 基于ocr的菜名识别方法 |
US8782516B1 (en) * | 2007-12-21 | 2014-07-15 | Amazon Technologies, Inc. | Content style detection |
JP2015176165A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社ゼンリンデータコム | 料理価格検索装置 |
CN109376731A (zh) * | 2018-08-24 | 2019-02-22 | 北京三快在线科技有限公司 | 一种文字识别方法和装置 |
CN109886263A (zh) * | 2018-12-29 | 2019-06-14 | 口碑(上海)信息技术有限公司 | 菜单配置方法、装置、存储介质及计算机设备 |
CN110110577A (zh) * | 2019-01-22 | 2019-08-09 | 口碑(上海)信息技术有限公司 | 识别菜名的方法及装置、存储介质、电子装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898075B2 (en) * | 2012-09-11 | 2014-11-25 | Ntn Buzztime, Inc. | Electronic menu system and method |
-
2019
- 2019-12-26 CN CN201911368067.XA patent/CN111192346B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63183867A (ja) * | 1987-01-27 | 1988-07-29 | Dainippon Printing Co Ltd | メニユ−の作成方法および装置 |
US8782516B1 (en) * | 2007-12-21 | 2014-07-15 | Amazon Technologies, Inc. | Content style detection |
CN101770569A (zh) * | 2008-12-31 | 2010-07-07 | 汉王科技股份有限公司 | 基于ocr的菜名识别方法 |
JP2015176165A (ja) * | 2014-03-13 | 2015-10-05 | 株式会社ゼンリンデータコム | 料理価格検索装置 |
CN109376731A (zh) * | 2018-08-24 | 2019-02-22 | 北京三快在线科技有限公司 | 一种文字识别方法和装置 |
CN109886263A (zh) * | 2018-12-29 | 2019-06-14 | 口碑(上海)信息技术有限公司 | 菜单配置方法、装置、存储介质及计算机设备 |
CN110110577A (zh) * | 2019-01-22 | 2019-08-09 | 口碑(上海)信息技术有限公司 | 识别菜名的方法及装置、存储介质、电子装置 |
Non-Patent Citations (3)
Title |
---|
Effecting of electronic-tablet-based menu and its impact on consumer choice behavior (An empirical study in Iranian restaurant);Reza Shafei等;IEEE Xplore;全文 * |
薛辉 ; .基于语音识别的手机点菜系统的研究与设计.《微型电脑应用》.2017,(第07期),全文. * |
陈明,丁晓青,梁健.复杂中文报纸的版面分析、理解和重构.《清华大学学报(自然科学版)》.2001,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111192346A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111192346B (zh) | 电子菜单生成方法、装置和设备 | |
CN105868758B (zh) | 图像中文本区域检测方法、装置及电子设备 | |
RU2445699C1 (ru) | Способ обработки данных оптического распознавания символов (ocr), где выходные данные включают в себя изображения символов с нарушенной видимостью | |
Yanikoglu et al. | Pink Panther: a complete environment for ground-truthing and benchmarking document page segmentation | |
US8744196B2 (en) | Automatic recognition of images | |
US8442319B2 (en) | System and method for classifying connected groups of foreground pixels in scanned document images according to the type of marking | |
CN1276384C (zh) | 视频流可分类符号分离的方法与系统 | |
CN1103087C (zh) | 光学扫描表单识别及更正方法 | |
CN108734159B (zh) | 一种图像中敏感信息的检测方法及系统 | |
JPH06309498A (ja) | 画像抽出方式 | |
CN105046200B (zh) | 基于直线检测的电子阅卷方法 | |
US11763167B2 (en) | Copy area identification method and device | |
CN110443159A (zh) | 数字识别方法、装置、电子设备及存储介质 | |
CN115457565A (zh) | 一种ocr文字识别方法、电子设备及存储介质 | |
CN108154132A (zh) | 一种身份证文字提取方法、系统及设备和存储介质 | |
CN103902993A (zh) | 文档图像识别方法和设备 | |
JP2011188465A (ja) | 原稿レイアウトの方向検出方法及び装置 | |
CN110728198A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN112446259A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
Ramirez et al. | Automatic recognition of square notation symbols in western plainchant manuscripts | |
CN106331746A (zh) | 用于识别视频文件中的水印位置的方法和装置 | |
CN114445843A (zh) | 固定版式的卡证图像文字识别方法和装置 | |
CN107798355B (zh) | 一种基于文档图像版式自动分析与判断的方法 | |
CN111553361B (zh) | 一种病理切片标签识别方法 | |
US9811726B2 (en) | Chinese, Japanese, or Korean language detection |
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 |