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

一种三维字符的识别方法和系统与流程

2022-03-09 07:57:42 来源:中国专利 TAG:


1.本技术涉及字符识别领域,特别涉及一种三维字符的识别方法以及系统。


背景技术:

2.许多工件表面存在加工出来的三维字符,这些字符可以用于表示一些信息,例如,工件的生产日期、生产批次及身份信息等。这些信息可以对生产、生活提供帮助。
3.因此,需要提供一种三维字符的识别方法以及系统对三维字符,用于准确识别三维字符。


技术实现要素:

4.本说明书实施例之一提供一种三维字符的识别方法,包括:获取三维字符的深度信息;基于所述深度信息识别所述三维字符。
5.在一些实施例中,所述深度信息包括点云数据,所述获取三维字符的深度信息包括:获取所述三维字符的点云数据;所述基于所述深度信息识别所述三维字符包括:基于所述三维字符的点云数据识别所述三维字符。
6.在一些实施例中,所述三维字符的识别结果包括与所述三维字符的深度信息对应的二维图像和/或与所述三维字符对应的字符含义。
7.在一些实施例中,所述基于所述深度信息识别三维字符包括:基于所述三维字符的点云数据确定对应的二维图像。
8.在一些实施例中,所述方法还包括:基于所述二维图像确定所述三维字符的字符含义。
9.在一些实施例中,所述基于所述二维图像确定所述三维字符的字符含义包括:利用预设的字符识别算法对所述二维图像进行识别,以确定所述三维字符的字符含义。
10.在一些实施例中,所述获取三维字符的深度信息包括:获取所述三维字符在不同角度的多张二维图像;基于所述多张二维图像重建所述三维字符的深度信息。
11.在一些实施例中,所述三维字符的类型包括字母、数字、文字、二维码以及条形码中至少一种。
12.在一些实施例中,所述三维字符包括两个以上字符,所述基于所述三维字符的点云数据识别所述三维字符包括:基于所述三维字符的点云数据对所述三维字符进行分割,得到分割后的三维字符的点云数据。
13.在一些实施例中,所述基于所述三维字符的点云数据识别所述三维字符还包括:基于分割后的三维字符的点云数据确定对应的字符轮廓。
14.在一些实施例中,所述基于分割后的三维字符的点云数据确定对应的字符轮廓包括:基于分割后的三维字符的点云数据确定参考基面;将所述分割后的三维字符的点云数据投影至所述参考基面;基于投影结果确定所述分割后的三维字符的字符轮廓。
15.在一些实施例中,所述基于分割后的三维字符确定参考基面包括:基于预设算法
在所述分割后的字符的厚度方向确定所述参考基面。
16.在一些实施例中,所述三维字符包括至少一个字符,所述基于所述三维字符的点云数据识别所述三维字符包括:基于所述三维字符确定参考基面;将所述三维字符投影至所述参考基面;基于投影结果确定所述三维字符的字符轮廓。
17.在一些实施例中,所述基于所述三维字符确定参考基面包括:基于预设算法在所述三维字符的厚度方向确定所述参考基面。
18.在一些实施例中,所述三维字符包括至少一个字符,所述基于所述三维字符的点云数据识别所述三维字符包括:基于所述三维字符的点云数据确定参考基面;将所述三维字符的点云数据投影至所述参考基面;基于投影结果确定所述三维字符的字符轮廓。
19.在一些实施例中,所述基于所述三维字符确定参考基面包括:基于预设算法以及所述三维字符的点云数据确定所述参考基面。在一些实施例中,所述预设算法包括最小二乘法或切比雪夫算法。
20.在一些实施例中,所述基于所述三维字符的点云数据识别所述三维字符方法还包括:基于所述三维字符的字符轮廓的识别结果确定对应的二维图像。
21.在一些实施例中,所述二维图像为二值化图像;所述基于所述三维字符的字符轮廓的识别结果确定对应的二维图像包括:将所述三维字符的字符轮廓对应的点标记为0;将三维字符以外的背景对应的点标记为1;或者,将所述三维字符的字符轮廓对应的点标记为1;将三维字符以外的背景对应的点标记为0。
22.在一些实施例中,所述二维图像涉及的颜色包括字符颜色和背景颜色,所述字符颜色与所述背景颜色的其中一个是黑色,另一个是白色;或者,所述字符颜色与所述背景颜色的其中一个是红色,另一个是蓝色。
23.在一些实施例中,所述基于所述三维字符的点云数据识别所述三维字符包括:对所述三维字符的点云数据进行处理,生成至少一个新增点云数据;基于所述新增点云数据以及所述三维字符的点云数据,确定所述三维字符的轮廓。
24.在一些实施例中,所述基于所述新增点云数据以及所述三维字符的点云数据,确定所述三维字符的轮廓包括:基于所述新增点云数据以及所述三维字符的点云数据,确定对应的投影数据;基于所述投影数据确定所述三维字符的字符轮廓。
25.在一些实施例中,所述对所述三维字符的点云数据进行处理,生成至少一个新增点云数据包括:获取分割后的单个字符的点云数据中任意两个点云数据的位置信息;基于所述任意两个点云数据的位置信息,在所述两个点云数据之间生成新增点云数据。
26.在一些实施例中,所述对所述三维字符的点云数据进行处理,生成至少一个新增点云数据包括:获取三维字符的点云数据中相邻两个点云数据的位置信息;基于所述相邻两个点云数据的位置信息,在所述相邻两个点云数据之间生成新增点云数据。
27.在一些实施例中,所述获取三维字符的点云数据中相邻两个点云数据的位置信息包括:从所述三维字符的点云数据中获取至少一个点云数据的位置信息,以作为初始点云数据的位置信息;基于所述初始点云数据的位置信息以及距离阈值,确定与所述初始点云数据相邻的临近点云数据的位置信息。
28.在一些实施例中,所述三维字符的点云数据通过字符信息采集装置获取,所述距离阈值大于所述字符信息采集装置的分辨率;所述分辨率用于反映所述字符信息采集装置
采集到的点云数据中相邻两个点之间的距离。
29.在一些实施例中,在两个点云数据之间生成新增点云数据包括:基于插值算法在两个点云数据之间生成新增点云数据。
30.本说明书实施例之一提供一种三维字符的识别系统,包括:深度信息获取模块,用于获取三维字符的深度信息;三维字符识别模块,用于基于所述深度信息识别所述三维字符。
31.本说明书实施例之一提供一种三维字符的识别系统装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述装置实现如本说明书实施例提供的所述三维字符的识别方法对应的操作。
32.本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行如本说明书实施例提供的所述三维字符的识别方法。
附图说明
33.本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
34.图1是根据本技术的一些实施例所示的三维字符的识别系统的应用场景示意图;
35.图2是根据本技术的一些实施例所示的一种三维字符的识别系统的示例性框图;
36.图3是根据本技术的一些实施例所示的一种三维字符的识别方法的示例性流程图;
37.图4是根据本技术的一些实施例所示的基于三维字符的点云数据识别三维字符的示例性流程图;
38.图5是根据本技术的一些实施例所示的基于分割后的三维字符的点云数据进行字符识别的示例性流程图;
39.图6是根据本技术的一些实施例所示的基于分割后的三维字符的点云数据确定对应的字符轮廓的示例性流程图。
具体实施方式
40.为了更清楚地说明本技术的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。应当理解,给出这些示例性的实施例仅仅是为了使相关领域的技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
41.应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
42.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一
种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
43.虽然本技术对根据本技术的实施例的系统中的某些模块或单元做出了各种引用,然而,任何数量的不同模块或单元可以被使用并运行在客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
44.本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
45.本说明书一个或多个实施例提供了一种三维字符的识别系统和识别方法,用于识别工件表面的三维字符。在一些实施例中,三维字符可以为在工件表面上的凸出和/或凹陷的字符。工件表面可以为平面或曲面。字符可以为文字、数字、图案、字符串、二维码、条形码等中的至少一种或其组合。例如,压印在液化气缸瓶上的标识编码、饮料瓶上的喷码、机械加工工件上通过冲头或激光加工出的字符串等。还例如,银行卡的卡号、电机外壳的铭牌上的钢印等。还例如,金属零件上的凹凸字符,示例地,航空发动机上的关键零部件上的凹凸字符、汽车发动机的关键零部件上的凹凸字符等。在一些实施例中,可以通过二维相机拍摄三维字符的图像,然后通过字符识别算法对该图像进行处理,以对三维字符进行识别。在一些实施例中,也可以识别三维字符的深度信息,然后基于深度信息识别三维字符。
46.在一些实施例中,为减低字符识别过程的计算量,可以基于三维字符的二维投影对三维字符进行识别,由此,降低了识别过程中参数的维度,提高了计算效率。此外,三维字符的二维投影消除了点云数据的深度信息,进而降低了各个点云数据的距离,避免了同一字符的点云数据因距离过远在分割字符的过程中被舍弃,例如,三维字符边缘的点云数据可能在高度上存在差异,从而导致边缘的空间距离较大,而投影后,消除了高度差异,可以避免了三维字符边缘的点云数据因距离过远在分割字符的过程中被舍弃。
47.三维字符往往通过浮雕、压印等方式呈现在工件表面,三维字符的边缘与工件表面可能没有清晰的分割边缘,例如,三维字符的边缘到工件表面存在一定的坡度。对于这种三维字符直接获取三维字符的点云数据,可能因为三维字符与工件表面的边界不清晰从而导致识别错误,例如,在选取距离工件表面预设高度的点云数据作为三维点云数据时,三维字符的边缘数据可能因为坡度的影响而不被记入三维字符的点云数据中,进而在后续识别过程中可能出现三维字符边缘的缺失。基于此,本技术提供的三维字符的识别系统和识别方法,在对三维字符的点云数据进行投影时,可以根据三维字符的轮廓对点云数据进行补充,以使三维字符的轮廓完整,从而提高本技术识别的精度。
48.图1是根据本技术一些实施例所示的三维字符的识别系统的应用场景示意图。
49.如图1所示,三维字符的识别系统100可以包括处理设备110、网络120、字符信息采集装置130、终端设备140和存储设备150。
50.在一些实施例中,三维字符的识别系统100中三维字符的识别结果可以对生产、生活提供帮助。在一些实施例中,三维字符的识别系统100可以应用于工件的生产管理设备(例如,工件运输管理设备、仓储管理设备等)中,进行工件的生产管理。例如,三维字符的识
别系统100可以应用于仓储管理设备中,用于识别压印在工件上三维字符,该三维字符对应有工件的合格信息,三维字符的识别系统100识别该三维字符对应的工件的合格信息,判断该工件是否为合格生产,仓储管理设备根据三维字符的识别系统100的判断结果判断是否将该工件进行存储。又例如,三维字符的识别系统100可以应用于工件运输管理设备中,用于识别喷涂在工件上的三维字符,该三维字符对应有工件的生产批次信息,三维字符的识别系统100识别该三维字符对应的工件的生产批次信息,判断该工件是否为需要运输的工件,工件运输管理设备根据三维字符的识别系统100的判断结果判断是否对该工件进行运输。
51.在一些实施例中,三维字符的识别系统100可以应用于金属零件识别设备中。例如,三维字符的识别系统100可以应用于航空发动机的关键零部件识别设备中,用于对加工在航空发动机的关键零部件(例如,发动机叶片、轴承等)表面上三维字符进行识别,获取航空发动机的关键零部件的相关信息(例如,型号、编号等)。又例如,三维字符的识别系统100可以应用于汽车发动机的关键零部件识别设备中,用于对加工在汽车发动机的关键零部件(例如,高压燃油泵、气门弹簧、凸轮轴等)表面上三维字符进行识别,获取汽车发动机的关键零部件的相关信息(例如,型号、编号等)。
52.在一些实施例中,三维字符的识别系统100可以应用于身份验证设备(例如,银行卡账号识别设备、考勤设备、权限验证设备等)中,用于身份信息验证。例如,三维字符的识别系统100可以应用于银行卡账号识别设备中,用于识别银行卡上的三维字符,该三维字符对应有用户的银行卡账号。进一步的,银行卡账号识别设备可以根据三维字符的识别系统100识别的三维字符对应的银行卡账号,判断该银行卡账号是否合法。又例如,三维字符的识别系统100可以应用于考勤设备中,用于识别员工的工牌上的三维字符,该三维字符对应有员工身份信息。进一步的,考勤设备可以根据三维字符的识别系统100的识别的该三维字符对应的员工身份信息,更新存储设备150中的员工数据并记录该三维字符的识别系统100识别三维字符的当前时刻将其作为该员工的考勤信息。又例如,三维字符的识别系统100可以应用于权限验证设备中,用于识别电子设备上的三维字符,该三维字符对应有电子设备权限信息。进一步的,权限验证设备可以根据三维字符的识别系统100识别的三维字符对应的电子设备权限信息,判断是否许可该电子设备本身的开关机、进入系统、下载软件等操作请求以及其中应用程序的使用权限。需要注意的是,三维字符的识别系统100还可以应用在其它需要进行三维字符识别的设备、场景和应用程序中,在此不作限定,任何可以使用本技术所包含的身份确认方法的设备、场景和/或应用程序都在本技术的保护范围内。
53.在一些实施例中,处理设备110可以用于处理与三维字符识别相关的信息和/或数据。例如,处理设备110可以基于字符信息采集装置130获取的三维字符的信息确定三维字符的深度信息,并基于三维字符的深度信息识别三维字符。在一些实施例中,处理设备110识别三维字符的结果可以为与三维字符的深度信息对应的二维图像。例如,处理设备110可以基于三维字符的深度信息确定三维字符的深度信息对应的二维图像。在另一些实施例中,处理设备110识别三维字符的结果还可以为与三维字符对应的字符含义。例如,处理设备110可以通过机器学习模型基于三维字符的深度信息确定三维字符的含义。示例性的,机器学习模型可以包括但不限于深度神经网络模型、循环神经网络模型、自定义的模型结构等。又例如,处理设备110可以基于三维字符的深度信息确定对应的二维图像,并基于三维
字符的深度信息对应的二维图像识别三维字符的字符含义。
54.在一些实施例中,处理设备110可以是区域的或者远程的。例如,处理设备110可以通过网络120访问存储于字符信息采集装置130、终端设备140中的信息和/或资料。在一些实施例中,处理设备110可以直接与字符信息采集装置130、终端设备140连接以访问存储于其中的信息和/或资料。例如,处理设备110可以位于字符信息采集装置130中或与字符信息采集装置130直接连接。
55.在一些实施例中,处理设备110可以包含处理器。该处理器可以处理与三维字符识别有关的数据和/或信息以执行一个或多个本技术中描述的功能。例如,处理器可以接收字符信息采集装置130或终端设备140发送的三维字符识别请求信号,向字符信息采集装置130发送控制指令。又例如,处理器可以获取字符信息采集装置130采集的三维字符的图像,基于三维字符的深度信息识别三维字符后,向终端设备140发送三维字符的识别结果。
56.网络120可促进三维字符的识别系统100中数据和/或信息的交换。在一些实施例中,三维字符的识别系统100中的一个或多个组件(例如,处理设备110、字符信息采集装置130、终端设备140)可以通过网络120发送数据和/或信息给三维字符的识别系统100中的其他组件。例如,字符信息采集装置130获取的三维字符的信息可以通过网络120传输至处理设备110。又例如,处理设备110中关于三维字符的识别结果可以通过网络120传输至终端设备140。
57.字符信息采集装置130用于采集三维字符的相关信息。在一些实施例中,字符信息采集装置130可以获取三维字符的深度信息和/或二维图像深度信息。在一些实施例中,字符信息采集装置可以包括摄像装置和光源。光源可以用于照射光信息至工件上的凹凸字符,摄像装置可以用于采集照射到三维字符上的光信号。
58.在一些实施例中,摄像装置可以包括深度摄像头和/或平面摄像头。深度摄像头用于采集三维字符的深度信息。平面摄像头用于采集三维字符的二维图像。在一些实施例中,深度摄像头可以包括对三维字符的空间三维信息进行扫描以获取三维字符表面的位置信息深度信息(例如,点云数据)的传感器。例如,通过白光干涉对三维字符进行空间扫描的传感器。又例如,通过白光共焦对三维字符进行空间扫描的传感器。又例如,由投影仪投射特定的光信息(例如,纵横交错的激光线条、黑白方格、圆环等)到三维字符的结构光相机。在一些实施例中,深度摄像头还可以包括双目摄像机、tof(time of fight camera)相机等。在一些实施例中,字符信息采集装置130可以通过平面摄像头从不同角度采集三维字符的二维图像,然后对不同角度的二维图像进行图像处理,重建出三维字符对应的深度信息。在一些实施例中,平面摄像头可以包括黑白相机、彩色相机、扫描仪等或其任意组合。
59.在一些实施例中,光源可以投影光信息至三维字符及工件表面,以使得深度摄像头和/或平面摄像头能够获取到三维字符的信息。在一些实施例中,光源可以包括可见光光源,可见光光源可以用于投影人眼可见的光,可见光光源可以包括单色光光源及复合光光源,单色光光源可以用于单一频率(或波长)的光(例如,红光、橙光、黄光、绿光、蓝光、紫光等),复合光光源用于投影由不同频率(或波长)的单色光所混合而成的光。例如,白炽灯的光源、日光灯的光源等。在一些实施例中,光源还可以包括不可见光光源,不可见光光源可以用于投影人眼不可见的光(例如,无线电波、微波、红外光、紫外光、x射线、γ射线、远红外线等)。在一些实施例中,光源的个数可以包括一个或多个。例如,光源的个数可以是1~6。
还例如,光源的个数可以是2~4。还例如,光源的个数为2个或4个。在一些实施例中,光源可以包括单色光,也可以包括复合光。在一些实施例中,多个光源的颜色可以相同,也可以不同。
60.在一些实施例中,字符信息采集装置130可以安装在某一固定设备上,也可以安装在某一移动设备上。例如,字符信息采集装置130还可以包括固定安装在不同位置的多个摄像头,字符信息采集装置130可以通过安装在不同位置的多个摄像头以获取三维字符在不同角度的多张二维图像。又例如,字符信息采集装置130还可以安装在拍摄角度调整件(例如,机械臂、手柄等)上,字符信息采集装置130可以控制拍摄角度调整件带动字符信息采集装置130移动,使得字符信息采集装置130可以在不同角度获取三维字符的二维图像。
61.在一些实施例中,用于安装字符信息采集装置130的移动设备还可以包括可穿戴装置、工业加工装置、虚拟实境装置、增强实境装置等或其任意组合。在一些实施例中,可穿戴装置可以包括智能手环、智能眼镜、智能头盔等或其任意组合。在一些实施例中,工业加工装置可以包括机械臂、工业机器人、agv(automated guided vehicle)小车、机床等或其任意组合。在一些实施例中,虚拟实境装置和/或增强实境装置可以包括虚拟实境头盔、虚拟实境眼镜、虚拟实境眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等或以上任意组合。例如,字符信息采集装置130可以安装在ar眼镜上,用户佩戴ar眼镜时,ar眼镜上的字符信息采集装置130对工件上的三维字符进行信息采集,并通过处理设备110对三维字符信息的处理,进而可以对三维字符进行识别。处理设备110可以直接将识别结果输出至ar眼镜的显示屏上。处理设备110还可以调取与识别结果相对应的工件信息(例如,与该工件上凹凸字符标记对应的工件信息介绍)在ar眼镜的显示屏上进行显示。
62.在一些实施例中,终端设备140可以输入和/或输出相关信息或数据。在一些实施例中,用户可以通过终端设备140获取处理设备110识别三维字符的结果。例如,用户可以通过终端设备140查看处理设备110识别的与三维字符对应的二维图像。在一些实施例中,终端设备140的输出方式可以是显示输出,也可以是语音输出。例如,终端设备140可以采用语音播报的方式向用户提示处理设备110识别的三维字符对应的字符含义。又例如,终端设备140可以通过显示屏输出三维字符的字符含义和/或三维字符对应的二维图像。在一些实施例中,终端设备140可以与处理设备110通过网络120连接(例如,有线连接,无线连接),用户可以通过终端设备140获取处理设备110识别三维字符的结果,该识别三维字符的结果可通过处理设备110传输至终端设备140。在一些实施例中,用户可以通过终端设备140设置字符信息采集装置130的图像获取参数。字符信息采集装置130的图像获取参数可以包括光源颜色参数、摄像头位置参数、摄像头拍摄角度参数等。例如,终端设备140可以与字符信息采集装置130通过网络120连接(例如,有线连接,无线连接),终端设备140可以上传图像获取参数至图像信息获取装置130。在一些实施例中,图像获取参数可以由用户手动输入至终端设备140。在另一些实施例中,图像获取参数还可以由终端设备140基于字符信息采集装置130发送的推送消息生成。例如,终端设备140从字符信息采集装置130获取的推送消息包括三维字符所在工件表面的颜色(例如,蓝色等),终端设备140基于该推送消息生成图像参数获取信息:光源颜色(例如,红色、白色或其他与工件表面颜色不一致的颜色等)。还例如,终端设备140从字符信息采集装置130获取的推送消息包括:工件表面与光源间的间距为5cm,终端设备140基于该推送消息生成图像参数获取信息:将工件所在高度降低5cm。在一些实施
例中,终端设备140可以是带有数据获取、存储和/或发送功能的便携式设备,例如,智能手机140-1、平板电脑140-2、笔记本电脑140-3、智能摄像头等或其任意组合。
63.存储设备150可以存储资料(例如,三维字符的点云数据、三维字符对应的字符含义等)和/或指令(例如,基于三维字符的深度信息识别三维字符的指令、基于三维字符在不同角度的多张二维图像重建三维字符的深度信息的指令等)。在一些实施例中,存储设备150可以存储从字符信息采集装置130和/或终端设备140获取的资料(例如,关于字符信息采集装置130的推送信息、图像获取参数等)。在一些实施例中,存储设备150可以存储供处理设备110执行或使用的信息和/或指令,以执行本技术中描述的示例性的方法。例如,处理设备110可以根据存储设备150存储的指令基于三维字符的三维点云数据重建三维字符的深度信息,处理设备110基于该三维字符的深度信息确定该三维字符的字符含义为由多个数字组成的“11011”。
64.在一些实施例中,存储设备150可以与网络120连接以实现与三维字符的识别系统100的一个或多个组件(例如,处理设备110、字符信息采集装置130、终端设备140等)通讯。三维字符的识别系统100的一个或多个组件可以通过网络120访问存储于存储设备150中的资料或指令。在一些实施例中,存储设备150可以直接与三维字符的识别系统100中的一个或多个组件(如,处理设备110、字符信息采集装置130、终端设备140)连接或通讯。在一些实施例中,存储设备150可以是处理设备110的一部分。在一些实施例中,处理设备110可以与字符信息采集装置130独立设置。在一些实施例中,处理设备110还可以位于字符信息采集装置130或终端设备140中。
65.应该注意的是,上述描述仅出于说明性目的而提供,并不旨在限制本技术的范围。对于本领域普通技术人员而言,在本技术内容的指导下,可做出多种变化和修改。可以以各种方式组合本技术描述的示例性的实施例的特征、结构、方法和其他特征,以获得另外的和/或替代的示例性的实施例。
66.图2是根据本技术的一些实施例所示的一种三维字符的识别系统的示例性框图。
67.如图2所示,在一些实施例中,一种三维字符的识别系统200可以包括深度信息获取模块210、三维字符识别模块220、工件信息获取模块230及光源颜色确定模块240。
68.深度信息获取模块210可以用于获取三维字符的深度信息。在一些实施例中,深度信息获取模块210可以基于字符信息采集装置130获取的三维字符的信息确定三维字符的深度信息。在一些实施例中,字符信息采集装置130获取的三维字符的信息可以为三维字符的深度信息。例如,字符信息采集装置130可以通过深度摄像头对三维字符的空间三维信息进行扫描,以获取三维字符表面的位置信息(例如,整体点云数据),深度信息获取模块210可以对字符信息采集装置130获取的深度信息进行处理,获取三维字符的深度信息。例如,深度信息获取模块210可以对字符信息采集装置130获取的整体点云数据进行分割,获取三维字符的点云数据。其中,整体点云数据包括工件表面的三维点云数据及三维字符的点云数据。在一些实施例中,字符信息采集装置130获取的三维字符的信息可以为三维字符在不同角度的多张二维图像。信息处理装置可以对多张二维图像进行图像重建,以确定三维字符的深度信息(例如,能够体现三维字符表面若干点位置的点云数据)。在一些实施例中,信息处理装置可以是字符信息采集装置130的一部分,深度信息获取模块210也可以直接从信息处理装置处获取三维字符的深度信息。在一些实施例中,信息处理装置是独立于字符信
息采集装置130的部分,深度信息获取模块210从字符信息采集装置130处获取到多张二维图像后,还需要对其进行图像重建,以确定出三维字符的深度信息。
69.在另一些实施例中,深度信息获取模块210可以获取三维字符在不同角度的多张二维图像,并基于多张二维图像重建三维字符的深度信息,例如,深度信息获取模块210可以对多张二维图像进行图像重建,以确定三维字符的深度信息(例如,能够体现三维字符表面若干点位置的点云数据)。在一些实施例中,深度信息获取模块210可以通过字符信息采集装置130获取三维字符在不同角度的多张二维图像。
70.三维字符识别模块220可以用于基于深度信息识别三维字符。在一些实施例中,三维字符识别模块220识别三维字符的结果可以为三维字符对应的二维图像或三维字符对应的字符含义。在一些实施例中,三维字符识别模块220可以直接基于三维字符的深度信息确定三维字符对应的二维图像或字符含义。例如,三维字符识别模块220还可以直接基于预设算法对三维字符的深度信息进行处理,以确定识别结果(例如,三维字符对应的二维图像或三维字符对应的字符含义)。在一些实施例中,三维字符识别模块220还可以先基于三维字符的深度信息确定三维字符对应的二维图像,再像利用字符识别算法对该二维图像进行识别,以确定三维字符对应的字符含义。
71.在一些实施例中,三维字符的深度信息包括点云数据,三维字符识别模块220还可以基于三维字符的点云数据识别三维字符。在一些实施例中,三维字符识别模块220可以直接基于三维字符的点云数据确定三维字符对应的二维图像或字符含义。例如,三维字符识别模块220还可以直接基于预设算法对三维字符的点云数据进行处理,以确定识别结果(例如,三维字符对应的二维图像或三维字符对应的字符含义)。还例如,三维字符识别模块220可以基于预设算法(例如,最小二乘法或切比雪夫算法等)在三维字符的厚度方向确定参考基面,将三维字符的点云数据投影至参考基面,基于投影结果确定三维字符的字符轮廓,并基于三维字符的字符轮廓确定对应的二维图像。在一些实施例中,三维字符识别模块220还可以先基于三维字符的点云数据确定三维字符对应的二维图像,再像利用字符识别算法对该二维图像进行识别,以确定三维字符对应的字符含义。
72.在一些实施例中,为了使得后续对于二维图像中的字符进行识别的识别方法更加简单,对于包含两个以上字符的三维字符,三维字符识别模块220还可以基于三维字符的点云数据对三维字符进行分割,基于分割后的点云数据对三维字符进行识别。在一些实施例中,三维字符识别模块220可以进一步包括字符分割单元221、字符寻边单元222及二维图像确定单元223。
73.字符分割单元221可以用于基于三维字符的点云数据对三维字符进行分割,得到分割后的三维字符的点云数据。在一些实施例中,字符分割单元221可以通过聚类算法和/或投影算法得到分割后的三维字符的点云数据。
74.在一些实施例中,对于包含有多行字符的三维字符,字符分割单元221可以将包含有多行的三维字符分割为多个单行字符。例如,字符分割单元221可以沿着平行于三维字符的高度方向确定参考基线,字符分割单元221将三维字符的点云数据投影至参考基线上,并基于投影结果确定每相邻的两个单行字符之间的分割界限,基于分割界限将包含有多行的三维字符分割为多个单行字符。在一些实施例中,对于包含有多个单个字符的单行三维字符,字符分割单元221可以将包含有多个单个字符的单行三维字符分割为多个单个字符。例
如,字符分割单元221可以沿着平行于单行三维字符的长度方向确定参考基线,字符分割单元221将包含有多个单个字符的单行三维字符的点云数据投影至参考基线上,并基于投影结果确定每相邻的两个单个字符之间的分割界限,基于分割界限将包含有多个单个字符的单行三维字符分割为多个单个字符。
75.字符寻边单元222可以用于基于分割后的单个字符的三维字符的点云数据确定对应的字符轮廓。在一些实施例中,字符寻边单元222可以基于分割后的三维字符的点云数据确定参考基面,将分割后的三维字符的点云数据投影至参考基面;基于投影结果确定分割后的三维字符的字符轮廓。例如,字符寻边单元222可以基于分割后的单行字符的三维字符的点云数据确定参考基面,将分割后的单行字符的三维字符的点云数据投影至参考基面;基于投影结果确定分割后的单行字符的三维字符的字符轮廓。还例如,字符寻边单元222可以基于分割后的单个字符的三维字符的点云数据确定参考基面,将分割后的单个字符的三维字符的点云数据投影至参考基面;基于投影结果确定分割后的单个字符的三维字符的字符轮廓。在一些实施例中,字符寻边单元222可以基于预设算法确定参考基面,例如,最小二乘法或切比雪夫算法。
76.二维图像确定单元223可以用于基于所述三维字符的字符轮廓的识别结果确定对应的二维图像。在一些实施例中,二维图像确定单元223可以基于三维字符的整体的点云数据的字符轮廓确定三维字符整体对应的二维图像。在一些实施例中,二维图像确定单元223还可以基于分割后的单行字符或单个字符的点云数据的字符轮廓确定单行字符或单个字符对应的二维图像。
77.工件信息获取模块230可以用于获取三维字符所在的工件的相关信息。在一些实施例中,工件的相关信息可以包括工件表面的颜色信息等。在一些实施例中,字符信息采集装置130可以用于获取工件表面的二维图像(例如,rgb图像),工件信息获取模块230可以基于字符信息采集装置130获取的工件表面的二维图像获取工件表面的颜色信息等。光源颜色确定模块240可以用于根据三维字符所在的工件的相关信息,确定光源的颜色。在一些实施例中,光源颜色确定模块240可以基于工件表面的颜色信息确定光源颜色。例如,工件信息获取模块230基于字符信息采集装置130获取的工件表面的二维图像获取工件表面的颜色信息为蓝色,光源颜色确定模块240可以基于工件表面的颜色信息确定光源的颜色(例如,与工件表面颜色不一致,示例地,红色、白色等)。
78.需要注意的是,以上对于字符识别系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图2中披露的深度信息获取模块、三维字符识别模块、工件信息获取模块和光源颜色确定模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
79.图3是根据本技术的一些实施例所示的一种三维字符的识别方法的示例性的流程图。
80.在一些实施例中,三维字符的识别方法300可以由三维字符的识别系统100(如处理设备110)或三维字符的识别系统200执行。例如,三维字符的识别方法300可以以程序或
指令的形式存储在存储装置(如存储设备150)中,当三维字符的识别系统100(如处理设备110)执行该程序或指令时,可以实现三维字符的识别方法300。下面呈现的三维字符的识别方法300的操作示意图是说明性的。在一些实施例中,可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成该过程。另外,图3中示出的和下面描述的流程300的操作的顺序不旨在是限制性的。
81.步骤310,获取三维字符的深度信息。在一些实施例中,步骤310可以由深度信息获取模块210执行。
82.在一些实施例中,三维字符的深度信息可以为用于表示三维字符在三维空间的位置信息。进一步地,三维字符的深度信息可以指三维字符表面的位置信息。在一些实施例中,三维字符表面的位置信息是指三维字符表面上若干点的位置信息。在一些实施例中,位置信息可以包括三维字符表面上若干点在空间坐标系中的坐标信息。在一些实施例中,位置信息可以包括三维字符表面上若干点相对三维字符所在基面的相对位置信息。其中,三维字符所在的基面是指在工件表面上,三维字符开始凸起或凹陷的那个面,即三维字符从基面开始向上凸起或向下凹陷。在一些实施例中,三维字符表面是指三维字符相对基面向上凸出或向下凹陷的面。在一些实施例中,三维字符的深度信息可以包括三维字符表面上若干点的点云数据。在一些实施例中,三维字符的深度信息也可以包括能够体现三维字符高度的其他形式。
83.在一些实施例中,深度信息获取模块210可以基于字符信息采集装置130获取的三维字符的信息确定三维字符的深度信息。
84.在一些实施例中,字符信息采集装置130获取的三维字符的信息可以为三维字符的深度信息。例如,字符信息采集装置130可以通过深度摄像头对三维字符的空间三维信息进行扫描,以获取三维字符表面的位置信息(例如,点云数据)。深度信息获取模块210可以直接从字符信息采集装置130处获取三维字符的深度信息。
85.在一些实施例中,字符信息采集装置130获取的三维字符的信息可以为三维字符在不同角度的多张二维图像。信息处理装置可以对多张二维图像进行图像重建,以确定三维字符的深度信息(例如,能够体现三维字符表面若干点位置的点云数据)。在一些实施例中,信息处理装置可以是字符信息采集装置130的一部分。字符信息采集装置130可以通过信息处理装置确定三维字符的深度信息,深度信息获取模块210可以直接从字符信息采集装置130处获取三维字符的深度信息。在一些实施例中,信息处理装置也可以独立于字符信息采集装置130,是处理设备110(例如,深度信息获取模块210)的一部分。在一些实施例中,深度信息获取模块210从字符信息采集装置130处获取到多张二维图像后,还需要对其进行图像重建,以确定出三维字符的深度信息。在一些实施例中,基于多张二维图像重建出深度信息的算法包括pmvs(the patch-based mvs algorithm)算法、mc(marching cube)算法、dc(dual contouring)算法等。
86.在一些实施例中,字符信息采集装置130可以包括深度摄像头,直接获取三维字符的深度信息。在一些实施例中,字符信息采集装置130可以包括至少一个平面摄像头,以获取三维字符在不同角度的二维图像。在一些实施例中,字符信息采集装置130可以包括至少一个深度摄像头和/或至少一个平面摄像头。至少一个深度摄像头和/或至少一个平面摄像头的更多描述可参见本说明书其他部分。
87.步骤320,基于三维字符的深度信息识别三维字符。在一些实施例中,步骤320可以由三维字符识别模块220执行。
88.在一些实施例中,三维字符识别模块220对三维字符进行识别的识别结果可以包括三维字符对应的二维图像和/或三维字符对应的字符含义。其中,与三维字符对应的二维图像可以指与三维字符的正面投影(投影至工件上基面的投影)对应的二维图像。与三维字符对应的字符含义是指三维字符代表的意义。例如,对于压印在液化气缸瓶上的三维字符“新华”,三维字符识别模块220识别的该三维字符的字符含义为两个汉字字符:“新”、“华”。
89.在一些实施例中,当识别结果包括三维字符对应的二维图像时,三维字符识别模块220可以基于三维字符的深度信息确定与三维字符对应的二维图像。在一些实施例中,三维字符识别模块220可以把该二维图像作为识别结果进行输出。
90.在一些实施例中,当识别结果包括三维字符对应的字符含义时,三维字符识别模块220可以先对三维字符的深度信息进行处理,确定三维字符对应的二维图像,再利用字符识别算法对该二维图像进行识别,以确定三维字符对应的字符含义。通过把三维字符的深度信息转化为对应的二维图像,然后再利用字符识别算法对二维图像进行识别,能够大大提高三维字符的识别精度。
91.在一些实施例中,三维字符识别模块220还可以直接基于预设算法对三维字符的深度信息确定三维字符对应的字符含义和/或二维图像。在一些实施例中,预设算法可以包括机器学习模型。
92.在一些实施例中,把三维字符的深度信息对应的相关特征输入训练后的机器学习模型后,机器学习模型可以输出三维字符的字符含义和/或二维图像。以识别结果包括字符含义作为示例,可以将待识别的三维字符的深度信息编码为一组向量输入进机器学习模型中,机器学习模型的输出数据可以为三维字符对应的字符含义。
93.在一些实施例中,机器学习模型的类型包括但不限于神经网络(nn)、卷积神经网络(cnn)、深度神经网络(dnn)、循环神经网络(rnn)等或其任意组合,例如,机器学习模型可以为卷积神经网络和深度神经网络组合形成的模型。
94.在一些实施例中,可以基于大量的训练样本训练初始机器学习模型得到训练后的机器学习模型。在一些实施例中,可以从多种三维字符对应的深度信息得到多组训练样本。训练样本包括多个单字符的深度信息。标记信息包括与单字符的深度信息对应的字符含义和/或二维图像。把训练样本作为输入数据,标记信息作为输出数据,把输入数据和输出数据输入初始机器学习模型进行训练,以得到训练好的机器学习模型。
95.在一些实施例中,可以通过对获取到的三维字符的深度信息进行分割,以获取作为训练样本的单个三维字符的深度信息。另外,也可以基于分割后的单个字符的深度信息来进行后续的字符识别。在一些实施例中,更多描述可参见本说明书其他部分分割三维字符的方法可以包括点云数据聚类分割,基于投影确定分割边界等分割方法。关于分割三维字符的方法可以参见本说明书中其他部分的相关描述,例如,图5中步骤510及其相关描述。
96.在一些实施例中,预设算法也可以包括除机器学习模型算法以外的其他算法。在一些实施例中,存储设备150可以预存有多种三维字符对应的深度信息,以及与深度信息对应的字符含义和/或二维图像。三维字符识别模块220可以基于待识别的三维字符的深度信息与存储设备150中预存的多种三维字符对应的深度信息的相似度确定待识别的三维字符
对应的字符含义和/或二维图像。例如,三维字符识别模块220可以计算存储设备150中预存的多种三维字符对应的深度信息与待识别的三维字符的深度信息之间的相似度,并获取相似度大于阈值(例如,90%)的预存的三维字符的字符含义和/或二维图像,将该预存的三维字符的字符含义和/或二维图像作为待识别的三维字符的识别结果。
97.在一些实施例中,本说明书一个或多个实施例中三维字符的深度信息可以包括三维字符的点云数据。下面以点云数据作为示例,结合图4对三维字符的字符含义的识别过程进行介绍。关于流程400的具体内容,请参见步骤410-430。
98.步骤410,获取三维字符的点云数据。在一些实施例中,步骤410可以由深度信息获取模块210执行。
99.在一些实施例中,深度信息获取模块210可以基于字符信息采集装置130获取三维字符的点云数据。在一些实施例中,深度信息获取模块210可以获取三维字符及其所在工件表面的整体点云数据。深度信息获取模块210基于字符信息采集装置130可以获取被加工有三维字符的工件表面的点的信息,形成整体点云数据。整体点云数据包括三维字符所在的工件表面的三维点云数据及三维字符的点云数据。在一些实施例中,深度信息获取模块210可以将整体点云数据中的工件表面的三维点云数据和三维字符的点云数据进行分离,获取三维字符的点云数据。
100.在一些实施例中,可以通过工件表面的三维模型的信息与整体点云数据的匹配,确定整体点云数据中工件表面的点云数据,从而确定整体点云数据中凸出于或凹陷于工件表面的三维字符的点云数据。
101.在一些实施例中,深度信息获取模块210也可以直接获取三维字符凸出或凹陷于工件表面的点云数据。例如,可以预先在工件表面除去三维字符的位置铺设或涂附一膜层,字符信息采集装置130在获取点云数据时可以略过膜层的位置,仅获取三维字符的表面的点云数据;或者,该膜层与三维字符的表面形成的色差比较大,字符信息采集装置130在获取整体点云数据时,之后可以通过算法清楚地分辨出三维字符的表面的点云数据。
102.在一些实施例中,深度信息获取模块210还可以基于字符信息采集装置130获取的三维字符表面位置的数据转化为点云数据。
103.在一些实施例中,深度信息获取模块210还可以先基于字符信息采集装置130获取的三维字符在不同角度的多张二维图像合成三维字符的三维图像,并将合成三维字符的三维图像的图像坐标系转换为点云坐标系,获取三维字符的点云数据。在一些实施例中,字符信息采集装置130还可以通过其他方式来获取三维字符的点云数据,具体可参见本说明书的其他部分描述。
104.在一些实施例中,三维字符识别模块220可以基于三维字符的点云数据确定对应的二维图像,然后基于二维图像确定对应的字符含义,例如步骤420和步骤430。在一些实施例中,三维字符识别模块220也可以直接利用机器学习模型或除机器学习模型以外的其他算法对三维字符的点云数据进行处理,以确定三维字符的识别结果,具体方法可参见图5的相关描述。
105.步骤420,基于三维字符的点云数据确定对应的二维图像。在一些实施例中,步骤420可以由三维字符识别模块220执行。
106.在一些实施例中,可以采用投影的方式来获取三维字符的点云数据的二维图像。
在一些实施例中,也可以直接采用预设算法(例如,机器学习模型)对三维字符的点云数据进行处理,以确定对应的二维图像。
107.在一些实施例中,三维字符可以包括至少一个字符。当三维字符包括一个字符时,可以直接把三维字符的点云数据投影至参考基面,以确定与三维字符对应的二维图像。
108.在一些实施例中,当三维字符包括两个以上字符时,可以先对三维字符的点云数据进行分割,分割成单字符的点云数据后,再把多个单字符的点云数据投影至参考基面,以确定与三维字符对应的二维图像。示例地,将三维字符“1ab”的点云数据分割为三个部分:单个字符“1”的点云数据、单个字符“a”的点云数据及单个字符“b”的点云数据。还例如,对于包含有多行的三维字符,深度信息获取单元可以对三维字符的点云数据进行行分割,将三维字符的分割为多个单行的三维字符的点云数据,再将三维字符的点云数据分割为多个单个字符的点云数据。对三维字符的点云数据进行字符分割,一方面可以使得后续对于二维图像中的字符进行识别的识别方法更加简单,另一方面,获得的单个三维字符的点云数据可以作为训练样本来进行机器学习模型的训练。
109.在一些实施例中,当三维字符包括两个以上字符时,也可以先不对其进行字符分割,可以直接把未分割的三维字符的点云数据投影至参考基面,以确定对应的二维图像。
110.在一些实施例中,为了提高二维图像中三维字符的字符轮廓的准确度,三维字符识别模块220可以在将未分割的三维字符的点云数据投影至参考基面之前,对未分割的三维字符的点云数据进行处理,以生成多个新的与该三维字符的字符轮廓相关的点云数据(即,新增点云数据)。其中,与该三维字符的字符轮廓相关的点云数据可以理解为能够反映该三维字符的字符轮廓的点云数据。从而使得投影到参考基面上的投影点的点云数据的数量增多,增加识别准确度。
111.在一些实施例中,三维字符识别模块220可以先从未分割的三维字符的点云数据进行处理,以生成至少一个初始点云数据,并基于新增点云数据以及三维字符的点云数据,确定三维字符的轮廓。其中,三维字符的点云数据是指非生成新增点云数据之前的三维字符的点云数据。在一些实施例中,三维字符识别模块220还可以基于新增点云数据以及三维字符的点云数据,确定对应的投影数据,并基于该投影数据确定三维字符的字符轮廓。在一些实施例中,三维字符识别模块220获取初始点云数据的方式可以参考本说明书其他部分中关于获取初始点云数据的相关描述。
112.在一些实施例中,三维字符识别模块220基于该初始点云数据以及寻找距离确定与该初始点云数据临近的一个或多个临近点云数据。进一步地,三维字符识别模块220可以基于该初始点云数据及其临近点云数据生成新增点云数据。在一些实施例中,寻找距离(即,距离阈值)可以大于字符信息采集装置130的分辨率;分辨率用于反映字符信息采集装置130采集到的点云数据中相邻两个点之间的距离。
113.在一些实施例之后,新增点云数据可以在初始点云数据以及与该初始点云数据相邻的一个或多个临近点云数据之间生成。关于在初始点云数据以及与该初始点云数据相邻的一个或多个临近点云数据之间生成新增点云数据的更多描述,可以参见本说明书中其他部分的相关描述,例如,图5中步骤520及其相关描述。
114.在一些实施例中,三维字符识别模块220可以获取三维字符的点云数据中相邻两个点云数据的位置信息,基于相邻两个点云数据的位置信息,在相邻两个点云数据之间生
成新增点云数据。在一些实施例中,三维字符识别模块220可以先从未分割的三维字符的点云数据中获取至少一个点云数据的位置信息,以作为初始点云数据的位置信息,并获取该初始点云数据的一个临近点云数据的位置信息,基于该初始点云数据的位置信息及该临近点云数据的位置信息生成新增点云数据。关于基于初始点云数据的位置信息和临近点云数据的位置信息,生成新增点云数据的理解以及更多描述,可以参见本说明书其他部分的相关描述,例如,图5中步骤520及其相关描述。
115.在一些实施例中,三维字符识别模块220可以通过插值算法在初始点云数据与一个或多个临近点云数据之间自动生成至少一个新增点云数据。关于通过插值算法在初始点云数据与一个或多个临近点云数据之间自动生成至少一个新增点云数据更多描述可参考本说明书其他部分的相关描述,例如,图5中步骤520及其相关描述。
116.在一些实施例中,基于未分割的三维字符的点云数据生成多个新增点云数据后,三维字符识别模块220可以将三维字符的点云数据生成多个新增点云数据后投影至参考基面,以确定对应的二维图像。
117.在一些实施例中,当三维字符包括两个以上字符时,将三维字符分割成单个字符后,可以利用预设算法(例如,训练好的机器学习模型)分别对单个字符的点云数据进行处理,以确定对应的二维图像。在一些实施例中,将三维字符分割成单个字符之后,单个字符的点云数据可以作为机器学习模型的训练数据,该机器学习模型训练好之后可以用于识别单个三维字符的点云数据的字符含义。在一些实施例中,也可以直接基于预设算法对未分割的三维字符的点云数据进行处理,以确定对应的二维图像。
118.步骤430,基于二维图像确定三维字符的字符含义。在一些实施例中,步骤430可以由三维字符识别模块220执行。
119.在一些实施例中,三维字符识别模块220可以基于未分割的三维字符的点云数据对应的二维图像确定三维字符的字符含义,也可以基于分割后的单个字符的点云数据对应的二维图像确定三维字符的字符含义,也可以基于三维字符的点云数据生成多个新增点云数据对应的二维图像确定三维字符的字符含义。
120.在一些实施例中,三维字符识别模块220可以利用预设的字符识别算法对未分割三维字符的点云数据或分割后的单字符的点云数据对应的二维图像进行识别,以确定三维字符的字符含义。在一些实施例中,预设的字符识别算法可以包括光学字符识别算法(ocr,optical character recognition)。光学字符识别算法可以包括但不限于ctc(connectionist temporal classification)算法、crnn(convolutional recurrent neural network)算法、cptn(connectionist text proposal network)算法、多标签分类(mutli-label classification)算法等。
121.在一些实施例中,三维字符识别模块220可以根据预设的字符识别算法识别出二维图像中文字区域。当二维图像对应的三维字符为未分割字符时,三维字符识别模块220可以在文字区域内进行分割处理,以分割成不同的单字符,然后对分割后的字符进行字符识别,以识别出整个三维字符的字符含义。当二维图像对应的三维字符为分割后的字符时,三维字符识别模块220可以直接对若干文字区域内分别进行字符识别,识别出分割后的若干单字符的字符含义。
122.在一些实施例中,存储设备150可以预存有多个字符识别模板,每个字符识别模板
对应有一个标准字符。标准字符包括但不限于简体汉字、繁体汉字、英文字母、数字等标准的字符,也可以包括自定义的字符。三维字符识别模块220可以获取各字符识别模板和待识别二维图像中每个字符的类型和位置;针对每个字符识别模板,根据字符识别模板和待识别二维图像中各同类型的字符的位置,确定字符识别模板和待识别二维图像之间的多个匹配位置对;以及根据字符识别模板和待识别二维图像之间的多个匹配位置对,采用特征匹配算法计算字符识别模板和待识别二维图像之间的目标变换矩阵;针对每个字符识别模板,采用字符识别模板对应的目标变换矩阵,对所述字符识别模板和待识别二维图像进行对齐处理,并计算对齐处理后的字符识别模板和待识别二维图像之间文字行区域的匹配度;从各字符识别模板中选择匹配度最高的字符识别模板作为待识别二维图像的目标字符识别模板,将目标字符识别模板对应的标准字符作为对应的字符含义。
123.在一些实施例中,存储设备150可以预存有多种单个字符(例如,单个数字:1、2、3,单个英文字母:a、b、c,单个汉字:上、中、下等)对应的二维图像及多种单个字符对应的字符含义。三维字符识别模块220可以基于分割后的若干单个字符与存储设备150中预存的多种单个字符对应的二维图像的相似度,确定若干单个字符的字符含义。例如,三维字符识别模块220可以提取存储设备150中预存的多种单个字符对应的二维图像的特征及待识别的三维字符的单个字符对应的二维图像的特征,计算特征相似度,并获取特征相似度大于阈值(例如,90%)的预存的单个字符的字符含义,将该预存的单个字符的字符含义作为待识别的三维字符的该单个字符的字符含义。
124.在一些实施例中,三维字符识别模块220可以按照预设识别规则分别对多个单个字符的点云数据对应的二维图像进行识别,确定分割后的多个单个字符的字符含义,进而根据多个单个字符的字符含义确定三维字符的字符含义。预设规则可以为三维字符识别模块220对多个单个字符的点云数据对应的二维图像进行识别的顺序。例如,从左往右、从右往左等。
125.三维字符识别模块220可以基于预设组合规则对多个单个字符的字符含义进行组合以确定三维字符的字符含义。在一些实施例中,预设识别规则与预设组合规则一致。例如,三维字符识别模块220可以按照从左往右的顺序分别对多个单个字符的点云数据对应的二维图像进行识别后,可以根据从左往右的顺序将多个单个字符的字符含义进行排列,获取三维字符的字符含义。
126.在一些实施例中,预设识别规则与预设组合规则不一致。在一些实施例中,三维字符识别模块220也可以按照随机的规则对分割后的多个单字符对应的二维图像进行识别,以确定多个单字符的字符含义。但是,在将多个三字符的字符含义进行组合时,参照单个字符在识别字符含义之前在整个三维字符中的位置来进行组合。例如,三维字符识别模块220可以对三个单字符“a”、“b”、“c”对应的二维图像进行字符含义的识别,识别结果分别为英文大写字母“a”、英文小写字母“b”以及英文小写字母“c”。根据识别字符含义之前三个单字符的位置顺序,把字符识别结果按照对应的位置顺序进行排列,得到整个三维字符的字符含义“abc”。
127.图5是本说明书一些实施例中基于分割后的三维字符的点云数据进行字符识别的方法流程图。在一些实施例中,可以基于三维字符的点云数据中若干点的投影结果来对三维字符进行分割。关于流程500的具体内容,请参见步骤510-530。
128.步骤510,对三维字符的点云数据进行分割。在一些实施例中,步骤510可以由字符分割单元221执行。
129.在一些实施例中,步骤510可以通过投影识别实现,具体可以包括:首先,对于包含多个字符的点云数据确定参考基线,然后将三维字符的点云数据投影至参考基线,接着基于投影结果确定分割界限,最后基于分割界限确定分割后的单位字符的点云数据。其中,参考基线可以为用于承载三维字符的点云数据分布的一条直线。字符分割单元221可以把三维字符的点云数据投影至参考基线以确定三维字符的分布情况,然后根据分布情况确定三维字符的分割界限。分割界限是指能够把三维字符在行与行之间或字符与字符之间区分开的边界线。根据三维字符的点云数据投影至参考基线的投影结果,可以确定行与行之间的分割界限或字符与字符之间的分割界限。
130.在一些实施例中,当三维字符中包括两行或以上时,可以先在行与行之间进行单行分割,以确定分割后的单行字符。然后再分别对每一行中的三维字符进行单字符分割,以确定每行中的单字符。
131.在一些实施例中,步骤510也可以通过聚类算法实现。具体地,首先,从三维字符的点云数据中确定初始点云数据;然后,根据距离阈值与初始点云数据确定关联点云数据,其中,关联点云数据中邻近的点云数据的距离小于距离阈值;然后,将关联点云数据作为一个字符的点云数据,并将关联点云数据从点云数据中剔除,以重复执行分割方法,最后,得到分割后的三维字符的点云数据。
132.在一些实施例中,三维字符识别模块220可以基于字符分割单元221对三维字符的分割结果识别三维字符。在一些实施例中,字符分割单元221对三维字符的分割结果还可以用于机器学习模型训练,训练好的机器学习模型可以用于直接对三维字符的深度信息(例如,点云数据)进行识别,例如,图3及其描述。在一些实施例中,还可以对三维字符的分割结果进行后续处理。例如,可以基于字符分割单元221对三维字符的分割结果确定对应的字符轮廓,即步骤520。又例如,还可以进一步地基于字符轮廓获取对应的二维图像,即步骤530。
133.步骤520,基于分割后的三维字符的点云数据确定对应的字符轮廓。在一些实施例中,步骤520可以由字符寻边单元222执行。
134.在一些实施例中,字符轮廓是指三维字符在某个投影面(例如,正投影面)内的字符的边缘轮廓。在一些实施例中,字符轮廓是三维字符在正投影面内的边缘轮廓。在一些实施例中,字符寻边单元222可以基于分割后的三维字符的点云数据生成对应的字符轮廓。
135.在一些实施例中,为了提高生成的单个字符的字符轮廓的准确度,在对单个字符的点云数据进行投影之前,字符寻边单元222还可以对分割后的单字符的点云数据进行处理,以生成多个新的与该字符的字符轮廓相关的点云数据(即,新增点云数据)。其中,与该字符轮廓相关的点云数据可以理解为能够反映该字符的字符轮廓的点云数据。从而使得投影到二维平面上的投影点的点云数据的数量增多,增加识别准确度。
136.在一些实施例中,字符寻边单元222可以先从分割后的单个字符的点云数据中获取一个初始点云数据,基于该初始点云数据以及寻找距离确定与该初始点云数据临近的一个或多个临近点云数据。进一步地,字符寻边单元222可以基于该初始点云数据及其临近点云数据生成新增点云数据。
137.在一些实施例之后,新增点云数据可以在初始点云数据以及与该初始点云数据相
邻的一个或多个临近点云数据之间生成。在一些实施例中,可以在初始点云数据以及与该初始点云数据相邻的临近点云数据之间一条或多条连线。在每条线上可以生成一个或多个新增点云数据。其中,生成的一个或多个新增点云数据,可以在这条线上的任意位置,例如,位于这条线的中间位置。如果生成的新增点云数据包括多个,多个新增点云数据可以均匀地分布在这条线上。在一些实施例中,这条线可以是直线,也可以是曲线。例如,对于初始点云数据a,及该初始点云数据a的一个临近点云数据b,字符寻边单元222先确定初始点云数据a和临近点云数据b之间的一条连线(直线或曲线),字符寻边单元222可以在该点云数据a之间和该点云数据b之间新生成一个新增点云数据c,新增点云数据c为该连线的中点。
138.在一些实施例中,字符寻边单元222还可以获取分割后的单个字符的点云数据中相邻两个点云数据的位置信息,基于相邻两个点云数据的位置信息,在相邻两个点云数据之间生成新增点云数据。在一些实施例中,字符寻边单元222可以获取一个初始点云数据的位置信息以及与该初始点云数据相邻的一个临近点云数据的位置信息,并基于该初始点云数据的位置信息以及与该初始点云数据相邻的一个临近点云数据的位置信息,在相邻两个点云数据之间生成新增点云数据。在一些实施例中,该初始点云数据的位置信息可以通过坐标表示,与该初始点云数据相邻的一个临近点云数据的位置信息可以通过坐标表示。在一些实施例中,字符寻边单元222可以以字符信息采集装置130作为坐标中心,建立三维笛卡尔坐标系,并确定该初始点云数据以及与该初始点云数据相邻的一个临近点云数据在该三维笛卡尔坐标系的坐标。在一些实施例中,字符寻边单元222可以基于该初始点云数据的坐标以及与该初始点云数据相邻的一个临近点云数据的坐标生成新增点云数据。例如,对于初始点云数据a,及该初始点云数据a的一个第一临近点云数据b,字符寻边单元222可以在该点云数据a之间和该点云数据b之间新生成一个新增点云数据c,其中,点云数据c的空间信息可以基于点云数据a和点云数据b的空间信息生成,示例地,若点云数据a的坐标为(2,2,2),点云数据a的坐标为(4,4,4),则字符寻边单元222可以新生成一个坐标为(3,3,3)的点云数据c作为一个新增点云数据。
139.在一些实施例中,新增点云数据可以通过插值算法在初始点云数据与一个或多个临近点云数据之间自动生成。在一些实施例中,字符寻边单元222还可以基于插值算法在该初始点云数据及其临近点云数据中的两个相邻点云数据之间生成新增点云数据。示例性的插值算法可以包括但不限于最近邻插值(nearest-neighbor)算法、双线性插值(bilinear)算法、双立方插值(bicubic)算法、方向插值(edge-directed interpolation)算法等。
140.在一些实施例中,初始点云数据以及与该初始点云数据相邻的临近点云数据之间生成新增点云数据之后,还可以利用类似的方法在临近点云数据以及与该临近点云数据相邻的其他临近点云数据之间生成新增点云数据。最终以使得该单个三维字符的点云数据中的相邻的两个点云数据之间都生成至少一个新增点云数据。在一些实施例中,也可以先基于初始点云数据以及距离阈值先找到临近点云数据,然后利用前述方法在初始点云数据以及临近点云数据之间生成新增点云数据。
141.在一些实施例中,距离阈值可以基于字符信息采集装置的相关参数来确定。在一些实施例中,字符信息采集装置130的参数信息可以包括摄像装置的分辨率,分辨率可以用于反映字符信息采集装置130采集到的点云数据中相邻两个点之间的距离。在一些实施例中,字符寻边单元222可以将距离阈值确定为大于字符信息采集装置130的分辨率的值。例
如,字符信息采集装置130的分辨率为23微米,则字符寻边单元222可以将距离阈值确定为27微米。在一些实施例中,字符寻边单元222可以将距离阈值确定为字符信息采集装置130的分辨率的值的1~10倍。在一些实施例中,字符寻边单元222可以将距离阈值确定为字符信息采集装置130的分辨率的值的2~8倍。在一些实施例中,字符寻边单元222可以将距离阈值确定为字符信息采集装置130的分辨率的值的3~6倍。例如,字符寻边单元222可以将距离阈值确定为字符信息采集装置130的分辨率的值的5倍或者4倍。
142.通过生成多个新的与该单个字符的字符轮廓相关的点云数据,使得投影后的二维图像中,字符轮廓更加连贯,提高三维字符识别的精确度。
143.在一些实施例中,字符寻边单元222可以通过坐标转换的方式基于分割后的单个字符的点云数据确定对应的字符轮廓,例如,字符寻边单元222以字符信息采集装置130作为坐标中心,建立三维笛卡尔坐标系,并标定分割后的单个字符的点云数据中每一点的笛卡尔坐标;以字符信息采集装置130作为坐标中心,建立三维柱坐标系,并建立三维点云中每一点的笛卡尔坐标与柱坐标的转换关系,将笛卡尔空间坐标系中的三维点云对应到柱坐标系中;将三维柱坐标系的柱面展开,构建二维柱面坐标系,并建立分割后的单个字符的点云数据中每一点的柱坐标与二维柱面坐标系的柱面坐标的转换关系,将柱坐标系中的点云数据对应到二维柱面坐标系中,生成分割后三维字符的二维像素坐标,根据单个字符的每个点的二维像素坐标确定对应的字符轮廓。
144.在一些实施例中,字符寻边单元222还可以通过其他方法基于分割后的三维字符的点云数据确定对应的字符轮廓。例如,字符寻边单元222可以通过投影的方式确定分割后的三维字符的字符轮廓,参见图6及其相关描述。
145.步骤530,基于三维字符的字符轮廓的识别结果确定对应的二维图像。在一些实施例中,步骤530可以由二维图像确定单元223执行。
146.在一些实施例中,二维图像确定单元223可以基于单个字符的字符轮廓确定对应的二维图像,并基于单个字符的字符轮廓确定该单个三维字符对应的二维图像。在一些实施例中,每一行的三维字符对应的二维图像涉及的颜色包括字符颜色和背景颜色。在一些实施例中,字符颜色为黑色,背景颜色为白色,或者背景颜色为黑色,字符颜色为白色。在一些实施例中,字符颜色为红色,背景颜色为蓝色,或者字符颜色为蓝色,背景颜色为红色。在一些实施例中,为了凸显字符或便于对确定的二维图像内的字符进行字符含义识别,字符颜色与背景颜色的色差大于50%。在一些实施例中好,字符颜色与背景颜色的色差大于70%。字符颜色与背景颜色的色差大于80%。字符颜色与背景颜色的色差大于90%。字符颜色与背景颜色的色差大于99%。其中,字符颜色与背景颜色的色差可以理解为字符颜色对应的rgb值与背景颜色对应的rgb值之间的差距。字符颜色与背景颜色的色差大于某一数值可以理解为字符颜色与背景颜色对应的rgb值的差值与该颜色系统中rgb最大值的比值大于该数值。例如,字符颜色与背景颜色的色差大于90%是指字符颜色与背景颜色对应的rgb值的差值与rgb最大值的比值大于90%。
147.在一些实施例中,二维图像可以为二值化图像。在一些实施例中,二维图像确定单元223可以在二维图像中,将三维字符的字符轮廓对应的点标记为0;将三维字符以外的背景对应的点标记为1。在另一些实施例中,二维图像确定单元223可以在二维图像中,将三维字符的字符轮廓对应的点标记为1;将三维字符以外的背景对应的点标记为0。
148.在一些实施例中,二维图像确定单元223可以不执行步骤520及步骤530,并直接基于分割后的单个字符的字符轮廓的点云数据生成该单个字符的字符轮廓对应的二维图像。直接基于分割后的单个字符的字符轮廓的点云数据生成该单个字符对应的二维图像的更多的描述可以参见本技术其他部分的描述。例如,图4及其描述。
149.图6是本技术中一些实施例所示的基于分割后的三维字符的点云数据确定对应的字符轮廓的示例性流程图。关于流程600的具体内容,请参见步骤610-630。
150.步骤610,基于分割后的三维字符的点云数据确定参考基面。在一些实施例中,步骤610可以由字符寻边单元222执行。
151.参考基面可以为用于承载分割后的三维字符(例如,单行字符或单个字符)的点云数据分布的一个平面。字符寻边单元222可以把分割后的三维字符(例如,单行字符或单个字符)投影至参考基面以确定分割后的三维字符(例如,单行字符或单个字符)的字符轮廓。
152.在一些实施例中,字符寻边单元222可以基于经字符分割单元221分割后的三维字符(例如,单行字符或单个字符)的点云数据确定参考基面,将分割后的三维字符(例如,单行字符或单个字符)的点云数据投影到参考基面,基于投影结果确定分割后的三维字符(例如,单行字符或单个字符)的字符轮廓。在一些实施例中,可以基于三维字符的厚度方向确定参考基面。在一些实施例中,参考基面可以是任意一个垂直或近似垂直于分割后的三维字符(例如,单行字符或单个字符)的厚度方向的平面,其中,分割后的三维字符(例如,单行字符或单个字符)的厚度方向为三维字符凹陷或凸出的方向。近似垂直是指参考基面与分割后的三维字符(例如,单行字符或单个字符)的厚度方向之间的夹角为85
°
~90
°
。例如,参考基面可以为位于分割后的三维字符(例如,单行字符或单个字符)上方的一个垂直于单个字符的厚度方向的平面。还例如,参考基面可以为位于分割后的三维字符(例如,单行字符或单个字符)下方的平面,该平面与分割后的三维字符(例如,单行字符或单个字符)的厚度方向之间的夹角为87
°

