1.本发明涉及测量方法技术领域,尤其涉及一种车辆货物体积计算方法、装置及存储介质。
背景技术:
2.在车辆运载货物的过程中,需要对货物进行监管,目前对于车辆运载的货物的体积进行监测,往往在运载货物的车辆通过重建区域时,对车辆进行三维重建得到车体重建模型,将在重建区域计算得的体积减去预先计算得的空车体积得到货物体积。但是,现有的车辆货物体积计算方法,不考虑道路情况,一律需要对车辆进行体积计算,计算量较大,计算精度也较小。
技术实现要素:
3.本发明实施例的目的是提一种车辆货物体积计算方法、装置及存储介质,考虑了道路状况,能够根据道路状况选择货物体积测量方法,进而减少计算量,提高计算精度。
4.为实现上述目的,本发明实施例提供了一种车辆货物体积计算方法,包括:
5.构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;
6.采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线;当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;
7.或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线;当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;
8.当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
9.当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;
10.当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;
11.根据所述货物三维点云模型计算出所述货物的体积;
12.当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;
13.根据所述车辆体积和所述空车体积计算出所述货物的体积。
14.作为上述方案的改进,在所述计算所述车头中心线和所述车厢中心线的夹角之
前,还包括:
15.当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。
16.作为上述方案的改进,所述采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,具体为:
17.根据预设的参数对所述车辆三维点云模型进行划分,得到车头三维点云模型;
18.根据所述车头三维点云模型的头部和尾部采集若干个车头中心点;
19.对所述车头中心点进行直线拟合,得到车头中心线。
20.作为上述方案的改进,所述采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,具体为:
21.根据所述预设的参数对所述车辆三维点云模型进行划分,得到车厢三维点云模型;
22.根据所述车厢三维点云模型的头部和尾部采集若干个所述车厢中心点;
23.对所述车厢中心点进行直线拟合,得到所述车厢中心线。
24.作为上述方案的改进,所述根据所述货物三维点云模型计算出所述货物的体积,具体为:
25.根据所述货物三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将所述货物的点云进行三角重建,得到货物表面三角网,构建货物三维模型;
26.根据所述货物三维模型计算出所述货物的体积。
27.作为上述方案的改进,所述根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积,具体为:
28.根据所述车辆三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将车辆的点云进行三角重建,得到车辆表面三角网,构建车辆三维模型;其中,所述车辆包括所述车辆本体和所述货物;
29.根据所述车辆三维模型计算出车辆体积;
30.根据所述预先构建的空车三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将空车的点云进行三角重建,得到空车表面三角网,构建空车三维模型;
31.根据所述空车三维模型计算出空车体积。
32.为实现上述目的,本发明实施例还提供了一种车辆货物体积计算装置,包括:
33.车辆三维点云模型构建模块,用于构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;
34.中心线获取模块,用于采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;
35.夹角计算模块,用于当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
36.第一道路状况判定模块,用于当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;
37.货物三维点云模型计算模块,用于当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;
38.第一货物体积计算模块,用于根据所述货物三维点云模型计算出所述货物的体积;
39.车辆体积计算模块,用于当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;
40.第二货物体积计算模块,用于根据所述车辆体积和所述空车体积计算出所述货物的体积。
41.作为上述方案的改进,所述装置还包括:
42.第二道路状况判定模块,用于当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。
43.为实现上述目的,本发明实施例还提供了一种存储介质,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的车辆货物体积计算方法。
44.与现有技术相比,本发明实施例公开的一种车辆货物体积计算方法、装置和存储介质,采集构建的车辆三维点云模型中的若干车头中心点和若干车厢中心点,并分别进行直线拟合,得到车头中心线和车厢中心线;当车头中心点落在车头中心线上的数量不小于第一预设阈值且车厢中心点落在车厢中心线上的数量不小于第二预设阈值时,计算车头中心线和车厢中心线的夹角,通过对夹角大小的判断,从而确定道路状况;当道路平直时,根据车辆三维点云模型和预建的空车三维点云模型算得货物三维点云模型,根据货物三维点云模型得货物体积;当道路崎岖时,根据车辆三维点云模型算得车辆体积,根据预建的空车三维点云模型算得空车体积,根据车辆体积和空车体积得货物体积。由于在车辆货物体积的计算过程中,分别通过对若干车头中心点和车厢中心点的拟合,分别判断车头的状态和车厢的状态,当车头和车厢状态都满足预设条件时,通过对车头中心线和车厢中心线的夹角进行判断,从而确定道路状况,根据不同的道路状况选用不同的货物体积计算方式,从而有效减少了计算量,提高了计算精度。
附图说明
45.图1是本发明实施例提供的一种车辆货物体积计算方法的流程图;
46.图2是本发明实施例提供的一种车辆货物体积计算装置的结构示意图;
47.图3是本发明实施例提供的另一种车辆货物体积计算装置的结构示意图。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.参见图1,是本发明实施例1提供的一种车辆货物体积计算方法的流程图,所述车辆货物体积计算方法包括:
50.s11、构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;
51.s12、采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线;当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;
52.或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线;当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;
53.s13、当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
54.s14、当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;
55.s15、当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;
56.s16、根据所述货物三维点云模型计算出所述货物的体积;
57.s17、当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;
58.s18、根据所述车辆体积和所述空车体积计算出所述货物的体积。
59.具体地,步骤s11中,构建车辆三维点云模型。具体的构建过程可参考现有的三维点云模型构建技术,本发明在此不再赘述。
60.具体地,在步骤s12中,采集若干个车头中心点,采用最小二乘法对所述车头中心点进行直线拟合,得到车头中心线,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,采用最小二乘法对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,采用最小二乘法对所述车厢中心点进行直线拟合,得到所述车厢中心线,当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,采用最小二乘法对所述车头中心点进行直线拟合,得到所述车头中心线。
61.示例性的,采集5000个车头中心点,对5000个车头中心点采用最小二乘法进行直线拟合,得到车头中心线,预先设定第一预设阈值为1500,当落在车头中心线上的车头中心点的数量不小于1500时,采集5000个车厢中心点,采用最小二乘法对车厢中心点进行直线
拟合,得到车厢中心线;或者,采集5000个车厢中心点,采用最小二乘法对车厢中心点进行直线拟合,得到车厢中心线,预先设定第二预设阈值为1500,当落在车厢中心线上的车厢中心点的数量不小于1500时,采集5000个所述车头中心点,采用最小二乘法对车头中心点进行直线拟合,得到车头中心线。
62.值得说明的是,先进行车头中心点的采集、直线拟合和阈值判断,当满足一定条件时,才进入车厢中心点的采集、直线拟合以及阈值判断;或者,先进行车厢中心点的采集、直线拟合和阈值判断,当满足一定条件时,才进入车头中心点的采集、直线拟合以及阈值判断;在实际应用中,这两种中心点采集的方式根据实际情况进行选用;车头中心点以及车厢中心点的采集个数不局限于上述具体数值,可根据实际情况进行采集;第一预设阈值的数值一般与所采集的车头中心点的数量正相关,可为车头中心点数量的0.3倍,但不局限于上述的倍数关系,可根据实际情况进行设定;预设夹角阈值不局限于上述具体的数值,可根据实际情况进行设定;第二预设阈值的数值一般与所采集的车厢中心点的数量正相关,可为车厢中心点数量的0.3倍,但不局限于上述的倍数关系,可根据实际情况进行设定,所采用的直线拟合方法也不局限于最小二乘法,可根据实际情况进行直线拟合方法的选择。
63.更具体地,步骤s12中的采集若干个车头中心点,包括步骤s121~s122:
64.s121、根据预设的参数对所述车辆三维点云模型进行划分,得到车头三维点云模型;
65.s122、根据所述车头三维点云模型的头部和尾部采集若干个车头中心点。
66.示例性的,根据预设的参数对所述车辆三维点云模型进行划分,得到车头三维点云模型;根据车头三维点云模型,采集5000组车头的头部的点和车头的尾部的点,根据同组的车头头部的点和车头尾部的点计算得该组的车头中心点。
67.值得说明的是,一般来说,同组车头的头部的点与车头的尾部的点与车头顶部所在平面的距离相等,相邻的车头头部的点所在的与车头顶部所在平面平行的平面之间的距离相同,但是,相邻的车头头部的点所在的与车头顶部所在平面平行的平面之间的距离也可以不同,可根据实际情况进行调整,采集的组数可根据实际情况进行调整。
68.更具体地,步骤s12中的采集若干个车头中心点,包括步骤s123~s124:
69.s123、根据所述预设的参数对所述车辆三维点云模型进行划分,得到车厢三维点云模型;
70.s124、根据所述车厢三维点云模型的头部和尾部采集若干个所述车厢中心点。
71.示例性的,根据预设的参数对车辆三维点云模型进行划分,得到所述车厢三维点云模型根据车厢三维点云模型,采集5000组车厢头部的点和车厢尾部的点,根据同组的车厢头部的点和车厢尾部的点计算得该组的车厢中心点。
72.值得说明的是,一般来说,同组车厢的头部的点与车厢的尾部的点与车厢顶部所在平面的距离相等,相邻的车厢头部的点所在的与车厢顶部所在平面平行的平面之间的距离相同,但是,相邻的车厢头部的点所在的与车厢顶部所在平面平行的平面之间的距离也可以不同,可根据实际情况进行调整,采集的组数可根据实际情况进行调整。
73.值得说明的是,运载货物的车辆的车头和车厢的连接并不是固定连接的,车辆在行驶过程中,车头和车厢的位置关系会随着道路状况或货车行驶状态的变化发生一定程度的改变,比如车辆在崎岖的道路上直线行驶、车辆在平直道路上直线行驶和车辆转弯,这三
种不同的状况下,车头和车厢的位置关系不同,不同状况下构建得到的车辆的三维点云模型不同;对于不同型号的车辆,在进行车辆三维点云模型划分时,所根据的预设的参数不一定相同,在实际应用中,可预先根据实际车型进行参数的设置。
74.具体地,在步骤s13中,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
75.示例性的,当落在车头中心线上的车头中心点的数量不小于1500,且落在车厢中心线上的车厢中心点的数量不小于1500时,分别延长车头中心线和车厢中心线直到两者相交,计算车头中心线和车厢中心线的夹角。
76.具体地,步骤s14中,当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖。
77.示例性的,预设夹角阈值为5度,当夹角小于5度时,判定道路平直;当夹角不小于5度时,判定道路崎岖。
78.值得说明的是,预设夹角阈值并不局限于上述具体的数值,可根据实际情况进行设定。
79.具体地,步骤s15中,当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型。
80.示例性的,三维点云模型的匹配可参见现有技术,在此只作简单阐述,根据车辆三维点云模型和预先构建的空车三维点云模型中的车头部分的点云,采用欧式距离提取匹配点对,并采用随机采样一致性对两组点云进行粗匹配,得到粗匹配结果;利用粗匹配结果,利用整车的旋转平移,再次根据欧式距离提取匹配点对,采用迭代最近点算法,进行精匹配;根据匹配结果,将车辆三维点云模型减去空车三维点云模型,得到货物三维点云模型。预先构建的空车三维点云模型是在平直道路上对保持平直状态的空车进行构建的模型。
81.值得说明的是,对于三维点云模型的匹配并不局限于上述列出的匹配方法,可根据实际情况进行匹配方法的选用。
82.具体地,s16、根据所述货物三维点云模型计算出所述货物的体积具体包括步骤s161~s162:
83.s161、根据所述货物三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将所述货物的点云进行三角重建,得到货物表面三角网,构建货物三维模型;
84.s162、根据所述货物三维模型计算出所述货物的体积。
85.示例性的,对货物三维点云模型中的所有三维点按照最小内角之和最大以及任意三角形的外接圆内不包括其他三维点的原则进行三角重建,得到货物表面三角网;对重建的三角网沿z轴进行切片,对得到的货物切片按照截面积乘以切片厚度的方法计算切片体积,对所有切片体积积分得到货物体积。值得说明的是,上述根据三维点云模型计算体积的过程可参见现有技术,在此只作简单举例;根据货物三维点云模型计算货物体积的计算方式不局限于上述具体计算过程,可根据实际情况进行计算。在道路平直时,进行三维重建得到的车辆本体部分与预先构建的空车三维点云模型一致,因此可以将两个模型相减,得到的差异点云就是货物的点云,因此,在道路平直时,可通过模型相减的货物三维点云模型,
直接根据货物三维点云模型进行体积计算,减少了计算量;同时,在进行体积计算的时候,当需要进行计算的三维模型越大时,计算量也就越大。若在道路平直时,采用分别计算车辆体积和空车体积,将车辆体积减去空车体积得货物体积的计算方式时,计算误差比较大,因为在对三维点云模型进行体积计算时,模型越大,计算得的数据与实际数据的差值也就越大,并且存在多个模型,对多个模型计算得的结果进行相加或相减,差值可能进行叠加,使得差值越大,因此,道路平直时,只用对货物三维点云模型进行体积计算得到的数据与真实数据的差值较小,计算精度较高。
86.具体地,步骤s17中,当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积,具体包括步骤s171~s174:
87.s171、根据所述车辆三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将车辆的点云进行三角重建,得到车辆表面三角网,构建车辆三维模型;其中,所述车辆包括所述车辆本体和所述货物;
88.s172、根据所述车辆三维模型计算出车辆体积;
89.s173、根据所述预先构建的空车三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将空车的点云进行三角重建,得到空车表面三角网,构建空车三维模型;
90.s174、根据所述空车三维模型计算出空车体积。
91.具体地,步骤s18中,将所述车辆体积减去所述空车体积得到所述货物的体积。
92.进一步地,在步骤s13计算所述车头中心线和所述车厢中心线的夹角之前,还包括步骤s130:
93.s130、当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。
94.示例性的,当落在车头中心线上的车头中心点的数量小于1500,或者落在车厢中心线上的车厢中心点的数量小于1500时,判定道路崎岖。
95.值得说明的是,理想状态下,车辆在平直的道路上进行直线行驶时,车头中心点应全部落在车头中心线上,车厢中心点应全部落在车厢中心线上,且车头中心线垂直于地面,车厢中心线垂直于地面。
96.参见图2,图2是本发明实施例提供的一种车辆货物体积计算装置20,包括:
97.车辆三维点云模型构建模块21,用于构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;
98.中心线获取模块22,用于采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;
99.夹角计算模块23,用于当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
100.第一道路状况判定模块24,用于当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;
101.货物三维点云模型计算模块25,用于当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;
102.第一货物体积计算模块26,用于根据所述货物三维点云模型计算出所述货物的体积;
103.车辆体积计算模块27,用于当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;
104.第二货物体积计算模块28,用于根据所述车辆体积和所述空车体积计算出所述货物的体积。
105.进一步地,所述车辆货物体积计算装置20还包括第二道路状况判定模块29,用于当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。
106.具体的所述车辆货物体积计算装置20的工作过程可参考上述实施例中所述车辆货物体积计算方法的工作过程,在此不再赘述。
107.与现有技术相比,本发明实施例公开的一种车辆货物体积计算方法和装置,采集构建的车辆三维点云模型中的若干车头中心点和若干车厢中心点,并分别进行直线拟合,得到车头中心线和车厢中心线;当车头中心点落在车头中心线上的数量不小于第一预设阈值且车厢中心点落在车厢中心线上的数量不小于第二预设阈值时,计算车头中心线和车厢中心线的夹角,通过对夹角大小的判断,从而确定道路状况;当道路平直时,根据车辆三维点云模型和预建的空车三维点云模型算得货物三维点云模型,根据货物三维点云模型得货物体积;当道路崎岖时,根据车辆三维点云模型算得车辆体积,根据预建的空车三维点云模型算得空车体积,根据车辆体积和空车体积得货物体积。由于在车辆货物体积的计算过程中,分别通过对若干车头中心点和车厢中心点的拟合,分别判断车头的状态和车厢的状态,当车头和车厢状态都满足预设条件时,通过对车头中心线和车厢中心线的夹角进行判断,从而确定道路状况,根据不同的道路状况选用不同的货物体积计算方式,从而有效减少了计算量,提高了计算精度。
108.参见图3,图3是本发明实施例提供的另一种车辆货物体积计算装置30,所述车辆货物体积计算装置30包括处理器31、存储器32以及存储在所述存储器32中且被配置为由所述处理器31执行的计算机程序,所述处理器31执行所述计算机程序时实现上述车辆货物体积计算方法实施例中的步骤,例如图1中所示的步骤s11~s18。或者,所述处理器31执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如车辆三维点云模型构建模块21。
109.示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器32中,并由所述处理器31执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述车辆货物体积计算装置30中的执行过程。例如,所述计算机程序可以被分割车辆三维点云模型构建模块21、中心线获取模块22、夹角计算模块23、第一道路状况判定模块24、
货物三维点云模型计算模块25、第一货物体积计算模块26、车辆体积计算模块27和第二货物体积计算模块28,各模块具体功能如下:
110.车辆三维点云模型构建模块21,用于构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;
111.中心线获取模块22,用于采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;
112.夹角计算模块23,用于当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;
113.第一道路状况判定模块24,用于当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;
114.货物三维点云模型计算模块25,用于当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;
115.第一货物体积计算模块26,用于根据所述货物三维点云模型计算出所述货物的体积;
116.车辆体积计算模块27,用于当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;
117.第二货物体积计算模块28,用于根据所述车辆体积和所述空车体积计算出所述货物的体积。
118.各个模块具体的工作过程可参考上述实施例所述的车辆货物体积计算装置20的工作过程,在此不再赘述。
119.所述车辆货物体积计算装置30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述车辆货物体积计算装置30可包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,所述示意图仅仅是图像增强设备的示例,并不构成对车辆货物体积计算装置30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述车辆货物体积计算装置30还可以包括输入输出设备、网络接入设备、总线等。
120.所述处理器31可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器31是所述车辆货物体积计算装置30的控制中心,利用各种接口和线路连接整个车辆货物体积计算装置30的各个部分。
121.所述存储器32可用于存储所述计算机程序和/或模块,所述处理器31通过运行或执行存储在所述存储器32内的计算机程序和/或模块,以及调用存储在存储器32内的数据,实现所述车辆货物体积计算装置30的各种功能。所述存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
122.其中,所述车辆货物体积计算装置30集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
123.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
技术特征:
1.一种车辆货物体积计算方法,其特征在于,包括:构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线;当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线;当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;根据所述货物三维点云模型计算出所述货物的体积;当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;根据所述车辆体积和所述空车体积计算出所述货物的体积。2.如权利要求1所述的车辆货物体积计算方法,其特征在于,在所述计算所述车头中心线和所述车厢中心线的夹角之前,还包括:当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。3.如权利要求1所述的车辆货物体积计算方法,其特征在于,所述采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,具体为:根据预设的参数对所述车辆三维点云模型进行划分,得到车头三维点云模型;根据所述车头三维点云模型的头部和尾部采集若干个车头中心点;对所述车头中心点进行直线拟合,得到车头中心线。4.如权利要求1所述的车辆货物体积计算方法,其特征在于,所述采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,具体为:根据所述预设的参数对所述车辆三维点云模型进行划分,得到车厢三维点云模型;根据所述车厢三维点云模型的头部和尾部采集若干个所述车厢中心点;对所述车厢中心点进行直线拟合,得到所述车厢中心线。5.如权利要求1所述的车辆货物体积计算方法,其特征在于,所述根据所述货物三维点云模型计算出所述货物的体积,具体为:根据所述货物三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将所述货物的点云进行三角重建,得到货物表面三角网,构建货物三维
模型;根据所述货物三维模型计算出所述货物的体积。6.如权利要求1所述的车辆货物体积计算方法,其特征在于,所述根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积,具体为:根据所述车辆三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将车辆的点云进行三角重建,得到车辆表面三角网,构建车辆三维模型;其中,所述车辆包括所述车辆本体和所述货物;根据所述车辆三维模型计算出车辆体积;根据所述预先构建的空车三维点云模型,按照最小内角之和最大以及任意三角形的外接圆内不包括其他点云的原则,将空车的点云进行三角重建,得到空车表面三角网,构建空车三维模型;根据所述空车三维模型计算出空车体积。7.一种车辆货物体积计算装置,其特征在于,包括:车辆三维点云模型构建模块,用于构建车辆三维点云模型;其中,所述车辆三维点云模型为包括了车辆本体和货物的三维点云模型,所述车辆本体包括车头和车厢;中心线获取模块,用于采集若干个车头中心点,对所述车头中心点进行直线拟合,得到车头中心线,当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值时,采集若干个车厢中心点,对所述车厢中心点进行直线拟合,得到车厢中心线;或者,采集若干个所述车厢中心点,对所述车厢中心点进行直线拟合,得到所述车厢中心线,当落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,采集若干个所述车头中心点,对所述车头中心点进行直线拟合,得到所述车头中心线;夹角计算模块,用于当落在所述车头中心线上的所述车头中心点的数量不小于第一预设阈值且落在所述车厢中心线上的所述车厢中心点的数量不小于第二预设阈值时,计算所述车头中心线和所述车厢中心线的夹角;第一道路状况判定模块,用于当所述夹角小于预设夹角阈值时,判定道路平直;当所述夹角不小于所述预设夹角阈值时,判定道路崎岖;货物三维点云模型计算模块,用于当道路平直时,根据所述车辆三维点云模型和预先构建的空车三维点云模型,计算得货物三维点云模型;第一货物体积计算模块,用于根据所述货物三维点云模型计算出所述货物的体积;车辆体积计算模块,用于当道路崎岖时,根据所述车辆三维点云模型计算出车辆体积,根据所述预先构建的空车三维点云模型计算出空车体积;其中,所述车辆体积包括所述车辆本体和所述货物的体积,所述空车体积为所述车辆本体的体积;第二货物体积计算模块,用于根据所述车辆体积和所述空车体积计算出所述货物的体积。8.如权利要求7所述的车辆货物体积计算装置,其特征在于,还包括:第二道路状况判定模块,用于当落在所述车头中心线上的所述车头中心点的数量小于第一预设阈值,或者,落在所述车厢中心线上的所述车厢中心点的数量小于第二预设阈值时,判定道路崎岖。9.一种存储介质,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置
为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的车辆货物体积计算方法。
技术总结
本发明公开一种车辆货物体积计算方法,包括:构建车辆三维点云模型;采集若干车头中心点和车厢中心点,分别拟合的车头中心线和车厢中心线;当中心点落在对应中心线上的数量满足预设条件时,计算两中心线夹角;当夹角小于预设夹角阈值时判定道路平直,否则判定道路崎岖;当道路平直时,根据车辆三维点云模型和预建的空车三维点云模型算得货物三维点云模型,根据货物三维点云模型得货物体积;当道路崎岖时,根据车辆三维点云模型算得车辆体积,根据预建的空车三维点云模型算得空车体积,根据车辆体积和空车体积得货物体积。本发明还公开车辆货物体积计算装置及存储介质。本发明实施例根据道路状况选用不同计算方式,减少了计算量,提高了计算精度。提高了计算精度。提高了计算精度。
技术研发人员:李智强 王刘准
受保护的技术使用者:深圳融荟智能科技有限公司
技术研发日:2021.02.25
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-15155.html