一种物体识别方法、装置、电子设备及存储介质与流程

文档序号:32036081发布日期:2022-11-03 03:28阅读:43来源:国知局
一种物体识别方法、装置、电子设备及存储介质与流程

1.本发明涉及物体识别技术,尤其涉及一种物体识别方法、装置、电子设备及存储介质。


背景技术:

2.在生产过程中经常需要对物体进行识别,以确定对物体的下一步操作。
3.现有技术中,通常使用机械臂带动3d相机分别在物体的不同角度进行拍照,将不同位置的点云转换到机械手坐标系下,形成一张完整的点云图,再根据点云图识别物体。
4.由于机械臂在移动过程中可能产生误差,采集的点云数据并不准确,降低了物体识别的准确性。


技术实现要素:

5.本发明提供一种物体识别方法、装置、电子设备及存储介质,以实现提高物体识别的准确性。
6.根据本发明的一方面,提供了一种物体识别方法,该方法包括:
7.获取目标范围的三维点云数据;
8.根据所述三维点云数据构建与目标物体关联的物体坐标系,并根据所述物体坐标系将所述三维点云数据转化为二维点云数据;
9.根据所述二维点云数据,按照预设圆形拟合算法识别所述目标物体。
10.根据本发明的另一方面,提供了一种物体识别装置,该装置包括:
11.点云数据获取模块,用于获取目标范围的三维点云数据;
12.点云数据转化模块,用于根据所述三维点云数据构建与目标物体关联的物体坐标系,并根据所述物体坐标系将所述三维点云数据转化为二维点云数据;
13.目标物体识别模块,用于根据所述二维点云数据,按照预设圆形拟合算法识别所述目标物体。
14.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的物体识别方法。
18.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的物体识别方法。
19.本发明实施例的技术方案,通过获取目标范围的三维点云数据;根据所述三维点云数据构建与目标物体关联的物体坐标系,并根据所述物体坐标系将所述三维点云数据转
化为二维点云数据;根据所述二维点云数据,按照预设圆形拟合算法识别所述目标物体。解决了现有技术中,通常使用机械臂带动3d相机分别在物体的不同角度进行拍照,将不同位置的点云转换到机械手坐标系下,形成一张完整的点云图,再根据点云图识别物体。由于机械臂在移动过程中可能产生误差,采集的点云数据并不准确,降低了物体识别的准确性的问题,取得了提高物体识别的准确性的有益效果。
20.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.图1为本发明实施例一提供的一种物体识别方法的流程图;
22.图2为本发明实施例二提供的一种物体识别方法的流程图;
23.图3为本发明实施例三提供的一种物体识别装置的结构示意图;
24.图4为用来实施本发明实施例的电子设备的结构示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.实施例一
28.图1为本发明实施例一提供的一种物体识别方法的流程图,本实施例可适用于识别圆形物体的情况,该方法可以由本发明实施例所提供的物体识别装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的物体识别方法,包括:
29.步骤110、获取目标范围的三维点云数据。
30.通过点云数据采集装置获取目标范围内的三维点云数据,其中,目标范围为点云数据采集装置的采集范围,与待识别的目标物体相关,例如为待识别目标物体对应的可采集范围,如摆放在平面上的待识别目标物体的上表面等,而不可观测部分则不形成点云,本实施例对此不进行限制。
31.本实施例中,可选的,获取目标范围的三维点云数据,包括:
32.通过rgb-d相机获取目标范围的三维点云数据。
33.通过rgb-d相机进行三维点云数据的获取,在同样可获取三维点云数据的基础上,
由于rgb-d相机成本较低,节省了数据获取成本。并且解决了现有技术中采用3d相机拍摄点云图时会因为光照,灰尘或一些其他现场工作环境因素造成相机噪声,导致拍摄的物体点云缺失或噪声增加,增加物体识别的不稳定性的问题,从而提高物体识别的准确性。
34.步骤120、根据三维点云数据构建与目标物体关联的物体坐标系,并根据物体坐标系将三维点云数据转化为二维点云数据。
35.根据三维点云数据确定原点、坐标轴等坐标系构建因素,由于三维点云数与待识别的目标物体相关,因此根据坐标系构建因素构建的坐标系为与目标物体关联的物体坐标系。其中,目标物体为待识别的物体,例如三维点云数据为圆盘所在区域的三维点云数据,则圆盘为目标物体。
36.根据物体坐标系将三维点云数据投影到平面坐标系上,从而转化为二维点云数据。
37.步骤130、根据二维点云数据,按照预设圆形拟合算法识别目标物体。
38.根据二维点云数据,按照预设圆形拟合算法识别目标物体,可以为根据二维点云数据按照预设圆形拟合算法拟合得到物体,判断该物体是否满足物体识别条件,若满足则将识别出的物体确定为目标物体。
39.示例性的,按照预设圆形拟合算法,拟合二维点云数据,得到二维点云数据对应的物体的轮廓等物体信息,并根据物体信息判断该物体是否为目标物体。例如判断是否能够拟合出圆形物体;若是,则判断拟合出的圆形物体是否满足大小要求等,若满足,则将识别出的物体确定为目标物体。
40.可选的,若识别到目标物体,则可对目标物体进行进一步处理,例如抓取目标物体等。若未识别到目标物体,可以进行报错,或再次识别、或识别下一位置中的目标物体等,本实施例对此不进行限制。
41.本实施例中,可选的,根据二维点云数据,按照预设圆形拟合算法识别目标物体,包括:
42.根据二维点云数据,按照预设圆形拟合算法识别候选物体的物体圆形信息;
43.判断物体圆形信息是否满足预设信息条件;若满足,则确定候选物体为目标物体。
44.根据二维点云数据,按照预设圆形拟合算法识别候选物体的物体圆形信息,其中,预设圆形拟合算法可以为opencv拟合圆形的算法,本实施例对此不进行限制。
45.按照预设圆形拟合算法对二维点云数据进行拟合,得到此时识别到的候选物体,并对候选物体的物体圆形信息进行识别,其中,物体圆形信息可以为物体的圆心、半径等,本实施例对此不进行限制。
46.判断物体圆形信息是否满足预设信息条件;若满足,则确定候选物体为目标物体。其中,判断是否满足预设信息条件可以为判断是否满足半径阈值范围,若满足,则确定候选物体为目标物体。
47.通过识别候选物体的物体圆形信息;判断物体圆形信息是否满足预设信息条件;若满足,则确定候选物体为目标物体,从物体的圆形特征出发进行相应识别,提高圆形物体识别的准确率。
48.本实施例所提供的技术方案,通过获取目标范围的三维点云数据;根据三维点云数据构建与目标物体关联的物体坐标系,并根据物体坐标系将三维点云数据转化为二维点
云数据,解决三维点云数据拟合准确性较差的问题。
49.根据二维点云数据,按照预设圆形拟合算法识别目标物体,提高了圆形物体识别的准确性,并且由于圆形物体不存在角,避免识别带角物体时需要准确采集角部分点云数据,增加点云数据采集难度的问题,提高物体识别的针对性。
50.总体解决了现有技术中,通常使用机械臂带动3d相机分别在物体的不同角度进行拍照,将不同位置的点云转换到机械手坐标系下,形成一张完整的点云图,再根据点云图识别物体。由于机械臂在移动过程中可能产生误差,采集的点云数据并不准确,降低了物体识别的准确性的问题,取得了提高物体识别的准确性的有益效果。
51.实施例二
52.图2为本发明实施例二提供的一种物体识别方法的流程图,本技术方案是针对根据三维点云数据构建与目标物体关联的物体坐标系的过程进行补充说明的。与上述方案相比,本方案具体优化为,根据三维点云数据构建与目标物体关联的物体坐标系,包括:
53.根据三维点云数据的坐标数据确定三维点云数据的质心;
54.通过预设拟合方法拟合坐标数据得到第一目标向量;其中,第一目标向量的朝向与三维点云数据的形状关联;
55.根据第一目标向量确定第二目标向量和第三目标向量;其中第一目标向量、第二目标向量和第三目标向量两两垂直;
56.根据质心、第一目标向量、第二目标向量和第三目标向量构建物体坐标系。
57.具体的,物体识别方法的流程图如图2所示:
58.步骤210、获取目标范围的三维点云数据。
59.步骤220、根据三维点云数据的坐标数据确定三维点云数据的质心。
60.其中,三维点云数据的坐标数据可以为点云数据中各点的坐标;根据三维点云数据的坐标数据确定三维点云数据的质心,通过将所有点的x、y、z分别相加除以所有点的数量求得,本实施例对此不进行限制。如果有一些噪声点,通过这种方式并不会对质心位置有太多的影响。
61.步骤230、通过预设拟合方法拟合坐标数据得到第一目标向量;其中,第一目标向量的朝向与三维点云数据的形状关联。
62.通过预设拟合方法拟合坐标数据得到第一目标向量;其中,预设拟合方法可以为最小二乘拟合方法,本实施例对此不进行限制。
63.通过预设拟合方法拟合点云的坐标数据,得到第一目标向量。通过坐标数据构建协方差矩阵,通过预设拟合方法求解协方差矩阵上的最大特征值,将最大特征值作为第一目标向量。第一目标向量的朝向与三维点云数据的整体形状。关联,与点云的位置关系无关。
64.步骤240、根据第一目标向量确定第二目标向量和第三目标向量;其中第一目标向量、第二目标向量和第三目标向量两两垂直。
65.根据第一目标向量确定第二目标向量和第三目标向量;可以为根据第二目标向量与第一目标向量的第一预设关系确定第二目标向量,根据第三目标向量与第一目标向量的第二预设关系确定第三目标向量。第一目标向量、第二目标向量和第三目标向量两两垂直。其中,第一目标向量和第二目标向量可以为目标物体所在平面中的向量,第三目标向量为
垂直目标物体所在平面的向量。
66.本实施例中,可选的,根据所述第一目标向量确定第二目标向量和第三目标向量,包括:
67.根据对所述第一目标向量的点乘操作确定所述第二目标向量;
68.根据对所述第一目标向量的叉乘操作确定所述第三目标向量。
69.根据对第一目标向量的点乘操作确定第二目标向量,可以为将第一目标向量和第二目标向量的模确定为单位向量的模,且第二目标向量与第一目标向量的夹角为90度,通过点乘公式进行点乘,确定第二目标向量。
70.根据对第一目标向量的叉乘操作确定第三目标向量,可以为将第一目标向量和第三目标向量的模确定为单位向量的模,且第三目标向量与第一目标向量的夹角为90度,通过叉乘公式,确定第三目标向量。
71.提高第一目标向量与第二目标向量以及第三目标向量的关联性,提高后续物体坐标系构建的有效性。
72.本实施例中,可选的,还包括:
73.通过所述预设拟合方法拟合所述坐标数据得到第二参考向量;
74.根据所述第二参考向量和所述第二目标向量的差异程度确定所述预设拟合方法是否准确。
75.通过预设拟合方法拟合坐标数据时,除了得到第一目标向量之外,还可以得到与第一目标向量垂直的第二参考向量。
76.由于第二参考向量和第二目标向量为不同方法求得的同一向量,获取第二参考向量和第二目标向量的差异程度,若差异程度超过预设阈值,则确定预设拟合方法存在错误,可以进行相应提示,以供用户对预设拟合方法进行更改。从而避免预设拟合方法错误,导致第一目标向量确定错误的问题,提高各目标向量确定的准确性。
77.步骤250、根据质心、第一目标向量、第二目标向量和第三目标向量构建物体坐标系,并根据物体坐标系将三维点云数据转化为二维点云数据。
78.将质心作为物体坐标系的圆心,将第一目标向量作为物体坐标系的主轴,第二目标向量作为与第一目标向量垂直的,位于目标物体所在平面的坐标轴,第三目标向量为垂直于目标物体所在平面的坐标轴,构建物体坐标系。
79.本实施例中,可选的,根据所述物体坐标系将所述三维点云数据转化为二维点云数据,包括:
80.根据所述物体坐标系和初始坐标系,确定目标旋转矩阵;
81.根据目标旋转矩阵和所述三维点云数据,将所述三维点云数据转化为二维点云数据。
82.其中,初始坐标系为三维点云所在的坐标系,根据物体坐标系和初始坐标系,确定初始坐标系到物体坐标系各轴之间的旋转关系,将旋转关系确定为目标旋转矩阵。
83.从而三维点云数据中各点与目标旋转矩阵相乘,得到目标物体所在平面的坐标数据,且将垂直方向的坐标数据转换为0,从而得到二维点云数据。
84.通过确定目标旋转矩阵,将三维点云数据通过与目标旋转矩阵进行计算转化为二维点云数据,在提高二维点获取效率的基础上使得二维点仍保留三维点的部分相对位置关
系,提高二维点云数据的确定的准确性。
85.步骤260、根据所述二维点云数据,按照预设圆形拟合算法识别所述目标物体。
86.本发明实施例通过根据三维点云数据的坐标数据确定三维点云数据的质心;通过预设拟合方法拟合坐标数据得到第一目标向量;根据第一目标向量确定第二目标向量和第三目标向量;根据质心、第一目标向量、第二目标向量和第三目标向量构建物体坐标系。使得构建的物体坐标系与目标物体相关,提高后续根据物体坐标系将三维点云数据转化得到的二维点云数据与三维点云数据对应的目标物体的关联性,从而提高目标物体识别的准确性。
87.实施例三
88.图3为本发明实施例三提供的一种物体识别装置的结构示意图。该装置可以由硬件和/或软件的方式来实现,可执行本发明任意实施例所提供的一种物体识别方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置包括:
89.点云数据获取模块310,用于获取目标范围的三维点云数据;
90.点云数据转化模块320,用于根据所述三维点云数据构建与目标物体关联的物体坐标系,并根据所述物体坐标系将所述三维点云数据转化为二维点云数据;
91.目标物体识别模块330,用于根据所述二维点云数据,按照预设圆形拟合算法识别所述目标物体。
92.在上述各技术方案的基础上,可选的,所述点云数据转化模块,包括:
93.执行确定单元,用于根据所述三维点云数据的坐标数据确定所述三维点云数据的质心;
94.第一数据拟合单元,用于通过预设拟合方法拟合所述坐标数据得到第一目标向量;其中,第一目标向量的朝向与所述三维点云数据的形状关联;
95.向量确定单元,用于根据所述第一目标向量确定第二目标向量和第三目标向量;其中所述第一目标向量、所述第二目标向量和所述第三目标向量两两垂直;
96.坐标系构建单元,用于根据所述质心、所述第一目标向量、所述第二目标向量和所述第三目标向量构建所述物体坐标系。
97.在上述各技术方案的基础上,可选的,所述向量确定单元,包括:
98.第二目标向量确定子单元,用于根据对所述第一目标向量的点乘操作确定所述第二目标向量;
99.第三目标向量确定子单元,用于根据对所述第一目标向量的叉乘操作确定所述第三目标向量。
100.在上述各技术方案的基础上,可选的,所述装置还包括:
101.第二数据拟合单元,用于通过所述预设拟合方法拟合所述坐标数据得到第二参考向量;
102.方法准确确定单元,用于根据所述第二参考向量和所述第二目标向量的差异程度确定所述预设拟合方法是否准确。
103.在上述各技术方案的基础上,可选的,所述点云数据转化模块,包括:
104.目标旋转矩阵确定单元,用于根据所述物体坐标系和初始坐标系,确定目标旋转矩阵;
105.点云数据转化单元,用于根据目标旋转矩阵和所述三维点云数据,将所述三维点云数据转化为二维点云数据。
106.在上述各技术方案的基础上,可选的,所述目标物体识别模块,包括:
107.信息识别单元,用于根据所述二维点云数据,按照预设圆形拟合算法识别候选物体的物体圆形信息;
108.目标物体确定单元,判断所述物体圆形信息是否满足预设信息条件;若满足,则确定所述候选物体为所述目标物体。
109.在上述各技术方案的基础上,可选的,所述点云数据获取模块,包括:
110.点云数据获取单元,用于通过rgb-d相机获取目标范围的三维点云数据。
111.实施例四
112.图4示出了可以用来实施本发明实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
113.如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
114.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
115.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如物体识别方法。
116.在一些实施例中,物体识别方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的物体识别方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行物体识别方法。
117.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
118.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
119.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
120.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
121.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
122.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
123.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只
要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
124.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1