一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于点云数据的字符分割方法和系统与流程

2022-03-09 08:04:36 来源:中国专利 TAG:


1.本技术涉及字符识别领域,特别涉及一种基于点云数据的字符分割方法以及系统。


背景技术:

2.在三维字符的识别过程中,需要先获取各个字符的点云数据,然后基于各个字符的点云数据进行字符识别。但直接处理点云数据可能会因为多个字符的互相干扰,影响识别结果。因此,为提高字符的识别率,需要一种将可以将各个字符对应点云数据分割的方法,以使各个字符独立识别。


技术实现要素:

3.本说明书实施例之一提供一种基于点云数据的字符分割方法。所述基于点云数据的字符分割方法包括:获取三维字符的点云数据,所述三维字符包括至少两个以上字符;获取所述三维字符的点云数据中的其中至少一个点云数据,确定初始点云数据;基于所述初始点云数据以及距离阈值,确定关联点云数据;所述关联点云数据中任意相邻的两个点云数据之间的距离在所述距离阈值内;以及基于所述关联点云数据与所述初始点云数据,确定一个字符的点云数据。
4.在一些实施例中,所述基于所述初始点云数据以及距离阈值,确定关联点云数据,包括:将距离所述初始点云数据在所述距离阈值内的点云数据,确定为第一关联点云数据;将距离所述第一关联点云数据在所述距离阈值内的点云数据,确定为第二关联点云数据;将距离第n关联点云数据在所述距离阈值内的点云数据,确定为最终关联点云数据。
5.在一些实施例中,所述初始点云数据包括一个或多个点云数据。
6.在一些实施例中,所述初始点云数据为所述三维字符的点云数据中随机获取的一个点云数据。
7.在一些实施例中,所述初始点云数据为历遍所述三维字符的点云数据时最先获取到的点云数据。
8.在一些实施例中,所述方法还包括:在所述三维字符的点云数据中提取所述一个字符的点云数据,确定所述三维字符的剩余点云数据。
9.在一些实施例中,所述方法还包括:在所述剩余点云数据获取至少一个初始点云数据;基于所述剩余点云数据中的初始点云数据以及所述距离阈值,在所述剩余点云数据中确定关联点云数据;基于所述剩余点云数据中的关联点云数据与初始点云数据,确定剩余点云数据中一个字符的点云数据。
10.在一些实施例中,所述方法还包括:获取所述三维字符的行列信息;确定所述三维字符的点云数据中所有单个字符的点云数据后,基于所述行列信息确定所述三维字符的行字符。
11.在一些实施例中,所述距离阈值的取值范围包括50微米~1毫米。
12.在一些实施例中,所述距离阈值小于所述三维字符中相邻两个字符的字符间距和/或相邻两行字符的行间距。
13.在一些实施例中,所述三维字符的点云数据通过字符信息采集装置获取,所述距离阈值大于所述字符信息采集装置的分辨率;所述分辨率用于反映所述字符信息采集装置采集到的点云数据中相邻两个点之间的距离。
14.在一些实施例中,所述基于所述初始点云数据以及距离阈值,确定关联点云数据,还包括:将所述三维字符的点云数据投影至参考基面,确定三维字符的点云数据的投影点;在投影点中,将距离初始点云数据的投影点在距离阈值内的点云数据投影点,确定为第一关联投影点;将距离所述第一关联投影点在所述距离阈值内的投影点,确定为第二关联投影点;将距离第n关联投影点在所述距离阈值内的投影点,确定为最终关联投影点。
15.在一些实施例中,所述基于所述关联点云数据与所述初始点云数据,确定一个字符的点云数据还包括:基于所述初始点云数据的投影点、所述第一关联投影点、所述第二关联投影点以及所述第n关联投影点,确定所述三维字符中一个字符的点云数据。
16.在一些实施例中,所述方法还包括:基于分割后的三维字符的点云数据训练机器学习模型,所述机器学习模型用于识别三维字符的点云数据的字符含义。
17.本说明书实施例之一提供一种基于点云数据的字符分割系统,所述字符分割系统包括:点云数据获取模块,用于获取三维字符的点云数据,所述三维字符包括至少两个以上字符;初始数据确定模块,用于获取所述三维字符的点云数据中的其中至少一个点云数据,确定初始点云数据;点云数据关联模块,用于基于所述初始点云数据以及距离阈值,确定关联点云数据;所述关联点云数据中任意相邻的两个点云数据之间的距离在所述距离阈值内;以及字符分割模块,用于基于所述关联点云数据与所述初始点云数据,确定一个字符的点云数据。
18.本说明书实施例之一提供一种基于点云数据的字符分割装置,包括处理器,所述处理器用于执行本说明书实施例之一提供的基于点云数据的字符分割方法。
19.本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行本说明书实施例之一提供的基于点云数据的字符分割方法。
附图说明
20.本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
21.图1是根据本说明书一些实施例所示的点云数据的分割系统的模块示意图;
22.图2是根据本技术的一些实施例所示的通过聚类的方式分割三维字符的示例性流程图;
23.图3是根据本技术的一些实施例所示的确定关联点云数据的示意图;
24.图4是根据本技术的一些实施例所示的确定关联投影点的示意图。
具体实施方式
25.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
26.应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
27.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
28.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
29.在三维字符的识别领域,三维字符可以为在工件表面上的凸出和/或凹陷的字符。外表征工件的特征信息,三维字符往往是以字符串的形式呈现,即三维字符中包含一个以上的字符。此外,由于三维字符以字符串的形式呈现,在字符识别时,字符串中各个字符可能互相影响识别结果,例如,当对第一个字符进行识别时,第二个字符的部分区域可能会影响识别结果,尤其是字符大小不确定的情况下(例如“1”这种字符),很容易造成识别错误。基于此,本说明书的一个或多个实施例提供了一种基于点云数据的字符分割方法和系统,基于本技术提供的方法与系统可以将包含多个字符的点云数据进行分割以获得各个字符的点云数据,在识别中可以避免其他字符对当前字符识别结果的影响,可以提高后续字符识别方法的准确性,此外,本技术提供的于点云数据的字符分割方法和系统,可以在确定一个字符的点云数据后再继续分割,避免了将单一字符分割为多个部分造成的识别问题以及将多个字符分割为一个字符造成的识别问题,提高了分割方法的稳定性与准确性。
30.图1是根据本技术一些实施例所示的基于点云数据的字符分割系统的模块示意图。
31.如图1所示,本技术一些实施例中基于点云数据的字符分割系统100可以包括点云数据获取模块110、初始数据确定模块120、点云数据关联模块130以及字符分割模块140。
32.点云数据获取模块110可以用于获取三维字符的点云数据,所述三维字符包括至少两个以上字符。在一些实施例中,点云数据获取模块110可以通过相关摄像设备(例如,结构光扫描设备、3d摄像设备等)获取的点云图像。在一些实施例中,待识别字符的点云数据可以预存在对应计算设备中,点云数据获取模块110可以通过调用对应的数据实现。在一些实施例中,在点云数据获取模块110获取点云数据前,可以通过计算设备对点云数据进行预处理,预处理可以包括校准基准面、去除表面噪声等操作。
33.初始数据确定模块120可以用于获取所述三维字符的点云数据中的其中至少一个
点云数据,确定初始点云数据。在一些实施例中,初始点云数据是聚类操作的初始点。在一些实施例中,所述初始点云数据包括一个或多个点云数据。在一些实施例中,所述初始点云数据为所述三维字符的点云数据中随机获取的一个点云数据。在一些实施例中,所述初始点云数据为历遍所述三维字符的点云数据时最先获取到的点云数据。
34.点云数据关联模块130可以用于基于所述初始点云数据以及距离阈值,确定关联点云数据。其中,所述关联点云数据中任意相邻的两个点云数据之间的距离在所述距离阈值内。在一些实施例中,距离阈值可以预先在系统内设置了,也可以根据扫描参数与实际情况确定合适的距离阈值。在本技术中,任意相邻的两个点云数据可以理解为与该点云数据距离最近的其他点云数据。在一些实施例中,所述距离阈值的取值范围包括50微米~1毫米。在一些实施例中,所述距离阈值小于所述三维字符中相邻两个字符的字符间距和/或相邻两行字符的行间距。在一些实施例中,所述三维字符的点云数据通过字符信息采集装置获取,所述距离阈值大于所述字符信息采集装置的分辨率;所述分辨率用于反映所述字符信息采集装置采集到的点云数据中相邻两个点之间的距离。
35.在一些实施例中,所述关联点云数据中任意相邻的两个点云数据之间的距离在所述距离阈值内也可以理解为完成关联后,在关联点云数据外不存在与关联点云数据任意一点的距离小于距离阈值的点云数据。
36.在一些实施例中,所述关联点云数据包括第一关联点云数据、第二关联点云数据、第n关联点云数据;n为大于等于二的整数。点云数据关联模块130可以第一关联点云数据、第二关联点云数据、第n关联点云数据实现,例如,点云数据关联模块130可以将距离所述初始点云数据在所述距离阈值内的点云数据,确定为第一关联点云数据;将距离所述第一关联点云数据在所述距离阈值内的点云数据,确定为第二关联点云数据;将距离第n关联点云数据在所述距离阈值内的点云数据,确定为最终关联点云数据。
37.在一些实施例中,点云数据关联模块130可以基于点云数据的二维投影实现。点云数据关联模块130具体可以用于将所述三维字符的点云数据投影至参考基面,确定三维字符的点云数据的投影点;在投影点中,将距离初始点云数据的投影点在距离阈值内的点云数据投影点,确定为第一关联投影点;将距离所述第一关联投影点在所述距离阈值内的投影点,确定为第二关联投影点;将距离第n关联投影点在所述距离阈值内的投影点,确定为最终关联投影点。在一些实施例中,点云数据关联模块130还可以基于所述初始点云数据的投影点、所述第一关联投影点、所述第二关联投影点以及所述第n关联投影点,确定所述三维字符中一个字符的点云数据。
38.字符分割模块140可以用于基于所述关联点云数据与所述初始点云数据,确定一个字符的点云数据。
39.在一些实施例中,字符分割模块140可以通过将关联点云数据视为同一字符的点云数据实现。在一些实施例中,确定一个字符的点云数据也可以理解为确定该字符对应的点云数据是否合理,例如,关联点云数据对应的字符尺寸是否为实际字符尺寸对应,如对应,则确定关联点云数据为当前字符的点云数据。
40.在一些实施例中,为识别出三维字符的点云数据中各个字符的点云数据,本技术提供的基于点云数据的字符分割系统100还可以进一步包括迭代识别模块150。
41.迭代识别模块150可以用于在所述三维字符的点云数据中提取所述一个字符的点
云数据,确定所述三维字符的剩余点云数据。在一些实施例中,迭代识别模块150可以对剩余点云数据执行前述基于点云数据的字符分割方法,在所述剩余点云数据获取至少一个初始点云数据;基于所述剩余点云数据中的初始点云数据以及所述距离阈值,在所述剩余点云数据中确定关联点云数据;基于所述剩余点云数据中的关联点云数据与初始点云数据,确定剩余点云数据中一个字符的点云数据。
42.在一些实施例中,基于点云数据的字符分割系统100的分割结构,对于多行字符还可以根据其行列信息确定分割出的字符的行列排布。在一些实施例中,字符分割系统100可以先获取所述三维字符的行列信息,确定所述三维字符的点云数据中所有单个字符的点云数据后,再基于所述行列信息确定所述三维字符的行字符。
43.需要注意的是,以上对于基于点云数据的字符分割系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图1中披露的点云数据获取模块、初始数据确定模块和点云数据关联模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
44.图2是根据本技术的一些实施例所示的基于点云数据的字符分割方法的示例性流程图。关于流程200的具体内容,请参见步骤210-240。
45.步骤210,获取三维字符的点云数据。其中,所述三维字符包括至少两个以上字符。在一些实施例中,步骤210可以由点云数据获取模块110执行。
46.本技术中三维字符可以为文字、数字、图案、字符串、二维码、条形码等中的至少一种或其组合。例如,压印在液化气缸瓶上的标识编码、饮料瓶上的喷码、机械加工工件上通过冲头或激光加工出的字符串等。还例如,银行卡的卡号、电机外壳的铭牌上的钢印等。还例如,金属零件上的凹凸字符,示例地,航空发动机上的关键零部件上的凹凸字符、汽车发动机的关键零部件上的凹凸字符等。
47.在一些实施例中,包含至少两个三维字符的点云数据可以理解为字符串的点云数据,其中,在工业中常见的待识别字符串一般为设备的标识编码,该表示编码一般有字母与数字组成,用于显示当前设备的身份信息。
48.在一些实施例中,三维字符的点云数据的点云数据可以通过摄像设备获取三维字符的深度信息实现,其中,深度信息可以为用于表示三维字符在三维空间的位置信息。具体可以通过摄像设备(例如,结构光扫描设备、3d摄像设备等)获取被加工有三维字符的工件表面的点的信息,形成整体点云数据。在一些实施例中,点云数据可以预存在对应的存储设备用,步骤210可以通过调用对应的点云数据实现。
49.步骤220,获取三维字符的点云数据中的其中至少一个点云数据,确定初始点云数据。在一些实施例中,步骤220可以由初始数据确定模块120执行。
50.初始点云数据可以理解为后续聚类操作的初始点,初始点云数据可以包括一个或多个点云数据。在一些实施例中,可以基于随机采样的方法确定一个或多个初始点云数据。示例地,可以从三维字符的点云数据随机选择一个或多个点云数据作为一个或多个初始点云数据。又示例地,可以将处理设备遍历三维字符的点云数据时最先获取到的一个或多个
点云数据作为初始点云数据。又示例地,可以将处理设备遍历三维字符的点云数据时最后获取到的点云数据作为一个初始点云数据。
51.在一些实施例中,为避免将干扰源(例如,铭牌上的随机突起)随机采样为初始点云数据,进而导致识别错误,步骤220中确定初始点云数据的方法可以基于预设的规则,示例地,可以将点云数据中密度最高区域的中心点(或范围内的)点云数据作为初始点云数据。
52.步骤230,基于所述初始点云数据以及距离阈值,确定关联点云数据。在一些实施例中,步骤230可以由点云数据关联模块130执行。
53.在一些实施例中,字符分割系统100可以基于初始点云数据,以及距离阈值,确定与初始点云数据对应的单个字符的点云数据。示例性的,如果初始点云数据为多个,且多个点云数据之间的距离大于距离阈值,字符分割系统100可以先选择一个初始点云数据,然后基于距离阈值,获取与这个初始点云数据对应的单个字符的点云数据。又示例性地,如果初始点云数据为多个,且多个点云数据之间的距离小于距离阈值,则可以基于这几个点云数据和距离阈值,确定对应的单个字符的点云数据。
54.在一些实施例中,字符分割系统100可以基于初始点云数据及距离阈值,确定该初始点云数据的关联点云数据。在一些实施例中,关联点云数据可以包括多个点云数据。关联点云数据与初始点云数据可以形成单个字符的点云数据。
55.在一些实施例中,在一些实施例中,关联点云数据可以包括第一关联点云数据、第二关联点云数据,
……
,第n关联点云数据(n为大于等于1的整数)。在一些实施例中,确定初始点云数据的关联点云数据可以包括:将距离初始点云数据在距离阈值内的点云数据,确定为第一关联点云数据;将距离第一关联点云数据在距离阈值内的点云数据,确定为第二关联点云数据;将距离第n关联点云数据在所述距离阈值内的点云数据,确定为最终关联点云数据。其中,最终关联点云数据为除了第(n-1)关联点云数据以外没有任何一个点云数据与之相距在距离阈值内的点云数据。例如,结合图3,三维字符包括两个单个字符,字符“1”及字符“2”,对单个字符的点云数据进行确定时,字符分割系统100选择点云数据1011作为一个初始点云数据,将距离点云数据1011在距离阈值(例如,100微米)内的点云数据1012、1013确定为两个第一关联点云数据;将距离点云数据1012在距离阈值(例如,100微米)内的点云数据1016、1017确定为第二关联点云数据,将距离点云数据1013在距离阈值(例如,100微米)内的点云数据1014确定为第二关联点云数据;将距离点云数据1014在距离阈值(例如,100微米)内的点云数据1015确定为第三关联点云数据(即最终关联点云数据)。第一关联点云数据1012、1013,第二关联点云数据1014、1016、1017及第三关联点云数据1015组成初始点云数据1011的关联点云数据,而属于另一个单个字符的点云数据1021、1022等与初始点云数据1011,第一关联点云数据1012、1013,第二关联点云数据1014、1016、1017及第三关联点云数据1015中的任意一个之间的距离均大于距离阈值,因此不包括在初始点云数据1011的关联点云数据内。
56.在一些实施例中,初始点云数据以及距离阈值,确定关联点云数据,可以是在三维空间上根据距离阈值寻找关联点云数据,也可以在二维平面中寻找点云数据。示例性地,在一些实施例中,字符分割系统100还可以将三维字符的点云数据投影至参考基面,确定三维字符的点云数据的投影点,基于三维字符的点云数据的投影点确定单个字符的点云数据。
其中,参考基面可以理解为用于承载分割后的三维字符(例如,单行字符或单个字符)的点云数据分布的一个平面。
57.在一些实施例中,字符分割系统100可以先确定投影方向,再沿投影方向将三维字符的点云数据至参考基面上。在一些实施例中,投影方向可以与参考基面呈预设角度。在一些实施例中,预设角度可以为45
°
~90
°
范围内的任意值。在一些实施例中,预设角度可以为60
°
~90
°
范围内的任意值。在一些实施例中,预设角度可以为75
°
~90
°
范围内的任意值。优选地,预设角度为90
°
,即投影方向垂直于参考基面。
58.在一些实施例中,字符分割系统100可以在投影点中确定初始点云数据的投影点的关联投影点,并基于关联投影点获取一个单个字符的点云数据。在一些实施例中,字符分割系统100获取关联投影点可以包括:在投影点中,将距离初始点云数据的投影点在距离阈值内的点云数据投影点,确定为第一关联投影点,将距离第一关联投影点在距离阈值内的投影点,确定为第二关联投影点,将距离第n关联投影点在距离阈值内的投影点,确定为最终关联投影点。其中,最终关联投影点为除了第(n-1)关联投影点以外没有任何一个投影点与之相距在距离阈值内的投影点。例如,结合图4,三维字符包括两个单个字符,字符“1”及字符“2”,对单个字符进行分割时,先将三维字符的点云数据投影至参考基面,确定三维字符的点云数据的投影点,其中,投影点1111为初始点云数据在参考基面上的投影点,将距离投影点1111在距离阈值(例如,100微米)内的投影点1112、1113确定为两个第一关联投影点;将距离投影点1112在距离阈值(例如,100微米)内的投影点1116、1117确定为第二关联投影点,将距离投影点1113在距离阈值(例如,100微米)内的投影点1114确定为第二关联投影点;将距离投影点1114在距离阈值(例如,100微米)内的投影点1115确定为第三关联投影点(即最终关联投影点)。第一关联投影点1112、1113,第二关联投影点1114、1116、1117及第三关联投影点1115组成初始点云数据1111的投影点的关联投影点,而属于另一个单个字符的点云数据的投影点1121、1122等与投影点1111,第一关联投影点1112、1113,第二关联投影点1114、1116、1117及第三关联投影点1115中的任意一个之间的距离均大于距离阈值,因此不包括在投影点1111的关联投影点内。
59.在一些实施例中,字符分割系统100可以基于字符信息采集装置的参数信息确定距离阈值。在一些实施例中,字符信息采集装置的参数信息可以包括摄像装置的分辨率,分辨率可以用于反映字符信息采集装置采集到的点云数据中相邻两个点之间的距离。在一些实施例中,字符分割系统100可以将距离阈值确定为大于摄像装置的分辨率的值。例如,字符信息采集装置的摄像装置的分辨率为33微米,则字符分割系统100可以将距离阈值确定为50微米。
60.在一些实施例中,字符分割系统100可以基于三维字符的预设信息确定距离阈值。在一些实施例中,三维字符的预设信息可以为三维字符的表现形态有相关的信息。在一些实施例中,三维字符的预设信息可以包括但不限于三维字符的线条宽度、相邻两个字符之间的字符间距、相邻两行字符之间的行间距等中的一个或多个。
61.在一些实施例中,字符分割系统100可以基于相邻两个字符之间的字符间距或相邻两行字符之间的行间距确定距离阈值。在一些实施例中,字符分割系统100可以将距离阈值确定为小于相邻两个字符之间的字符间距或相邻两行字符之间的行间距的值。例如,相邻两个字符之间的字符间距为1毫米,则字符分割系统100可以将距离阈值确定为比1毫米
小的数值,如100微米。
62.在一些实施例中,字符分割系统100可以将距离阈值确定为小于所述字符间距与所述行间距中较小的那个值。例如,相邻两个字符之间的字符间距为1毫米,相邻两行字符之间的行间距为0.8毫米,字符分割单元可以将距离阈值确定为比0.8毫米小的数值,如100微米。在一些实施例中,字符分割系统100可以基于三维字符的线条宽度来确定距离阈值。在一些实施例中,字符分割系统100可以将距离阈值确定为小于线条宽度。进一步地,在一些实施例中,字符分割系统100可以将线条宽度与距离阈值的比值设定为5~20。在一些实施例中,字符分割系统100可以将线条宽度与距离阈值的比值设定为5~15。在一些实施例中,字符分割系统100可以将线条宽度与距离阈值的比值设定为5~10。
63.在一些实施例中,字符分割系统100还可以基于字符信息采集装置的分辨率及相邻两个字符之间的字符间距确定距离阈值。例如,字符信息采集装置的分辨率为33微米,相邻两个字符之间的字符间距为1毫米,则字符分割系统100可以将距离阈值确定为大于33微米且小于1毫米的值(例如,100微米)。
64.在一些实施例中,距离阈值的取值范围包括50微米~1毫米。在一些实施例中,距离阈值的取值范围可以包括50微米~800微米。在一些实施例中,距离阈值的取值范围可以包括100微米~700微米。在一些实施例中,距离阈值的取值范围可以包括200微米~600微米。在一些实施例中,距离阈值的取值范围可以包括100微米~500微米。在一些实施例中,距离阈值的取值范围可以包括500微米~1毫米。在一些实施例中,距离阈值的取值范围可以包括600微米~800微米。在一些实施例中,在三维空间上寻找关联点云数据的距离阈值与在二维平面上寻找关联投影点的距离阈值可以相同,也可以不同。在一些实施例中,在二维平面上寻找关联投影点的距离阈值可以比三维空间上寻找关联点云数据的距离阈值小10%。
65.步骤240,基于所述关联点云数据与所述初始点云数据,确定一个字符的点云数据。在一些实施例中,步骤240可以由字符分割模块140执行。
66.在一些实施例中,字符分割系统100可以把初始点云数据以及与之关联的关联点云数据(包括第一关联点云数据、第二关联点云数据、
……
、第n关联点云数据、最终关联点云数据)确定为一个字符的点云数据。仍以图3为例,单个字符“1”的点云数据可以包括初始点云数据1011,第一关联点云数据1012、1013,第二关联点云数据1014、1016、1017及第三关联点云数据1015。
67.在一些实施例中,字符分割系统100也可以把初始点云数据的投影点,以及与之关联的关联投影点(包括第一关联投影点、第二关联投影点、
……
、第n关联投影点、最终关联投影点)确定为一个三维字符的点云数据。在一些实施例中,字符分割系统100可以将初始点云数据及关联投影点对应的点云数据作为一个单个字符的点云数据。
68.在一些实施例中,步骤240中确定一个字符的点云数据还可以理解为判断关联点云数据是否为一个字符的过程。其中,该判断过程包括两个部分,判断是否与字符对应以及判断其是否只与一个字符对应。当关联点云数据只与一个字符对应时,提取该字符的点云数据并继续识别下一字符的点云数据。
69.在一些实施例中,可以通过分析点云数据的形状确定,判断关联点云数据是否与字符对应、是否只与一个字符对应。例如,在进行字符分割前可以获取待分割字符的三维字
符的表现形态有相关的信息(例如,大小信息),然后基于关联点云数据的整体范围与实际三维字符的大小确定关联点云数据是否只与一个点云数据对应。在一些实施例中,当关联点云数据不与字符对应时,可以将关联点云数据视为干扰源,从点云数据中删除,并继续识别。在一些实施例中,当关联点云数据不与字符对应时且后续分割结果仍不与字符对应时,字符分割系统100可以提醒用户当前参数错误或自适应地调节距离阈值,一些实施例中,当关联点云数据不与字符对应时,字符分割系统100可以提醒用户当前参数无法分割或将其存储于待用户手动识别的数据库中。在一些实施例中,当关联点云数据与多个字符对应时,字符分割系统100可以自动调整距离阈值,例如按比例调低距离阈值以使字符分割系统100分割出独立的字符。
70.在一些实施例中,确定一个字符后,可以对剩余字符进行分割;即在步骤240后,本技术提供的基于点云数据的字符分割方法还可以包括步骤250。
71.如图2所示,步骤250,在所述三维字符的点云数据中提取所述一个字符的点云数据,确定所述三维字符的剩余点云数据,并确定剩余点云数据中单个字符的点云数据。在一些实施例中,步骤250可以由迭代识别模块150执行。
72.在一些实施例中,确定了一个单个字符的点云数据后,字符分割系统100可以从三维字符的点云数据中提取该单个字符的点云数据,将剩下的点云数据作为剩余点云数据。例如,三维字符由两个单个字符组成,字符“1”及字符“2”,三维字符的点云数据包括100个点云数据1-100,并依次编号为1-100,其中,字符分割系统100确定字符“1”的点云数据包括点云数据1-2,则字符分割系统100可以从三维字符的点云数据中提取点云数据1-2,并将剩余的点云数据3-100作为剩余点云数据。
73.在一些实施例中,对于确定剩余点云数据中单个字符的点云数据,字符分割系统100可以参照步骤220-240,即,从剩余点云数据中获取至少一个初始点云数据;基于剩余点云数据中的初始点云数据以及距离阈值,在剩余点云数据中确定关联点云数据;基于剩余点云数据中的关联点云数据与初始点云数据,确定剩余点云数据中一个单个字符的点云数据。在一些实施例中,每提取一次单个字符的点云数据之后,字符分割系统100可以判断三维字符中的每个单个字符的点云数据是否均被确定,若每个单个字符的点云数据不是均被确定,则需要继续确定三维字符的剩余点云数据,并确定剩余点云数据中单个字符的点云数据;若每个单个字符的点云数据均被确定,则无需继续确定剩余点云数据中单个字符的点云数据。
74.在一些实施例中,字符分割系统100可以根据剩余点云数据是否小于预设阈值判断三维字符中的每个单个字符的点云数据是否均被确定。例如,三维字符由两个单个字符组成,字符“1”、“2”,三维字符的点云数据包括100个点云数据1-60,并依次编号为1-60,字符分割系统100确定字符“1”的点云数据包括点云数据1-30后,从三维字符的点云数据中提取点云数据1-30,并将剩余的点云数据31-60作为剩余点云数据,字符分割系统100判断剩余点云数据的数量(即,30个)大于预设阈值(例如,10个),则字符分割系统100判断三维字符中的每个单个字符的点云数据未被确定,需要从剩余点云数据中获取至少一个初始点云数据,基于剩余点云数据中的初始点云数据以及距离阈值,在剩余点云数据中确定关联点云数据;基于剩余点云数据中的关联点云数据与初始点云数据,确定剩余点云数据中字符“2”的点云数据为点云数据31-55,字符分割系统100从点云数据31-60中提取字符“2”的点
云数据31-55,并将剩余的点云数据56-60作为剩余点云数据,字符分割系统100判断剩余点云数据的数量(即,5个)小于预设阈值(例如,10个),则字符分割系统100判断三维字符中的每个单个字符的点云数据均被确定,则不需要从剩余点云数据(即56-60)中继续获取初始点云数据,确定剩余点云数据中一个字符的点云数据,三维字符识别模块220可以根据分割后的单个字符的点云数据来进行后续的字符识别。
75.在一些实施例中,每提取一次单个字符的点云数据之后,字符分割系统100可以根据提取的单个字符的数量是否满足预设条件判断三维字符中的每个单个字符的点云数据是否均被确定。更进一步地,字符分割系统100可以根据已提取的单个字符的数量与预设数量相等,判断三维字符中的每个单个字符的点云数据是否均被确定。在一些实施例中,对于由多行字符组成的三维字符,字符分割系统100还可以确定三维字符的行字符。在一些实施例中,字符分割系统100可以获取三维字符的行列信息,确定三维字符的点云数据中所有单个字符的点云数据后,基于行列信息确定三维字符的行字符。其中,行列信息可以用于表征三维字符中字符的排列的信息。在一些实施例中,行列信息可以包括行排列方向、列排列方向、每行单个字符的数量、每列单个字符的数量等中的一个或多个。在一些实施例中,字符分割系统100可以将任意一条平行或近似平行于三维字符的高度方向的直线作为列排列方向,其中,近似平行是指列排列方向与三维字符的高度方向之间的夹角范围包括170
°
~180
°
。在一些实施例中,字符分割系统100可以将任意一条平行或近似平行于三维字符的长度方向的直线作为行排列方向,其中,近似平行是指行排列方向与三维字符的长度方向之间的夹角范围包括170
°
~180
°

