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

物体点云修正方法、装置、电子设备和存储介质与流程

2022-07-23 13:16:02 来源:中国专利 TAG:


1.本发明涉及物体检测技术领域,尤其涉及一种物体点云修正方法、装置、电子设备和存储介质。


背景技术:

2.随着科技的进步,越来越多的工厂生产已经用上了机器视觉替代人工进行产品瑕疵的检测,如板材、钢板生产过程中的尺寸及缺陷检测,机器视觉具有稳定、准确性高且可以二十四小时不间断工作的特点,大大提升了企业的生产效率同时避免了漏检瑕疵件造成的损失。
3.但运用机器视觉目前往往伴随着产线的改造,且改造期间产线需要停工,成本较大,若不做改造,传统流水线则平稳性较差,例如在通过线激光获取平整物体的三维点云时可能因为产品处于传送带造成的随机上下振动中,导致采集到的点云是有一定程度的形变的,难以用于产品的缺陷检测。


技术实现要素:

4.目前,现有技术中针对物体振动场景下,物体三维点云存在形变的技术问题,主要采用对产线进行改造,提高传送带稳定性,对平整物体在传送带上进行固定,减少平整物体的振动的方式进行解决。
5.但上述方式,存在以下缺陷:产线改造需要投入巨大的经济成本,同时改造期间需要停产,会给企业带来巨大损失。
6.基于此,为解决物体振动场景下,物体三维点云存在形变的技术问题,本发明实施例提供一种物体点云修正方法、装置、电子设备和存储介质。
7.本发明实施例的技术方案是这样实现的:本发明实施例提供了一种物体点云修正方法,方法包括:获取物体点云;确定所述物体点云中每行的有效点云数及有效点云集合;在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。
8.上述方案中,所述根据所述有效点云集合和所述基准点云,对该行物体点云进行修正,包括:根据所述有效点云集合和所述基准点云,确定所述有效点云集合相对于所述基准点云的第一坐标夹角;利用所述第一坐标夹角对该行物体点云进行z坐标轴上的角度调平;确定线激光设备参数;根据所述线激光设备参数和所述基准点云,对该行物体点云进行x坐标轴上的角度调整。
9.上述方案中,所述根据所述有效点云集合和所述基准点云,确定所述有效点云集合相对于所述基准点云的第一坐标夹角,包括:计算所述有效点云集合中位于所述基准点云之前的所有点云与所述基准点云之间组成的坐标向量与y坐标轴之间的夹角;确定所述夹角的平均值;将所述平均值作为所述第一坐标夹角。
10.上述方案中,所述利用所述第一坐标夹角对该行物体点云进行z坐标轴上的角度调平,包括:计算该行物体点云中每个点云与所述基准点云之间的第一距离;根据所述第一距离和所述第一坐标夹角,计算该行物体点云中每个点云在z坐标轴上的调整高度;在该行物体点云中每个点云的z坐标值的基础上,减去所述该行物体点云中每个点云在z坐标轴上的调整高度,对该行物体点云中每个点云进行z坐标轴上的角度调平。
11.上述方案中,所述根据所述第一距离和所述第一坐标夹角,计算该行物体点云中每个点云在z坐标轴上的调整高度,包括:根据所述第一距离和所述第一坐标夹角,利用如下公式(1)计算该行物体点云中每个点云在z坐标轴上的调整高度:公式(1)其中,表示该行物体点云中每个点云在z坐标轴上的调整高度,表示该行物体点云中每个点云与基准点云之间的第一距离,表示第一坐标夹角。
12.上述方案中,所述根据所述线激光设备参数和所述基准点云,对该行物体点云进行x坐标轴上的角度调整,包括:将所述线激光设备参数和所述基准点云坐标输入预设第一方程中,获取该行物体点云在x坐标轴上的调整高度;在所述基准点云的z坐标值大于0时,在该行物体点云中每个点云的x坐标值的基础上,减去所述该行物体点云在x坐标轴上的调整高度,对该行物体点云中每个点云进行x坐标轴上的调整高度;在所述基准点云的z坐标值小于或等于0时,在该行物体点云中每个点云的x坐标值的基础上,加上所述该行物体点云在x坐标轴上的调整高度,对该行物体点云中每个点云进行x坐标轴上的调整高度。
13.上述方案中,所述预设第一方程为:其中,表示该行物体点云中每个点云在z坐标轴上的坐标值,表示基准点云在z坐标轴上的坐标值,和表示线激光设备参数,表示该行物体点云在x坐标轴上的调整高度,表示当前该行物体点云的列数,表示物体点云的
总列数。
14.本发明实施例还提供了一种物体点云修正装置,该装置包括:获取模块,用于获取物体点云;确定模块,用于确定所述物体点云中每行的有效点云数及有效点云集合;选择模块,用于在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;修正模块,用于根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。
15.本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,处理器用于运行计算机程序时,执行上述任一方法的步骤。
16.本发明实施例还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一方法的步骤。
17.本发明实施例提供的物体点云修正方法、装置、电子设备和存储介质,获取物体点云;确定所述物体点云中每行的有效点云数及有效点云集合;在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。采用本发明提供的方案能对物体振动场景下,物体三维点云存在的形变进行修正。
附图说明
18.图1为本发明实施例物体点云修正方法的流程示意图;图2为本发明应用实施例标定过程示意图;图3为本发明实施例物体点云修正装置的结构示意图;图4为本发明实施例计算机设备的内部结构图。
具体实施方式
19.下面将结合附图及实施例对本发明作进一步详细的描述。
20.本发明实施例提供了一种物体点云修正方法,如图1所示,该方法包括:步骤101:获取物体点云;步骤102:确定所述物体点云中每行的有效点云数及有效点云集合;步骤103:在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;步骤104:根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。
21.本实施例提供一种鲁棒性强的振动场景下平整物体三维点云纠正的方法,考虑相机小孔成像模型对点云进行x向纠正,实现在振动场景下也能采集出平整且正确的平整物体表面三维信息,供后续分析使用,无需对产线进行改造。
22.另外,需要注意的是,本实施例的方案是将物体三维点云修正成正确的形貌,与平滑点云不同,平滑点云是使点云看起来变化较为平滑,但不一定是把点云恢复成正确的形
貌。
23.在一实施例中,所述根据所述有效点云集合和所述基准点云,对该行物体点云进行修正,包括:根据所述有效点云集合和所述基准点云,确定所述有效点云集合相对于所述基准点云的第一坐标夹角;利用所述第一坐标夹角对该行物体点云进行z坐标轴上的角度调平;确定线激光设备参数;根据所述线激光设备参数和所述基准点云,对该行物体点云进行x坐标轴上的角度调整。
24.在一实施例中,所述根据所述有效点云集合和所述基准点云,确定所述有效点云集合相对于所述基准点云的第一坐标夹角,包括:计算所述有效点云集合中位于所述基准点云之前的所有点云与所述基准点云之间组成的坐标向量与y坐标轴之间的夹角;确定所述夹角的平均值;将所述平均值作为所述第一坐标夹角。
25.在一实施例中,所述利用所述第一坐标夹角对该行物体点云进行z坐标轴上的角度调平,包括:计算该行物体点云中每个点云与所述基准点云之间的第一距离;根据所述第一距离和所述第一坐标夹角,计算该行物体点云中每个点云在z坐标轴上的调整高度;在该行物体点云中每个点云的z坐标值的基础上,减去所述该行物体点云中每个点云在z坐标轴上的调整高度,对该行物体点云中每个点云进行z坐标轴上的角度调平。
26.在一实施例中,所述根据所述第一距离和所述第一坐标夹角,计算该行物体点云中每个点云在z坐标轴上的调整高度,包括:根据所述第一距离和所述第一坐标夹角,利用如下公式(1)计算该行物体点云中每个点云在z坐标轴上的调整高度:公式(1)其中,表示该行物体点云中每个点云在z坐标轴上的调整高度,表示该行物体点云中每个点云与基准点云之间的第一距离,表示第一坐标夹角。
27.在一实施例中,所述根据所述线激光设备参数和所述基准点云,对该行物体点云进行x坐标轴上的角度调整,包括:将所述线激光设备参数和所述基准点云坐标输入预设第一方程中,获取该行物体点云在x坐标轴上的调整高度;在所述基准点云的z坐标值大于0时,在该行物体点云中每个点云的x坐标值的基础上,减去所述该行物体点云在x坐标轴上的调整高度,对该行物体点云中每个点云进行x坐标轴上的调整高度;在所述基准点云的z坐标值小于或等于0时,在该行物体点云中每个点云的x坐标值的基础上,加上所述该行物体点云在x坐标轴上的调整高度,对该行物体点
云中每个点云进行x坐标轴上的调整高度。
28.在一实施例中,所述预设第一方程为:其中,表示该行物体点云中每个点云在z坐标轴上的坐标值,表示基准点云在z坐标轴上的坐标值,和表示线激光设备参数,表示该行物体点云在x坐标轴上的调整高度,表示当前该行物体点云的列数,表示物体点云的总列数。
29.本发明实施例提供的物体点云修正方法,获取物体点云;确定所述物体点云中每行的有效点云数及有效点云集合;在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。采用本发明提供的方案能对物体振动场景下,物体三维点云存在的形变进行修正。
30.下面将结合应用实施例,对本发明进行详细描述。
31.本应用实施例提供一种鲁棒性强的振动场景下平整物体三维点云纠正的方法,考虑相机小孔成像模型对点云进行x向纠正,实现在振动场景下也能采集出平整且正确的平整物体表面三维信息,供后续分析使用,无需对产线进行改造。
32.具体地,方法分为标定步骤部分和纠正步骤部分:标定步骤部分:(1)因线激光设备的内参一般设备方不会给出,但本方法需要进行简易标定得到必要信息用于后续计算,参见图2,首先取一个边缘有棱角的物体(例如木板),将其边缘摆放于线激光视野中百分之七十左右的位置,记当前物体边缘点为位置1;(2)用线激光采集一次点云,获得位置1的一条点云s1(包含无效点信息,无效点深度z值为-1000000000)及其对应的相机图像b1;(3)将物体横向移动,直至物体边缘即将消失与线激光视野中,记当前物体边缘位置为位置2,位置1与位置2理想情况下高度相同,采集获得点云s2及其对应的相机图像b2;(4)标定主要目的是获得图1中线激光相机光心距离成像面的距离d,以及线激光视野角度的一半角度θ和成像面上的实际点距dx,通过对点云s1和点云s2分别提取位置1与位置2的坐标,可得到位置1的高度值为z,位置1与位置2的x向坐标差为