153.在一些实施例中,为了使得投影分割后的三维字符(例如,单行字符或单个字符)后获取的轮廓更加接近分割后的三维字符(例如,单行字符或单个字符)的实际轮廓,参考基面可以基于预设算法确定。示例性地,可以基于预设算法以及分割后的三维字符的点云数据确定参考基面。在一些实施例中,参考基面还可以是这样一个面,分割后的三维字符(例如,单行字符或单个字符)的若干个点云数据到该平面的距离之和(或距离的平方的和)最小。在一些实施例中,预设算法可以包括但不限于最小二乘法或切比雪夫算法。
154.步骤620,将分割后的三维字符的点云数据投影至参考基面。在一些实施例中,步骤620可以由字符寻边单元222执行。
155.在步骤610中参考基面确定后,可以将分割后的三维字符(例如,单行字符或单个字符)的点云数据投影至参考基面。在一些实施例中,字符寻边单元222可以先确定投影方向,再沿投影方向将分割后的三维字符(例如,单行字符或单个字符)的点云数据投影至参考基面上。在一些实施例中,投影方向可以与参考基面呈预设角度。在一些实施例中,预设角度可以为45
°
~90
°
范围内的任意值。在一些实施例中,预设角度可以为60
°
~90
°
范围内的任意值。在一些实施例中,预设角度可以为75
°
~90
°
范围内的任意值。优选地,预设角度为90
°
,即投影方向垂直于参考基面。
156.在一些实施例中,参考基面与投影方向确定后,可以把分割后的三维字符(例如,
单行字符或单个字符)的点云数据的全部或部分投影至参考基面。在一些实施例中,字符寻边单元222基于参考基面确定投影至参考平面的点云数据。例如,字符寻边单元222可以确定一个与参考基面平行的平面,且该平面经过分割后的三维字符(例如,单行字符或单个字符),字符寻边单元222可以将该平面上的点云数据作为投影至参考平面的点云数据。
157.步骤630,基于投影结果确定分割后的三维字符的字符轮廓。在一些实施例中,步骤630可以由字符寻边单元222执行。
158.分割后的三维字符的字符轮廓是指分割后的三维字符(例如,单行字符或单个字符)在某个投影面(例如,正投影面)内的字符的边缘轮廓。在一些实施例中,分割后的三维字符(例如,单行字符或单个字符)的字符轮廓是分割后的单行字符或单个字符在正投影面内的边缘轮廓。
159.在一些实施例中,字符寻边单元222可以基于参考基面上投影结果中投影点的数量分布来确定字符轮廓。在一些实施例中,可以根据投影点的数量变化情况来确定字符的边缘,进而确定字符的轮廓。在一些实施例中,如果某区域内投影点的数量变化超过预设变化阈值,则确定该区域为边缘区域,边缘区域包括字符轮廓。
160.在一些实施例中,字符寻边单元222可以将参考基面划分为多个区域,统计每个区域中投影点的数量,将包含的投影点的数量小于阈值(例如,5个)的区域作为边缘区域,将边缘区域内的投影点作为目标轮廓点,字符寻边单元222可以基于目标轮廓点组成分割后的三维字符(例如,单行字符或单个字符)的字符轮廓。
161.在一些实施例中,也可以不对三维字符的点云数据进行分割,直接将未分割的三维字符的点云数据投影至参考基面,并根据参考基面确定与三维字符对应的二维平面。后续在使用字符识别算法进行字符识别的过程中,利用字符识别算法对二维平面中的字符进行识别。在一些实施例中,也可以先对三维字符的点云数据进行行分割,即把三维字符分割成若干个单行字符,然后把分割后的单行字符的点云数据投影至二维平面。后续使用字符识别算法进行字符识别时,无需进行行分割,仅进行单行里面的单个字符分割即可。
162.应当注意的是,上述有关流程(例如,流程600、流程500以及流程400)的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,可以将该流程中的其中两个或以上个步骤进行合并。
163.在一些实施例中,字符信息采集装置130中的多个光源均匀可以分布在待测工件的周围,摄像头位于凹凸字符的上方。示例性地,以获取多张二维图像为例,基于多个均匀分布在待测工件的周围的光源获取三维字符在不同角度的多张二维图像。例如,将6个光源等间隔安装在照射区域上方的同一圆上,将平面摄像头安装在圆心的上方,以任一光源为起点,点亮该光源以照射处于照射区域中的三维字符,字符采集装置130捕获位于照射区域中的三维字符的图像,再顺时针点亮下一光源,关闭上一光源,平面摄像头再捕获位于照射区域中的三维字符的图像,之后重复顺时针地点亮下一光源、关闭上一光源,平面摄像头再捕获位于照射区域中的三维字符的图像的步骤,直至所有光源都完成被点亮,完成三维字符在不同角度的多张二维图像的采集。
164.在一些实施例中,字符信息采集装置130还可以对包含有三维字符的工件表面进行扫描,获取整体点云数据。在一些实施例中,字符信息采集装置130的光源可以包括线激
光器,线激光器可以用于发出直线形状的结构光光线,并垂直投射到包含有三维字符的工件表面。字符信息采集装置130的摄像装置可以还包括ccd(charge coupled device)摄像机,线激光器与ccd摄像机之间成30
°
~40
°
,将预先标定的线激光器发出的线结构光和ccd摄像机同步对包含有三维字符的工件表面进行扫描(例如,将线激光器和ccd摄像机安装在同一转台上,控制转台转动,使得线激光器发出的线结构光和ccd摄像机同步对包含有三维字符的工件表面进行扫描),即可获取包含有三维字符的点云数据的整体点云数据。
165.在一些实施例中,字符信息采集装置130可以包括双目摄像头,双目摄像头用于获取至少两张包含有三维字符所在的工件表面的原始图像,并将两张原始图像中的一幅作为主图像,将另一幅原始图像作为副图像。字符信息采集装置130可以根据主图像和副图像之间具有对应关系的像素点,通过特定算法(例如,sgbm(semi-global-block matching,半全局匹配)算法、bm(block matching)算法)计算视差,再根据平行双目视觉的几何关系,确定视差与深度值的转换公式(例如,depth=(f*baseline)/disp,其中,depth表示深度值;f表示归一化的焦距;baseline是两个双目摄像头的两个摄像头的光心之间的距离;disp是视差值),基于该转换公式,将视差转换为对应像素点的深度值,最后,根据主图像、副图像及对应像素点的深度值,生成整体点云数据。
166.在一些实施例中,字符信息采集装置还可以包括线激光轮廓仪,每间隔一定距离触发一次测量,获取每一次扫描的3d扫描轮廓曲线,连续扫描三维字符的表面,获取当前扫描的三维字符的3d轮廓数据;对于每一条轮廓曲线建立拟合多项式曲线模型并求解,输出拟合的多项式轮廓曲线。
167.在一些实施例中,字符信息采集装置130还可以包括其他三维信息采集装置,例如,白光干涉仪或共焦显微镜。
168.在一些实施例中,可以根据工件的相关信息自动地确定和/或调节光源的颜色。在一些实施例中,识别系统100可以获取三维字符所在工件的相关信息,并根据三维字符所在的工件的相关信息,确定光源的颜色。在一些实施例中,工件的相关信息包括三维字符所在工件表面的颜色。
169.在一些实施例中,识别系统100可以根据平面摄像头获取的凹凸字符及其所在工件的表面的图像来确定三维字符及其所在工件表面的颜色。如果三维字符所在工件表面的颜色确定后,则选取与三维字符及其所在工件表面的颜色不一致的颜色作为光源的颜色。
170.在一些实施例中,确定好光源的颜色后,识别系统100可以输出建议采用的光源颜色。操作者可以根据系统输出的颜色建议来决定是否选择建议的光源颜色。在一些实施例中,识别系统100可以直接基于确定好的光源颜色调节字符信息采集装置130中的光源颜色。
171.在一些实施例中,根据三维字符所在工件的相关信息确定光源颜色的处理设备可以是字符信息采集装置130的一部分,也可以是本说明书一个或多个实施例中处理设备110的一部分。本说明书所披露的一个或多个实施例可能带来的有益效果包括但不限于:(1)在本说明书一个或多个实施例中,通过把三维字符的深度信息转化为二维图像,然后再对二维图像进行识别。把对三维字符的识别最终转化为利用字符识别算法对二维图像进行识别,提高了识别精度;(2)在本说明书一个或多个实施例中,通过预设的算法(例如,机器学习模型)直接对三维字符的深度信息进行识别,以确定三维字符的识别结果(例如,字符含
义),提高了识别精度和识别效率;(3)在本说明书一个或多个实施例中,通过对三维字符的深度信息(例如,点云数据)进行分割,分割成单个字符的深度信息(例如,点云数据)。分割后的单个字符的深度信息(例如,点云数据)可以作为训练样本对机器学习模型进行训练。训练后的机器学习模块可以对三维字符的深度信息进行识别,以确定识别结果(例如,三维字符的字符含义)。
172.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
173.同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
174.此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
175.计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
176.本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb.net、python等,常规程序化编程语言如c语言、visual basic、fortran 2003、perl、cobol 2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
177.此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说
明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
178.同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
再多了解一些

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

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

相关文献