76.在一些实施例中,存储设备可以预存有行列信息,字符分割系统100可以通过网络从存储设备中获取行列信息。在另一些实施例中,字符分割系统还可以通过网络从终端设备获取行列信息。
77.在一些实施例中,字符分割系统100可以基于行排列方向或列排列方向确定三维字符的行字符。更进一步地,字符分割系统100可以基于每个单个字符的点云数据及行排列方向或列排列方向确定三维字符的行字符。在一些实施例中,字符分割系统100可以基于每个单个字符的点云数据计算每个单个字符的重心,并基于每个单个字符的重心、及行排列方向或列排列方向确定三维字符的行字符,其中,单个字符的重心可以用于表征单个字符的点云数据的坐标均值。在一些实施例中,字符分割系统100可以基于单个字符的点云数据的坐标计算该单个字符的重心。更进一步地,字符分割系统100可以基于单个字符的点云数据在各坐标轴的均值计算该单个字符的重心。例如,单个字符包括3个点云数据,该3个点云数据对应的坐标分别为(1,1,1)、(1,2,1)、(1,3,1),则字符分割系统100可以该单个字符的重心在x轴的值为(1 1 1)/3=1,该单个字符的重心在y轴的值为(1 2 3)/3=2,该单个字符的重心在z轴的值为(1 1 1)/3=1,则该单个字符的重心的坐标为(1,2,1)。在一些实施例中,字符分割系统100可以判断两个单个字符的重心的连线是否平行或近似平行于行排列方向确定行字符,其中,近似平行是两个单个字符的重心的连线与行排列方向之间的夹角范围包括170
°
~180
°
。例如,两个单个字符的重心的连线与行排列方向之间的夹角为175
°
,则可以判断该两个单个字符属于同一行。在一些实施例中,字符分割系统100可以判断两个单个字符的重心的连线是否平行或近似垂直于列排列方向确定行字符,其中,近似垂直是两个单个字符的重心的连线与列排列方向之间的夹角范围包括80
°
~100
°
。例如,两
个单个字符的重心的连线与列排列方向之间的夹角为85
°
,则可以判断该两个单个字符属于同一行。
78.在一些实施例中,也可以用训练好的机器学习模型来识别分割后的单个字符的点云数据。
79.在一些实施例中,分割后的三维字符的点云数据可以作为训练样本,积累一定数量的样本之后可以进行模型训练。在模型的训练过程中,可以将分割后的单个字符的点云数据作为样本数据,并对点云数据进行标记,并把标记结果作为标签(例如,单个字符的点云数据对应的字符含义)。然后把单个字符的点云数据作为输入数据,该单个字符对应的标签作为输出数据,输入初始机器学习模型进行训练,训练好的机器学习模型可以用于识别三维字符的点云数据的字符含义。
80.根据前述内容可知,本说明书一些实施例可能带来的有益效果包括但不限于:
81.(1)可以将云数据拆分为单个字符的点云数据,消除了字符间的干扰提高了识别的精度。(2)通过确定分割出的点云数据是否为三维字符可以避免分割错误造成的识别问题。(3)通过字符分割出来的单个字符的点云数据还可以用于机器学习模型的训练,训练好的机器学习模型可以用于识别三维字符的点云数据的字符含义。(4)通过距离阈值寻找初始点云数据的关联点云数据,并最终把初始点云数据以及关联点云数据作为单个字符的点云数据,可以提高字符分割的准确性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
82.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
83.同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
84.此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
85.同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
86.一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
87.针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
88.最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献