x;(5)通过图像b1和b2可得到物体处于不同位置时,其边缘在相机视野里的横坐标差值

u,通过相似三角形关系可列,因其中包含两个未知数d与dx,无法直接解出,所以需要重复步骤1-4于其他位置得到另一组相似三角形关系,两个方程联立即可求得d与dx。
33.纠正步骤部分:(1)通过线激光传感器采集平整物体的点云s,点云s为h行w列,一共h
×
w个点(其中包含无效点);(2)建立大小为h的数组v,用于记录每行的有效点数(通常线激光设备采集点云时
会给无效点一个极小的远超出其量程的z坐标,例如-100000000),对于点云s的每一行点云,统计第h行点云中z坐标有效的总点数,使;(3)建立大小为h的数组p,用于记录每行的有效点的坐标,方法对于第h行,如果v[h]大于单行有效点个数阈值 (根据经验设定,不小于0.1
×
w),则从s[h][0]开始到s[h][w-1]结束,按顺序将有效点的行列坐标存入p[h]中,这样p[h]的第一个元素和最后一个元素即为第h行的有效点起始列与有效点结束列,代表了该行点云中平整物体的点云;(4)遍历s的每一行点云,例如对于第h行点云,如果其v[h]大于行有效点阈值,则选取该行点云有效点数组p[h]中序号为k=0.9
×
v[h](结果向下取整)的点作为该行的基准点,其对应的三维坐标记为,记为,然后从p[h][0]开始直到p[h][k-1]结束,对其中每个点p[h][i]从s中获取其对应的三维坐标,计算向量与y坐标轴向量(0,1,0)所成的夹角,将该行所有的相加再除以其数量k-1,得到该行的代表角度;(5)接下来通过对点云s的第h行点云进行角度调平,方法为对该行点云中的每个点s[h][w],即点云s第h行的点,计算其与该行基准点的距离,再通过计算其角度调平所需调整的z向高度

