发明内容
本发明针对现有技术中的不足,提供了一种车辆尺寸检测方法,包括:获取被检测装载车辆本体的点云数据;分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机;把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据;根据所述俯视图数据获取所述装载车辆车斗的长和宽参数,根据侧视图数据获取所述装载车辆的高参数。
优选的,所述步骤获取被检测装载本体的点云数据,具体包括:获取被检测装载车辆的第一点云数据;根据现场停车区域将区域外的坐标点云数据删除,保留区域内车辆本体的第二点云数据。
优选的,所述步骤把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据为:把第二点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据。
优选的,装载车辆尺寸检测方法还包括:根据车辆位置和角度对所述第一虚拟相机和第二虚拟相机的外参进行调整,使得所述第一虚拟相机和第二虚拟相机坐标系与车辆坐标系正交。
优选的,所述步骤根据所述俯视图数据获取所述装载车辆车斗的长和宽参数,根据侧视图数据获取所述装载车辆的高参数,具体包括:在车尾设定一测量线段,根据所述测量线段上像素灰度的一阶差分逼近值获取车斗尾部边缘坐标。
优选的,装载车辆尺寸检测方法还包括:将车辆坐标系与激光坐标系进行坐标变换,统一到虚拟相机坐标系下。
本发明还公开了一种装载车辆尺寸检测系统,包括:数据获取模块,用于获取被检测装载本体的点云数据;虚拟相机创建模块,用于分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机;数据转换模块,用于把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据;参数获取模块,用于根据所述俯视图数据获取所述装载车辆车斗的长和宽参数,根据侧视图数据获取所述装载车辆的高参数。
优选的,所述装载车辆尺寸检测系统,还包括:第一数据获取模块,用于获取被检测装载车辆的第一点云数据;第二数据获取模块,用于根据现场停车区域将区域外的坐标点云数据删除,保留区域内车辆本体的第二点云数据。
本发明还公开了一种装载车辆尺寸检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述装载车辆尺寸检测方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述装载车辆尺寸检测方法的步骤。
本发明通过分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机,把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据;然后对其中的俯视图数据和侧视图数据再进行处理后获取所述装载车辆车斗的长宽高等参数,不受货车车型和尺寸不同的影响各不相同,能为各类自动装车码垛系统提供精准货车轮廓尺寸信息,能够快速准确的计算货车车辆外廓的长、宽、高、角度等参数测量数据并实现货车停止位置定位。该方法只需要一台激光设备,即可快速准确的测量货车的各个尺寸,鲁棒性好,且具有很强的抗干扰能力,是一种非接触式、低成本、较少关联机械硬件、且场地占用小的检测方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
目前我国袋装水泥装车一直处于人工或半自动化状态,生产效率较低,工作强度大,而且水泥行业作业工况环境恶劣、粉尘漫天,严重影响着工人的身体健康。而用于袋装水泥装车的货车车型不一且尺寸各不相同,本实施例提供了一种能为袋装水泥自动装车码垛提供精准轮廓尺寸信息的检测方法,能够快速准确的计算货车车辆外廓的长、宽、高或角度等参数测量,也可辅助实现货车车型判断与车辆停止位置定位。附图1为本实施例公开的装载车辆尺寸检测方法的流程示意图,该方法可具体包括:
步骤S1,获取被检测装载车辆本体的点云数据。其中该装载车辆本体的点云数据由步进电机旋转带动一个深度相机转动进行车体轮廓扫描后获得。在一些优选实施例中,如附图2所示,该步骤具体也可包括:
车骤S11,获取被检测装载车辆的第一点云数据;
读取点云,读取指定格式的点云数据,其中可以读取.pcd和.ply格式的点云数据。
步骤S12,根据现场停车区域将区域外的坐标点云数据删除,保留区域内车辆本体的第二点云数据。
具体的,对获取的第一点云数据进行点云分割,去除环境干扰,只保留被检测装载车辆的车体点云。即根据现场停车区域,将在该区域以外的坐标点云数据删除,保留区域内车辆本体的点云数据。
步骤S2,分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机。
建立两个虚拟相机:俯视姿态的第一虚拟相机Camera_top和侧侧视姿态的第二虚拟相机Camera_side。设定虚拟相机的内参和外参,两个虚拟相机内参矩阵相同均为K,第一、第二虚拟相机外参矩阵分别为Ttop、Tside,其中虚拟相机内参K矩阵可表示为:
其中Sx和Sy分别为感光芯片x方向和y方向的像素大小;Cx和Cy分别为x方向和y方向的图像的中心坐标。
虚拟相机外参T矩阵表示为:
第一虚拟相机外参矩阵可以设置为Ttop:
第二虚拟相机外参矩阵可以设置为Tside:
其中以3D点云自带的坐标系原点为中心,将虚拟相机通过以下方式进行平移和旋转,改变虚拟相机在该坐标系中的姿态。
其中,Tx为虚拟相机在3D点云坐标系x轴方向平移量,Ty为虚拟相机在3D点云坐标系y轴方向平移量,Tz为虚拟相机在3D点云坐标系z轴方向平移量,Rx为虚拟相机绕3D坐标系x轴方向旋转量,Ry:虚拟相机绕3D坐标系y轴方向旋转量,Rz:虚拟相机绕3D坐标系z轴方向旋转量。
步骤S3,把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据。其中,具体的是把第二点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据。
具体的,把3D点云的数据转换成2D虚拟相机的数据,其中转换关系公式可以为:PC=K*T*Plaser,其中2D虚拟相机像素坐标记为PC=(u,v),场景中激光坐标系下的点云三维点记为Plaser=(Xlaser,Ylaser,Zlaser),其中Xlaser,Ylaser,Zlaser为激光坐标系下的坐标点,K为在前述步骤设置中的虚拟相机内参,3D点云的数据转换成2D虚拟相机数据的最终坐标转换公式可以为:
第一虚拟相机的俯视图2D数据:Mcamera_top=K*Ttop*Plaser;
其中Ttop参数中的各参数可以选用如下参数组:
Tx=5.0,Ty=3.0,Tz=0.0,Rx=90.0,Ry=0,Rz=90.0。
第二虚拟相机的侧视图2D数据:Mcamera_side=K*Tside*Plaser
其中Tside参数中的各参数可以选用如下参数组:
Tx=5.0,Ty=0.0,Tz=0.0,Rx=0,Ry=0,Rz=90.0。
根据车辆位置和角度对所述第一虚拟相机和第二虚拟相机的外参进行调整,使得所述第一虚拟相机和第二虚拟相机坐标系与车辆坐标系正交。
具体的,由于车辆停止位置和角度存在随机性,车辆坐标系与3D点云坐标系通常都会存在一个夹角,这个夹角的存在导致视图里车辆是歪斜的,会使测量结果有偏差,例如导致车长测量会偏大等问题。通过俯视的第一虚拟相机的外参Ttop和侧视的第二虚拟相机的外参Tside对车辆位置和角度进行纠正,使第一、第二虚拟相机坐标系与车辆坐标系正交,以下矩阵就是确定正交转换关系矩阵:
其中,Rcvtx:虚拟相机在3D点云坐标系x轴方向平移量,Rcvty:虚拟相机在3D点云坐标系y轴方向平移量,Rcvtz:虚拟相机在3D点云坐标系z轴方向平移量,Tcvtx:车辆坐标系X轴与3D坐标系x轴夹角,Tcvty:车辆坐标系Y轴与3D坐标系轴y夹角,Tcvtz:车辆坐标系Z轴与3D坐标系z轴夹角。
其中俯视和侧视的关系矩阵标记为Matcvt_top、Matcvt_side。俯视图变换参数M2d_top_view可以通过如下公式获取:M2d_top_view=Matcvt_top*Mcamera_top。通过该变换参数可以将附图3的第一虚拟相机姿态纠正前车辆俯视图调整为附图4所示的第二虚拟相机姿态纠正后车辆俯视图,从上述两附图中可以看出通过上述俯视图变换参数可以完整的将在第一虚拟相机中倾斜的车辆图像进行纠正。
俯视图变换参数Matcvt_side可以通过如下公式获取:
M2d_side_view=Matcvt_side*Mcamera_side。通过该变换参数可以将附图5的第二虚拟相机姿态纠正前车辆侧视图调整为附图6所示的第二虚拟相机姿态纠正后车辆侧视图,从上述两附图中可以看出通过上述侧视图变换参数可以完整的将在第二虚拟相机中倾斜的车辆图像进行纠正。
通过上述的转换,车辆即使停止位置角度不同,都会变换到Mcamera统一坐标系下,有效的提高车辆测量稳定性和精度。
在另一些实施例中,也可通过使得当前俯视的第一虚拟相机外参Ttop和侧视的第二虚拟相机外参Tside与3D点云坐标系正交来将第一虚拟相机和第二虚拟相机里的车辆图像进行纠正。
步骤S4,根据所述俯视图数据获取所述装载车辆车斗的长和宽参数,根据侧视图数据获取所述装载车辆的高参数。
俯视图M
2d_top_view测量车辆车斗的长、宽等参数,侧视图M
2d_side_view测量车辆的高等参数。通过对图像连续灰度值的求导,计算一维灰度的一阶导数最大变化率,寻找车辆的长宽高及其他尺寸。因为图像是离散的,算法用差分运算代替,即一阶导数近似差分运算:
其中f
i是第i个像素的灰度值,f
i-1是第i-1个像素的灰度值,
表示前一个像素和后一个像素的差值。
在一些实施例中,可以在所需获取的各车辆尺寸参数对应的图像边缘添加测量对比图形,根据所述测量对比图形上像素灰度的一阶差分逼近值获取车辆尺寸边缘坐标。例如,如果需测量车辆车斗尾部边缘坐标,可以在车尾设定一测量对比图形,根据所述测量对比图形上像素灰度的一阶差分逼近值获取车斗尾部边缘坐标。具体的,通过在前述步骤中转换得到2D图像如附图7所示,在车尾设定一条测量线段L
measure作为测量对比图形,计算L
measure上像素灰度的一阶差分逼近值
当
为最大值时,i
end就是尾部边缘坐标。同理可以得到车斗前部坐标i
start,左右护栏坐标i
left,i
right。
最终可以获取车辆长度:Lengthcamera=iend-istart;
车辆宽度:Widthcamera=ileft-iright。
步骤S5,将车辆坐标系与激光坐标系进行坐标变换,统一到虚拟相机坐标系下。
对各个坐标系进行坐标变换,统一到虚拟相机坐标系下,并得到车辆坐标系与激光坐标系的转换矩阵S=T2 -1*T1*K。激光坐标系下点云数据表示为MLaser,车辆坐标系下点云数据表示为Mcar,第二虚拟相机侧视图点云数据表示Mcamera_side,第一虚拟相机俯视图点云数据表示Mcamera_top;
具体的,把PLaser转换到Mcamera_side,坐标转换矩阵为T1,转换关系如前述步骤S3类似:
M
camera_side=T
1*K*M
Laser,其中
其中Rbx:车辆坐标系在俯视图像坐标系x轴方向平移量,Rby:车辆坐标系在俯视图像坐标系y轴方向平移量,tbx:车辆坐标系绕俯视图像坐标系x轴方向旋转量,tby:车辆坐标系绕俯视图像坐标系y轴方向旋转量。
再把二维坐标系下Mcar转到Mcamera_side,参数设置Rbx,Rby,tbx,tby
Rbx:车辆坐标系在侧视图像坐标系x轴方向平移量,Rby:车辆坐标系在侧视图像坐标系y轴方向平移量,tbx:车辆坐标系绕侧视图像坐标系x轴方向旋转量,tby:车辆坐标系绕侧视图像坐标系y轴方向旋转量。
Mcar=T2 -1*T1*K*MLaser=S*MLaser;
通过以上关系通过可以Mcamera点云数据将Mcar与MLaser坐标与数据相关关联。
再把长宽的数据集转换到3D点云激光坐标系中,获取3D点云激光坐标系中的车辆长和宽数据Lengthlaser和Widthlaser:
Lengthlaser=Lengthcar*S-1;
Widthlaser=Widthcar*S-1;
同理,通过上述类似步骤,即可以测量获取车辆上所有需要的外廓尺寸。
本发明通过分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机,把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据;然后对其中的俯视图数据和侧视图数据再进行处理后获取所述装载车辆车斗的长宽高等参数,不受货车车型和尺寸不同的影响各不相同,能为各类自动装车码垛系统提供精准货车轮廓尺寸信息,能够快速准确的计算货车车辆外廓的长、宽、高、角度等参数测量数据并实现货车停止位置定位。该方法只需要一台激光设备,即可快速准确的测量货车的各个尺寸,鲁棒性好,且具有很强的抗干扰能力,是一种非接触式、低成本、较少关联机械硬件、且场地占用小的检测方法。
如附图8所示,本发明还公开了一种装载车辆尺寸检测系统,包括数据获取模块1、虚拟相机创建模块2、数据转换模块3、参数获取模块4,其中数据获取模块1用于获取被检测装载本体的点云数据;虚拟相机创建模块2用于分别创建俯视姿态的第一虚拟相机和侧视姿态的第二虚拟相机;数据转换模块3用于把点云数据转换成第一虚拟相机的俯视图数据和第二虚拟相机的侧视图数据;参数获取模块4用于根据所述俯视图数据获取所述装载车辆车斗的长和宽参数,根据侧视图数据获取所述装载车辆的高参数。其中所述装载车辆尺寸检测系统还可包括第一数据获取模块11,用于获取被检测装载车辆的第一点云数据;第二数据获取模块12,用于根据现场停车区域将区域外的坐标点云数据删除,保留区域内车辆本体的第二点云数据。以及坐标转换模块5,用于将车辆坐标系与激光坐标系进行坐标变换,统一到虚拟相机坐标系下。对于该系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在另一些实施例中,如附图9所示,还公开了一种装载车辆尺寸检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如装载车辆尺寸检测软件,所述处理器执行所述计算机程序时实现上述各个基于装载车辆尺寸检测方法实施例中的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述服务器中的执行过程。
所述服务器可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是服务器的示例,并不构成对服务器设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述服务器设备的控制中心,利用各种接口和线路连接整个服务器设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述服务器设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述装载车辆尺寸检测方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,例如装载车辆尺寸检测方法软件,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增
减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。