本公开涉及图像识别领域,并且更具体地涉及一种基于二叉树的字符排序方法、基于二叉树的字符排序装置、光学字符序列识别方法、光学字符序列识别装置、电子设备以及计算机可读存储介质。
背景技术:
1、光学字符识别是对具有文本资料的图像文件进行分析,获取文字及版面信息的过程。在应用场景上,识别自然场景图片中的文字信息,难度远大于扫描文档图像中的文字识别。这是因为:字符有不同的大小、字体、颜色、亮度、对比度等;文本行可以有横向、竖向、弯曲、旋转、扭曲等;图像中的文字区域可能存在变形(透视、仿射变换)、残缺、模糊等;自然场景图像的背景极其多样,例如文字在平面、曲面或折皱面、文字区域附近有复杂的干扰纹理、或非文字区域有近似文字的纹理等。
2、目前图像文字检测和识别技术有着广泛的应用场景,例如,识别名片、识别菜单、识别快递单、识别身份证、识别营业证、识别银行卡、识别车牌、识别路牌、识别商品包装袋、识别会议白板、识别广告主干词、识别试卷、识别单据、识别车厢集装箱号等等。
3、但是,目前的文字检测和识别技术难以在大尺寸自然场景或复杂场景图像中识别小尺寸区域内字符序列。
4、因此,需要一种能够在大尺寸自然场景或复杂场景图像中识别小尺寸区域内字符序列的技术。
技术实现思路
1、【技术方案】
2、本技术提出多个方面以解决上述问题。
3、在本技术的第一方面中,一种基于二叉树的字符排序方法包括:在包括目标字符序列的区域中进行图案采集,以获得图案集合;对所述图案集合中的每一个图案进行遍历,将处于相同行或列中的图案置于相同二叉树中;以及从二叉树中顺序识别各个节点处的图案,以获得所述目标字符序列。
4、根据第一方面,其中,将处于相同行或列中的图案置于相同二叉树中可以包括:所述二叉树中的左子树中的每个节点处放置的图案为置于所述二叉树的根节点处的基准图案之前的图案,并且其中,所述左子树中的每个字符所处的节点远离所述根节点的程度与该节点处的图案在其所处的行或列中远离所述基准图案的程度相对应,并且其中,所述二叉树中的右子树中的每个节点处放置的图案为置于所述二叉树的根节点处的基准图案之后的图案,并且其中,所述右子树中的每个图案所处的节点远离所述根节点的程度与该节点处的图案在其所处的行或列中远离所述基准图案的程度相对应。
5、根据第一方面,对所述图案集合中的每一个图案进行遍历包括:确定所述图案集合中的每一个图案与数据库中预先存储的字符匹配的概率;将概率大于第一预定阈值的图案确定为字符;利用所确定的字符形成字符集合;以及以所述字符集合之中的具有最大概率的字符作为起始字符,按照概率从大到小的顺序对所述字符集合中的每一个字符进行遍历。
6、根据本技术的第一方面,其中,所述二叉树中的节点处放置的图案均为字符,并且其中所述二叉树中的根节点处放置的所述基准图案为所述起始字符。
7、根据本技术的第一方面,将处于相同行或列中的字符置于相同二叉树中包括:计算被遍历的字符与所述起始字符的质心连线与预定轴线之间的角度;响应于所计算的角度小于或等于预定角度阈值,确定被遍历的字符与所述起始字符处于相同的行或列中,并且将被遍历的字符置于以所述起始字符为根节点的二叉树中;以及响应于所计算的角度大于所述预定角度阈值,确定被遍历的字符与所述起始字符处于不同的行或列中,并且将被遍历的字符置于新的二叉树中。
8、根据本技术的第一方面,在确定被遍历的字符与所述起始字符处于相同的行或列中之后,还执行如下操作:计算包围所述起始字符的最小矩形边框中的第一点与包围所述区域的最小矩形边框中的第二点之间的第一距离;计算包围被遍历的字符的最小矩形边框中的第三点与所述第二点之间的第二距离,其中所述第三点在包围被遍历的字符的最小矩形边框中的位置与所述第一点在包围所述起始字符的最小矩形边框中的位置相对应;以及基于所述第一距离与所述第二距离,确定被遍历的字符是在所述起始字符之前还是起始字符之后。
9、根据本技术的第一方面,响应于所计算的角度大于所述预定角度阈值确定被遍历的字符与所述起始字符处于不同的行或列中包括:在所述区域中存在多个行或列的情况下,存在多个对应的预定角度阈值θi,其中i={1,2,……,n},并且其中,当所计算的角度大于θi且小于或等于θi+1时,确定被遍历的字符处于从所述起始字符所处的行或列起始的第i+1行中,并且对应地将被遍历的字符置于第i个新的二叉树中。
10、根据本技术的第一方面,其中,新的二叉树中的字符的布置方式与以所述起始字符为根节点的所述二叉树中的字符的布置方式相同。
11、根据本技术的第一方面,其中,所述第一点为以下项之一:中心点、左上角点、质心点;以及所述第二点为以下项之一:左上角点、右上角点、左下角点、右下角点。
12、在本技术的第二方面中,一种基于二叉树的字符排序装置包括:
13、采集单元,被配置为在包括目标字符序列的区域中进行图案采集,以获得图案集合;以及第一处理单元,被配置为:对所述图案集合中的每一个图案进行遍历,将处于相同行或列中的图案置于相同二叉树中,其中,所述二叉树中的左子树中的每个节点处放置的图案为置于所述二叉树的根节点处的基准图案之前的图案,并且其中,所述左子树中的每个字符所处的节点远离所述根节点的程度与该节点处的图案在其所处的行或列中远离所述基准图案的程度相对应,并且其中,所述二叉树中的右子树中的每个节点处放置的图案为置于所述二叉树的根节点处的基准图案之后的图案,并且其中,所述右子树中的每个图案所处的节点远离所述根节点的程度与该节点处的图案在其所处的行或列中远离所述基准图案的程度相对应;以及从二叉树中顺序识别各个节点处的图案,以获得所述目标字符序列。
14、在本技术的第三方面中,一种光学字符序列定位和识别方法,包括:在输入图像中定位包括目标字符序列的区域;以及利用根据第一方面所述的基于二叉树的字符排序方法,在所述区域中识别出所述目标字符序列。
15、根据本技术的第三方面,所述方法还包括:在进行定位操作时,根据目标字符序列的特点、所述输入图像与包括目标字符序列的区域的尺寸对比、场景的复杂情况,进行至少一级的区域定位。
16、在本技术的第四方面中,一种光学字符序列定位和识别装置,包括:定位单元,被配置为在输入图像中定位包括目标字符序列的区域;以及第二处理单元,利用根据权利要求1至8中任一项所述的基于二叉树的字符排序方法,在所述区域中识别出所述目标字符序列。
17、在本技术的第五方面中,一种电子设备,包括:一个或多个处理器;以及存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据第一方面或者根据第三方面所述的方法。
18、在本技术的第六方面中,一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现根据第一方面或者根据第三方面所述的方法。
19、【技术效果】
20、相比于过去的字符序列识别方法,本发明提出一种在大尺寸自然场景或复杂场景图像中获取小尺寸区域中字符序列的方法。该方法可根据实际场景本身的特点,设计相应的区域定位方式,不局限于指定图像采集硬件固定位置或角度等获取定位的方式,灵活的应用将简化整个识别系统设计中对于硬件的要求。此外,该方法不局限于一次定位,根据字符区域的特征做多级定位,简化了对整图做识别处理的技术难度,算法模型的简化,提高了计算资源利用和时效性。
21、此外,本发明技术方案可以应用多种字符序列排列方式,如水平、垂直、倾斜,单行、多行,单列、多列等;可以针对排列的复杂程序设计相应难度的区域内字符序列识别。
22、本发明以箱号识别为例,单通道识别效果达到98%以上,区域定位0.2秒左右,单图识别0.5秒以内,可以满足各种应用场合下(海关、卡口等)的集装箱号识别任务;以报关单号识别为例,对扫描图像文件中报关单号识别效果达到96%以上,单图识别0.5秒以内。