z,,即完成角度调平;(6)接下来基于标定得到的参数进行第h行点云每个点x坐标纠正,方法为通过相似三角形可得方程,方程里只有

x未知,可直接解出

x,如果大于0,则说明调到0平面后该行点云应拉长,则,否则;(7)对于第6步中拉长的单条点云,可能会存在拉长后点云间距过大导致过于稀疏,通过相邻点取均值进行插值操作提高点密度;(8)最后点云s中每个点的z向高度减去该行的基准点高度即,完成整个平整物体点云s的调平。
[0034]
本实施例提供一种鲁棒性强的振动场景下平整物体三维点云纠正的方法,充分考虑相机小孔成像模型,解决了传送带随机抖动带来的线激光采集点云形变的问题,可以获得高准确率的的平整物体表面三维信息,之后可用于各种分析,例如尺寸检测、缺陷识别等等。
[0035]
为了实现本发明实施例的方法,本发明实施例还提供了一种物体点云修正装置,
如图3所示,物体点云修正装置300包括:获取模块301、确定模块302、选择模块303和修正模块304;其中,获取模块301,用于获取物体点云;确定模块302,用于确定所述物体点云中每行的有效点云数及有效点云集合;选择模块303,用于在所述有效点云数大于预设阈值时,从所述有效点云集合中选择基准点云;修正模块304,用于根据所述有效点云集合和所述基准点云,对该行物体点云进行修正。
[0036]
实际应用时,获取模块301、确定模块302、选择模块303和修正模块304可由物体点云修正装置中的处理器实现。
[0037]
需要说明的是:上述实施例提供的上述装置在执行时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的上述装置与上述方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0038]
为了实现本发明实施例的方法,本发明实施例还提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述方法的步骤。
[0039]
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备(计算机设备)。具体地,在一个实施例中,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、显示屏a04、输入装置a05和存储器(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a06。该非易失性存储介质a06存储有操作系统b01和计算机程序b02。该内存储器a03为非易失性存储介质a06中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序被处理器a01执行时以实现上述任意一项实施例的方法。该计算机设备的显示屏a04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置a05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0040]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0041]
本发明实施例提供的设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项实施例的方法。
[0042]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
[0043]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0044]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0045]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0046]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0047]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
[0048]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
[0049]
可以理解,本发明实施例的存储器可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器
(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0050]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0051]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献