一种识别吊物轮廓的方法、装置、设备及可读存储介质与流程
未命名
08-03
阅读:135
评论:0

1.本发明涉及图像识别技术领域,特别涉及一种识别吊物轮廓的方法、装置、设备及可读存储介质。
背景技术:
2.在使用塔吊的过程中,即便知道了一个吊次的起点位置和终点位置,也不能规划出一个安全且有效的运行路径,还需要知道吊物的轮廓大小,从而规划出可以避免吊物与塔吊工作区域内的障碍物发生碰撞的安全运行路径;在现有技术中,需要工作人员自己事先获取吊物的轮廓大小并手动输入到规划运行路径的终端中,过程较为繁琐。因此,如何自动化的获取吊物的轮廓大小以便于后期进行路径规划,成为了本领域技术人员亟需解决的技术问题。
技术实现要素:
3.本发明的目的在于提供一种识别吊物轮廓的方法、装置、设备及可读存储介质,能够自动化的计算出吊物的轮廓大小,不仅高效且准确性较好。
4.根据本发明的一个方面,提供了一种识别吊物轮廓的方法,所述方法包括:
5.在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;
6.在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;
7.比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;
8.利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;
9.根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。
10.可选的,所述静态点云地图、所述实时点云地图、所述差异点云地图均采用预设的塔吊坐标系;其中,所述塔吊坐标系是以所述塔吊与地面的交点作为原点、以正东方向作为x轴、以正北方向作为y轴、以垂直于地面且向上方向作为z轴建立的。
11.可选的,所述比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图,包括:
12.获取所述塔吊小车在所述塔吊坐标系中的当前坐标位置;
13.以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图;其中,所述参考点云地图表征的地面区域与所述实时点云地图表征的地面区域相同;
14.比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图。
15.可选的,所述以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图,包括:
16.将所述当前坐标位置中的x轴坐标和y轴坐标设置为参考点,并根据所述实时点云
地图对应的地面区域的大小设置参考半径;
17.将所述静态点云地图中每个点的x轴坐标和y轴坐标形成第一集合,并创建空的第二集合;
18.依次遍历所述第一集合中的各个点,并判断当前遍历到的点与所述参考点的距离是否小于所述参考半径;
19.若是,则将当前遍历到的点添加到所述第二集合中,若否,则遍历所述第一集合中的下个点;
20.当遍历完所述第一集合中的所有点时,根据所述第二集合中的所有点形成所述参考点云地图。
21.可选的,所述比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图,包括:
22.将所述参考点云地图和所述实时点云地图输入到迭代最近点icp算法中,以得到用于对所述实时点云地图进行对齐调整的旋转参数r*和平移参数t*;
23.按照如下公式对所述实时点云地图进行对齐调整,以得到标准实时点云地图:
24.标准实时点云地图=实时点云地图
×r*
+t
*
;
25.将所述标准实时点云地图、所述参考点云地图和预设距离阈值输入到k-dimensional树匹配算法中,以确定出所述差异点云地图。
26.可选的,所述利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云,包括:
27.获取基于欧式聚类算法事先训练得到的聚类模型;
28.将所述差异点云地图中每个点在所述塔吊坐标系中的三维坐标位置输入到所述聚类模型中,以得到表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云。
29.可选的,所述根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息,包括:
30.获取所述表征吊物的点云中每个点在所述塔吊坐标系中的三维坐标位置,并将最大z轴坐标与最小z轴坐标的差值作为所述吊物的高度;
31.根据所述表征吊物的点云中每个点的x轴坐标和y轴坐标,得到二维图像;
32.按照预设值n,将所述二维图像划分为n
×
n个图块,并计算每个图块的主方向角度;
33.根据所有图块的主方向角度计算出所述二维图像的主方向角度;
34.按照所述二维图像的主方向角度旋转所述二维图像,以得到标准二维图像;
35.根据所述标准二维图像中位于左上角的点和位于右下角的点计算出所述吊物的长度和宽度。
36.为了实现上述目的,本发明还提供一种识别吊物轮廓的装置,所述装置包括:
37.第一获取模块,用于在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;
38.第二获取模块,用于在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;
39.点云比较模块,用于比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;
40.点云聚类模块,用于利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;
41.轮廓识别模块,用于根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。
42.为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的识别吊物轮廓的方法的步骤。
43.为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的识别吊物轮廓的方法的步骤。
44.本发明提供的识别吊物轮廓的方法、装置、设备及可读存储介质,与现有技术相比,不需要工作人员事先获取吊物的轮廓信息,可自动的通过先获取静态点云地图和实时点云地图、再从该实时点云地图中确定出不存在于该静态点云地图中的差异点云地图、之后从该差异点云地图中识别出吊钩、吊绳和吊物、最后基于表征吊物的点云的位置信息计算出吊物的长度、宽度和高度,本发明能够自动化的计算出吊物的轮廓大小,不仅高效且准确性较好。
附图说明
45.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
46.图1为实施例一提供的识别吊物轮廓的方法的一种可选的流程示意图;
47.图2为实施例一提供的塔吊的示意图;
48.图3为实施例一提供的静态点云地图的示意图;
49.图4为实施例一提供的实时点云地图的示意图;
50.图5为实施例一提供的基于差异点云地图的聚类结果的示意图;
51.图6为实施例一提供的初始的二维图像的示意图;
52.图7为实施例一提供的标准二维图像的示意图;
53.图8为实施例二提供的识别吊物轮廓的装置的一种可选的组成结构示意图;
54.图9为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
55.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.实施例一
57.本发明实施例提供了一种识别吊物轮廓的方法,如图1所示,该方法具体包括以下
步骤:
58.步骤s101:在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图。
59.具体的,可通过安装在塔吊小车上的激光雷达获取所述静态点云地图;如图2所示,为塔吊示意图,在塔吊大臂上设置有塔吊小车、且在塔吊小车上设置有激光雷达、小车变幅测距、小车向下相机,此外,在塔吊大臂与塔吊塔身连接处设置有风力传感器、重量传感器、回转传感器、倾角传感器和臂根相机;在实际应用中,通过转动塔吊大臂以及移动塔吊小车,就可通过激光雷达采集到塔吊的全部工作区域内的地面点云数据,即得到静态点云地图;在该静态点云地图中包括了地面所有障碍物的信息(位置和高度);还需要说明的是,通常在一段时间内地面信息不会发生变化,因此,可以按照设定时间间隔定期获取所述静态点云地图,以反映特定时间段内的地面信息。
60.步骤s102:在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图。
61.具体的,通过安装在塔吊小车上的激光雷达获取所述实时点云地图;如图3所示,静态点云地图表征的是塔吊的全部工作区域,且在静态点云地图中不会包含吊钩、吊物、吊绳的信息;而如图4所示,实时点云地图仅表征塔吊小车下方的局部区域,且在实时点云地图中除了包含地面障碍物的信息外还包含吊钩、吊物、吊绳的信息。
62.步骤s103:比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图。
63.正如上述介绍的,实时点云地图对应的区域是静态点云地图对应的区域中的一小部分,且与静态点云地图相比,在实时点云地图中会多出吊钩、吊物、吊绳的信息;因此,可通过比对两个点云地图中的点,以确定出仅存在于实时点云地图而不存在于静态点云地图中的差异点,并将确定出的所有差异点形成所述差异点云地图。
64.步骤s104:利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云。
65.具体的,可事先基于大量样本数据训练出用于从点云地图中划分出四个区域的聚类算法;优选的,所述聚类算法可采用基于距离的欧式聚类算法或者采用基于密度的dbscan(density-based spatial clustering of applications with noise)聚类算法。如图五所示,为聚类结果示意图,将差异点云地图划分为表征钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、表征吊物的点云。
66.步骤s105:根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息;其中,所述轮廓信息包括:长度、宽度、高度。
67.具体的,所述静态点云地图、所述实时点云地图、所述差异点云地图均采用预设的塔吊坐标系;其中,所述塔吊坐标系是以所述塔吊与地面的交点作为原点、以正东方向作为x轴、以正北方向作为y轴、以垂直于地面且向上方向作为z轴建立的;在步骤s105中分别获取表征吊物的点云中每个点在所述塔吊坐标系中的位置信息,并将z轴上的最大坐标值与最小坐标值的差值作为所述吊物的高度、将x轴上的最大坐标值与最小坐标值的差值作为所述吊物的长度、将y轴上的最大坐标值与最小坐标值的差值作为所述吊物的宽度。
68.通过上述步骤s101至步骤s105,可利用由塔吊上的激光雷达采集到的静态点云地图和实时点云地图计算出吊物的轮廓信息;与现有技术相比,不需要工作人员事先获取吊物的轮廓信息,可自动的通过先获取静态点云地图和实时点云地图、再从该实时点云地图
中确定出不存在于该静态点云地图中的差异点云地图、之后从该差异点云地图中识别出吊钩、吊绳和吊物、最后基于表征吊物的点云的位置信息计算出吊物的长度、宽度和高度,本实施例能够自动化的计算出吊物的轮廓大小,不仅高效且准确性较好。
69.进一步的,在实现步骤s103中的比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图的步骤时,具体包括:
70.步骤a1:获取所述塔吊小车在所述塔吊坐标系中的当前坐标位置;
71.步骤a2:以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图;其中,所述参考点云地图表征的地面区域与所述实时点云地图表征的地面区域相同;
72.步骤a3:比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图。
73.按照上述步骤a1至步骤a3的方式,从静态点云地图中扣出与实施点云地图对应的参考点云地图,并基于该参考点云地图计算出差异点云地图,可以减少比较过程的运算量,提高计算效率。
74.更进一步的,所述步骤a1,具体包括:
75.步骤a11:获取塔吊大臂的初始位置与正东方向的夹角γ,并获取在使用所述塔吊时所述塔吊大臂的转动角度θ;
76.步骤a12:获取在俯视图下所述塔吊小车距离所述塔吊坐标系的原点的距离r,并获取所述塔吊大臂的离地高度h;
77.步骤a13:按照如下公式计算出所述塔吊小车在所述塔吊坐标系中的当前位置(x,y,z):
78.x=r*cos(γ+θ);
79.y=r*sin(γ+θ);
80.z=h。
81.在实际应用中,可通过变幅、回转、起升三大机构的绝对编码器的值获取到当前小车在塔吊坐标系的极坐标(r,θ,h);例如,可通过安装在塔吊上的回转传感器获取到γ和θ,通过小车变幅测距传感器获取到距离r。
82.更进一步的,所述步骤a2,具体包括:
83.步骤a21:将所述当前坐标位置中的x轴坐标和y轴坐标设置为参考点(x,y),并根据所述实时点云地图对应的地面区域的大小设置参考半径r;
84.需要说明的是,所述实时点云地图对应的地面区域的半径是根据激光雷达的fov(field of view,视角场)和塔吊小车的离地高度计算出的,且参考半径比所述实时点云地图对应的地面区域的半径略大;
85.步骤a22:将所述静态点云地图中每个点的x轴坐标和y轴坐标形成第一集合,并创建空的第二集合;
86.步骤a23:依次遍历所述第一集合中的各个点,并判断当前遍历到的点与所述参考点的距离是否小于所述参考半径;
87.即,计算第一集合中的点(xj′
,yj′
)到参考点(x,y)的距离d是否小于参考半径r;其中,j∈[1,m],m为所述第一集合中点的总个数;
[0088]
步骤a24:若是,则将当前遍历到的点添加到所述第二集合中,若否,则遍历所述第一集合中的下个点;
[0089]
步骤a25:当遍历完所述第一集合中的所有点时,根据所述第二集合中的所有点形成所述参考点云地图;
[0090]
需要说明的是,在所述第二集合中的点仅包括x轴坐标和y轴坐标,在形成参考点云地图时,还需要为第二集合中的每个点添加z轴的坐标,以根据第二集合中每个点的三维坐标形成所述参考点云地图。
[0091]
进一步的,所述步骤a3,具体包括:
[0092]
步骤a31:将所述参考点云地图和所述实时点云地图输入到迭代最近点icp算法中,以得到用于对所述实时点云地图进行对齐调整的旋转参数r*和平移参数t*;
[0093]
icp(iterative closest point,迭代最近点)算法是一种点云匹配算法,icp算法的输入是所述参考点云地图和所述实时点云地图,并将所述实时点云地图作为源点云地图、以及将所述参考点云地图作为目标点云地图;icp算法的输出为旋转参数r*和平移参数t*,通过使用旋转参数r*和平移参数t*使得所述参考点云地图与所述实时点云地图高度重合;在使用icp算法时会经历多次迭代,每次迭代会用实时点云地图中的n个点从参考点云地图中匹配出对应的n个最近的点;使用以下公式得到的位姿参数(r*,t*),将所述位姿参数作用于实时点云地图,然后再次跟参考点云地图计算新的位姿参数(r*,t*),直到迭代次数上限或者收敛后得到最终的位姿参数;优选的,icp算法的具体使用过程如下:
[0094]
根据所述参考点云地图中每个点的坐标位置计算出所述参考点云地图的质心位置p,并根据所述实时点云地图中每个点的坐标位置计算出所述实时点云地图的质心位置p’;
[0095]
按照如下公式计算出旋转参数r*:
[0096][0097]
其中,n为所述参考点云地图中点的总个数;
[0098]
qi=pi–
p,且pi为所述参考点云地图中的第i个点;
[0099]q′i=p
′
i-p
′
,且p
′i为所述实时点云地图中与所述参考点云地图中的第i个点对应的第i个点;
[0100]
按照如下公式计算出平移参数t*:
[0101]
t
*
=p-r
*
p
′
。
[0102]
步骤a32:按照如下公式对所述实时点云地图进行对齐调整,以得到标准实时点云地图:
[0103]
标准实时点云地图=实时点云地图
×r*
+t
*
;
[0104]
步骤a33:将所述标准实时点云地图、所述参考点云地图和预设距离阈值输入到k-dimensional树匹配算法中,以确定出所述差异点云地图。
[0105]
在实际应用中,由于吊物的重量会引起塔吊大臂的倾斜,从而导致安装在塔吊大臂上的激光雷达获取的实时点云地图会出现1-5米的偏差,所以需要按照上述步骤a31至步骤a32的方式对实时点云地图进行校正,以得到校正后的标准实时点云地图。此外,k-dimensional树匹配算法,即kd-tree,是一种对k维空间中的实例点进行存储以便对其进行
快速检索的树形数据结构;主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。优选的,k-dimensional树匹配算法的处理过程为:依次遍历所述标准实时点云地图中的每个点,并从所述参考点云地图中确定出与当前遍历到的点对应的匹配点,判断所述当前遍历到的点与所述匹配点的距离是否大于所述预设距离阈值,若是,则将所述当前遍历的点添加到差异点云地图中,并遍历所述标准实时点云地图中的下个点;若否,则遍历所述标准实时点云地图中的下个点。
[0106]
进一步的,在实现步骤s104中的利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云的步骤时,具体包括:
[0107]
步骤b1:获取基于欧式聚类算法事先训练得到的聚类模型;
[0108]
步骤b2:将所述差异点云地图中每个点在所述塔吊坐标系中的三维坐标位置输入到所述聚类模型中,以得到表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云。
[0109]
在本实施例中,利用预设样本数据事先基于欧式聚类算法进行训练得到所述聚类模型,通过所述聚类模型可以更加精确的得到用于表征钢丝绳的点云、表征吊钩的点云、表征吊绳的点云和表征吊物的点云。
[0110]
进一步的,在实现步骤s105中的根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息的步骤时,具体包括:
[0111]
步骤c1:获取所述表征吊物的点云中每个点在所述塔吊坐标系中的三维坐标位置,并将最大z轴坐标与最小z轴坐标的差值作为所述吊物的高度;
[0112]
步骤c2:根据所述表征吊物的点云中每个点的x轴坐标和y轴坐标,得到二维图像;
[0113]
其中,所述二维图形为二值图像,有效点的值为255、而无效点的值为0;
[0114]
步骤c3:按照预设值n,将所述二维图像划分为n
×
n个图块,并计算每个图块的主方向角度;
[0115]
其中,针对目标图块,根据所述目标图块周围的临近图块的像素值计算出所述目标图块的主方向角度;
[0116]
步骤c4:根据所有图块的主方向角度计算出所述二维图像的主方向角度;
[0117]
更进一步的,步骤c4,具体包括:
[0118]
步骤c41:根据每个图块的主方向角度,将每个图块归类到预设的m个角度范围中;其中,将360度按照预设值m均分得到m个角度范围;
[0119]
步骤c42:依次统计各个角度范围的图块数量,并将图块数量最多的角度范围作为所述二维图像的主方向角度;
[0120]
步骤c5:按照所述二维图像的主方向角度旋转所述二维图像,以得到标准二维图像;
[0121]
如图6所示,为旋转前的二维图像,如图7所示,为旋转后的标准二维图像;
[0122]
步骤c6:根据所述标准二维图像中位于左上角的点和位于右下角的点计算出所述吊物的长度和宽度;
[0123]
更进一步的,步骤c6,具体包括:
[0124]
步骤c61:获取所述标准二维图像中位于左上角的点的坐标(left,top);
[0125]
步骤c62:获取所述标准二维图像中位于右下角的点的坐标(right,bottom);
[0126]
步骤c63:按照如下公式计算所述吊物的长度length:
[0127]
length=right
–
left;
[0128]
步骤c64:按照如下公式计算所述吊物的宽度width:
[0129]
width=bottom
–
bottom。
[0130]
在本实施例中,通过获取塔吊的静态点云地图和激光雷达的实时点云地图,并进行点云配准,以自动实时计算出当前塔吊小车下发环境范围内与静态点云地图的差异,从而输出roi区域(钢丝绳、吊钩、吊绳、吊物)在塔吊坐标系的差异点云地图;在本实施例中通过点云数据的实时采集和算法计算,可以自动计算出吊物的轮廓信息,免除了人工的输入。
[0131]
实施例二
[0132]
本发明实施例提供了一种识别吊物轮廓的装置,如图8所示,该装置具体包括以下组成部分:
[0133]
第一获取模块801,用于在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;
[0134]
第二获取模块802,用于在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;
[0135]
点云比较模块803,用于比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;
[0136]
点云聚类模块804,用于利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;
[0137]
轮廓识别模块805,用于根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。
[0138]
具体的,所述静态点云地图、所述实时点云地图、所述差异点云地图均采用预设的塔吊坐标系;其中,所述塔吊坐标系是以所述塔吊与地面的交点作为原点、以正东方向作为x轴、以正北方向作为y轴、以垂直于地面且向上方向作为z轴建立的。
[0139]
进一步的,点云比较模块803,具体包括:
[0140]
获取单元,用于获取所述塔吊小车在所述塔吊坐标系中的当前坐标位置;
[0141]
截取单元,用于以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图;其中,所述参考点云地图表征的地面区域与所述实时点云地图表征的地面区域相同;
[0142]
比较单元,用于比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图。
[0143]
更进一步的,所述获取单元,具体用于:
[0144]
获取塔吊大臂的初始位置与正东方向的夹角γ,并获取在使用所述塔吊时所述塔吊大臂的转动角度θ;
[0145]
获取在俯视图下所述塔吊小车距离所述塔吊坐标系的原点的距离r,并获取所述塔吊大臂的离地高度h;
[0146]
按照如下公式计算出所述塔吊小车在所述塔吊坐标系中的当前位置(x,y,z):
[0147]
x=r*cos(γ+θ);
[0148]
y=r*sin(γ+θ);
[0149]
z=h。
[0150]
更进一步的,所述截取单元,具体用于:
[0151]
将所述当前坐标位置中的x轴坐标和y轴坐标设置为参考点,并根据所述实时点云地图对应的地面区域的大小设置参考半径;
[0152]
将所述静态点云地图中每个点的x轴坐标和y轴坐标形成第一集合,并创建空的第二集合;
[0153]
依次遍历所述第一集合中的各个点,并判断当前遍历到的点与所述参考点的距离是否小于所述参考半径;
[0154]
若是,则将当前遍历到的点添加到所述第二集合中,若否,则遍历所述第一集合中的下个点;
[0155]
当遍历完所述第一集合中的所有点时,根据所述第二集合中的所有点形成所述参考点云地图。
[0156]
更进一步的,所述比较单元,具体用于:
[0157]
将所述参考点云地图和所述实时点云地图输入到迭代最近点icp算法中,以得到用于对所述实时点云地图进行对齐调整的旋转参数r*和平移参数t*;
[0158]
按照如下公式对所述实时点云地图进行对齐调整,以得到标准实时点云地图:
[0159]
标准实时点云地图=实时点云地图
×r*
+t
*
;
[0160]
将所述标准实时点云地图、所述参考点云地图和预设距离阈值输入到k-dimensional树匹配算法中,以确定出所述差异点云地图。
[0161]
进一步的,点云聚类模块804,具体用于:
[0162]
获取基于欧式聚类算法事先训练得到的聚类模型;
[0163]
将所述差异点云地图中每个点在所述塔吊坐标系中的三维坐标位置输入到所述聚类模型中,以得到表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云。
[0164]
进一步的,轮廓识别模块805,具体用于:
[0165]
获取所述表征吊物的点云中每个点在所述塔吊坐标系中的三维坐标位置,并将最大z轴坐标与最小z轴坐标的差值作为所述吊物的高度;
[0166]
根据所述表征吊物的点云中每个点的x轴坐标和y轴坐标,得到二维图像;
[0167]
按照预设值n,将所述二维图像划分为n
×
n个图块,并计算每个图块的主方向角度;
[0168]
根据所有图块的主方向角度计算出所述二维图像的主方向角度;
[0169]
按照所述二维图像的主方向角度旋转所述二维图像,以得到标准二维图像;
[0170]
根据所述标准二维图像中位于左上角的点和位于右下角的点计算出所述吊物的长度和宽度。
[0171]
实施例三
[0172]
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图9所示,本实施例的计算机设备90至
少包括但不限于:可通过系统总线相互通信连接的存储器901、处理器902。需要指出的是,图9仅示出了具有组件901-902的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0173]
本实施例中,存储器901(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器901可以是计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,存储器901也可以是计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器901还可以既包括计算机设备90的内部存储单元也包括其外部存储设备。在本实施例中,存储器901通常用于存储安装于计算机设备90的操作系统和各类应用软件。此外,存储器901还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0174]
处理器902在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器902通常用于控制计算机设备90的总体操作。
[0175]
具体的,在本实施例中,处理器902用于执行存储器901中存储的识别吊物轮廓的方法的程序,所述识别吊物轮廓的方法的程序被执行时实现如下步骤:
[0176]
在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;
[0177]
在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;
[0178]
比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;
[0179]
利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;
[0180]
根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。
[0181]
上述方法步骤的具体实施例过程可参见实施例一,本实施例在此不再重复赘述。
[0182]
实施例四
[0183]
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
[0184]
在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;
[0185]
在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;
[0186]
比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;
[0187]
利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;
[0188]
根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。
[0189]
上述方法步骤的具体实施例过程可参见实施例一,本实施例在此不再重复赘述。
[0190]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0191]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0192]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
[0193]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种识别吊物轮廓的方法,其特征在于,所述方法包括:在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。2.根据权利要求1所述的识别吊物轮廓的方法,其特征在于,所述静态点云地图、所述实时点云地图、所述差异点云地图均采用预设的塔吊坐标系;其中,所述塔吊坐标系是以所述塔吊与地面的交点作为原点、以正东方向作为x轴、以正北方向作为y轴、以垂直于地面且向上方向作为z轴建立的。3.根据权利要求2所述的识别吊物轮廓的方法,其特征在于,所述比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图,包括:获取所述塔吊小车在所述塔吊坐标系中的当前坐标位置;以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图;其中,所述参考点云地图表征的地面区域与所述实时点云地图表征的地面区域相同;比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图。4.根据权利要求3所述的识别吊物轮廓的方法,其特征在于,所述以所述当前坐标位置为定位点,从所述静态点云地图中截取出参考点云地图,包括:将所述当前坐标位置中的x轴坐标和y轴坐标设置为参考点,并根据所述实时点云地图对应的地面区域的大小设置参考半径;将所述静态点云地图中每个点的x轴坐标和y轴坐标形成第一集合,并创建空的第二集合;依次遍历所述第一集合中的各个点,并判断当前遍历到的点与所述参考点的距离是否小于所述参考半径;若是,则将当前遍历到的点添加到所述第二集合中,若否,则遍历所述第一集合中的下个点;当遍历完所述第一集合中的所有点时,根据所述第二集合中的所有点形成所述参考点云地图。5.根据权利要求3所述的识别吊物轮廓的方法,其特征在于,所述比较所述参考点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述参考点云地图的点形成所述差异点云地图,包括:将所述参考点云地图和所述实时点云地图输入到迭代最近点icp算法中,以得到用于对所述实时点云地图进行对齐调整的旋转参数r*和平移参数t*;按照如下公式对所述实时点云地图进行对齐调整,以得到标准实时点云地图:标准实时点云地图=实时点云地图
×
r
*
+t
*
;
将所述标准实时点云地图、所述参考点云地图和预设距离阈值输入到k-dimensional树匹配算法中,以确定出所述差异点云地图。6.根据权利要求2所述的识别吊物轮廓的方法,其特征在于,所述利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云,包括:获取基于欧式聚类算法事先训练得到的聚类模型;将所述差异点云地图中每个点在所述塔吊坐标系中的三维坐标位置输入到所述聚类模型中,以得到表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云。7.根据权利要求2所述的识别吊物轮廓的方法,其特征在于,所述根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息,包括:获取所述表征吊物的点云中每个点在所述塔吊坐标系中的三维坐标位置,并将最大z轴坐标与最小z轴坐标的差值作为所述吊物的高度;根据所述表征吊物的点云中每个点的x轴坐标和y轴坐标,得到二维图像;按照预设值n,将所述二维图像划分为n
×
n个图块,并计算每个图块的主方向角度;根据所有图块的主方向角度计算出所述二维图像的主方向角度;按照所述二维图像的主方向角度旋转所述二维图像,以得到标准二维图像;根据所述标准二维图像中位于左上角的点和位于右下角的点计算出所述吊物的长度和宽度。8.一种识别吊物轮廓的装置,其特征在于,所述装置包括:第一获取模块,用于在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;第二获取模块,用于在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;点云比较模块,用于比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;点云聚类模块,用于利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;轮廓识别模块,用于根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息。9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
技术总结
本发明公开了一种识别吊物轮廓的方法、装置、设备及可读存储介质,该方法包括:在塔吊未使用时,获取表征塔吊工作区域内地面信息的静态点云地图;在所述塔吊使用时,获取表征塔吊小车下方区域的实时点云地图;比较所述静态点云地图和所述实时点云地图,将仅存在于所述实时点云地图而不存在于所述静态点云地图的点形成差异点云地图;利用预设聚类算法从所述差异点云地图中聚类出表征吊钩上端钢丝绳的点云、表征吊钩的点云、表征吊绳的点云、和表征吊物的点云;根据所述表征吊物的点云中每个点的位置信息计算出吊物的轮廓信息;本发明能够自动化的计算出吊物的轮廓大小,不仅高效且准确性较好。性较好。性较好。
技术研发人员:周孺 郑光利 田均鹏
受保护的技术使用者:北京水狸智能建筑科技有限公司
技术研发日:2023.03.17
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/