1.一种二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,包括:获取包含弹条扣件的轨道三维点云图像和RGB深度图像;
从RGB深度图像中分割出弹条扣件图像,并从弹条扣件图像中提取出弹条扣件二维骨架图像及骨架法向量;
将弹条扣件二维骨架图像及骨架法向量映射至三维点云图像中得到初始三维骨架图像;并利用初始三维骨架图像及其每个骨架点的法向量拟合形成三维弹条扣件的横截面圆,以圆心作为三维弹条扣件横截面的骨架点,更新初始骨架图像得到弹条扣件三维点云骨架图像;
确定弹条扣件三维点云骨架的前颚点,并从弹条扣件三维点云骨架图像中不同位置处提取出多个特征点;
根据多个特征点拟合形成弹条扣件与轨道弹性垫块的接触平面,计算前颚点与接触面的距离;并根据前颚点与接触面的距离大小,判断弹条扣件的松紧状态;
所述确定弹条扣件三维点云骨架的前颚点,包括:
弹条扣件的前额均朝向轨道,计算弹条扣件三维点云骨架中心点所在的垂线(Xcenter,Ycenter),且Xcenter=(max(Skeleton_Pc.X)‑min(Skeleton_Pc.X))/2Ycenter=(max(Skeleton_Pc.Y)‑min(Skeleton_Pc.Y))/2其中,Skeleton_Pc.X,Skeleton_Pc.Y分别表示Skeleton_Pc骨架点的X,Y坐标值;
判断是否存在骨架点落在平面y=Ycenter上,若存在则表示骨架点与弹条中心面存在交点,该交点作为弹条扣件三维点云骨架前颚中心点A;若不存在,则在平面y=Ycenter两侧分别搜索距离平面最近的一个骨架点,设这两个点分别为PC1(XC1,YC1,ZC1),PC2(XC2,YC2,ZC2),用这两点构造直线,以直线与平面的交点作为弹条扣件三维点云骨架前颚中心点A,设A点表示为PA(XA,YA,ZA);
所述从弹条扣件三维点云骨架图像中提取特征点,包括:
根据弹条扣件三维点云骨架前颚点A和骨架的中心面X=Xcenter及Y=Ycenter,利用下式将弹条扣件三维点云骨架分成四个部分:其中,Skeleton_Pc.X、Skeleton_Pc.Y分别表示各骨架点的X,Y坐标;依据下式在四个部分的骨架点中各选一个初始特征点B、C、D、E,各特征点分别表示为PB(XB,YB,YB),PC(XC,YC,YC)、PD(XD,YD,YD)、PE(XE,YE,YE);
其中,max和min分别表示求最大值和最小值;
分别建立前颚点A及四个初始特征点B,C,D,E的邻域,在各点的邻域内取Z方向最小值的点或者邻域内Z方向平均值更新原特征点坐标;
所述判断弹条扣件的松紧状态,包括:
已知特征点D,E的坐标PD、PE,求点D,E线段的中点F,其坐标表示为PF(XF,YF,YF);
利用特征点B、C及中点F,构建一个平面,设该平面为弹条扣件与轨道弹性垫块的接触平面,已知三点B、C、F的坐标PB,PC,PF,构建出BCF平面,表示为:αX+βY+χZ+δ=0
其中,α,β,χ,δ分别为平面参数;
计算前颚中心点A到BCF平面的距离:
其中,用Deviation值表示弹条扣件的松紧状态,计算全部待检弹条扣件的Deviation值,设置上下阈值t1,t2,当Deviation小于t1,则扣件扣压力过大,当Deviation值大于t2,扣件过松。
2.如权利要求1所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述三维点云图像的获取,包括:将线激光扫描传感器垂直安装在检测车上,并利用安装在检测车上的编码器触发线激光传感器动态扫描轨道轮廓;
设置线激光传感器在水平方向及高度方向的采集范围,建立数据采集坐标系,设检测车前进方向为Y方向,垂直轨道方向为X方向,高度方向为Z方向;设线激光传感器在X方向设定的点间距是Δx,编码器触发间距是Δy,在X方向上点云个数为N,Y方向M行轮廓构成轨道三维点云图像;
其中,在轨道三维点云图中,X方向第i个点的坐标表示为Xi=X0+i*Δx,第j行的Y坐标表示为Yj=Y0+j*Δy,X0、Y0是X方向和Y方向上的起始坐标,i=1,2,…,N‑1,j=1,2,…,M‑
1,则第i行和第j列点的高度表示为Zij,其点云表示为(Xi,Yj,Zij)。
3.如权利要求2所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述RGB深度图像的获取,包括:将大小为N×M的三维点云图像转换为大小为N×M的二维RGB图像;二维图像中的每个点与三维点云一一对应,且将三维点云第i行和第j列对应的高度值映射在二维图像第i行和第j列的RGB像素点;
设线激光传感器的测量范围为h,点云高度Zij∈(‑h/2,h/2),以Δh为等间距,将高度划分为K等分,K=h/Δh,建立颜色表,随机选择K种不同颜色放入颜色表,使不同高度段用不同颜色表示,相同高度段用相同颜色表示,高度与颜色对应关系为:其中,[·]为取整函数,t表示颜色表中的第t种颜色,t∈[0,K‑1]。
4.如权利要求1所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述从RGB深度图像中分割出弹条扣件图像,包括:对RGB深度图像制作样本标签标记出弹条扣件,得到标签样本数据集,表示为Dt={Xt,Yt},其中,Xt为RGB深度图像,Yt为Xt中弹条扣件的真值标签图像;
用标签样本数据集Dt={Xt,Yt}训练Unet网络,得到已训练的弹条扣件分割Unet网络模型;
将无标签样本数据集Dv={Xv}输入已训练的弹条扣件分割Unet网络模型,预测及分割出RGB深度图像中的弹条扣件图像IA。
5.如权利要求4所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述从弹条扣件图像中提取出弹条扣件二维骨架图像,包括:将弹条扣件图像IA转换为二值图像,将弹条扣件的像素点置为白色,其余像素点均为黑色,设二值图像为A,利用下式对A进行骨架提取:其中,AΘkB表示用结构元素B对A做k次腐蚀得到的弹条扣件骨架二维图像,其点集表示为Skeleton_p={p0,…,pn},n为骨架线上点的个数,表示开运算。
6.如权利要求1所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述将弹条扣件二维骨架图像映射至三维点云图像中得到初始三维骨架图像,包括:遍历骨架图像,求取每个骨架点的法向量;设当前骨架点表示为pi(xi,yi)∈Skeleton_p,Skeleton_p为弹条扣件骨架二维图像点集;搜索当前骨架点邻域骨架点中距离pi(xi,yi)最近的两个点,设最近的两个点表示为pi1(xi1,yi1),pi2(xi2,yi2),利用pi1,pi2点计算当前骨架点pi(xi,yi)的法线 表示为:遍历弹条扣件图像IA,以弹条扣件骨架坐标为基准点,搜索弹条扣件图像中落在每个骨架法向量上的点或者距离法向量最近的k1个点,设k1个点表示为 k1由用户设定;
将弹条扣件骨架二维图像点集Skeleton_p={p0,…,pn}及每个骨架点的k个最近点Dist_p={skep0,…,skepn}均映射到三维点云图像中,得到初始三维骨架图像;其中,所述映射包括:根据Xi=X0+Δx*xi和Yi=Y0+Δy*yi将二维图像的点映射到扣件的三维点云图像,得到二维图像在三维点云中的坐标Pi(Xi,Yi,Zi),其中Δx是线激光传感器在X方向设定的点间距,Δy编码器触发间距,X0是X方向的最小坐标值,Y0是Y方向的最小坐标值,xi和yi分别表示二维图像在x方向和y方向的坐标,Skeleton_p映射的初始三维骨架点表示为Skeleton_Pinitial={P0,…,Pn},Dist_p映射的三维点集表示为Dist_P={skeP0,…,skePn}。
7.如权利要求6所述的二维图像和三维点云融合的弹条扣件松紧检测方法,其特征在于,所述弹条扣件三维点云骨架图像的确定,包括:利用初始三维骨架点Skeleton_Pinitial={P0,…,Pn}及其截面上的多个点Dist_P={skeP0,…,skePn}拟合成弹条截面的圆,以圆心作为该截面的骨架点;
遍历初始三维点云骨架点Skeleton_Pinitial={P0,…,Pn},设当前骨架点为Pi,利用Pi及Pi法向切面上的k个点skePi={P0,…,Pk}拟合圆,将圆心Pci代替Pi作为当前截面的骨架点,得到弹条扣件三维点云骨架点,表示为Skeleton_Pc={Pc0,…,Pcn}。