本发明涉及受电弓检测技术领域,特别是一种基于改进canny边缘检测算法的受电弓磨耗检测方法。
背景技术:
随着我国社会经济的快速发展和城市化进度的不断推进,城市地铁发展也相当迅速,但国内各单位、公司对列车受电弓的在线监测还处于试验阶段,实验成果尚无法推广应用,地铁公司对列车受电弓的检修仍是依靠传统的人工检修方法。
图像检测法是目前国内研究的重点方向之一。目前受电弓检测中滑板的定位方法主要是计算沿某方向的灰度变化速率,根据对大量图片分析所得到的经验值,将变化速率以该经验值为界分割开来。当所拍摄的图像中,目标位置、光照条件等变化导致灰度变化速率发生较大改变时,分割结果就会有较大偏差。另外,这种方式难以将受电弓的两个滑板有效地分割出来,无法实现对单个滑板的分析。
技术实现要素:
本发明的目的在于提供一种定位准确、有效性高、适应性强的基于改进canny边缘检测算法的受电弓磨耗检测方法。
实现该发明目的的技术解决方案为:一种基于改进canny边缘检测算法的受电弓磨耗检测方法,包括以下步骤:
步骤1、利用改进卡尔曼滤波方法对目标图像进行平滑滤波,去除噪声;
步骤2、利用迭代最佳阈值法,将滤波后的目标图像转化为二值图像,并绘制该二值图像每行灰度和与行数的关系图;
步骤3、利用模拟退火算法和爬山法定位受电弓位置,将需要检测的目标受电弓从背景图像中分割出来;
步骤4、利用改进canny边缘检测算法得到受电弓边缘轮廓图;
步骤5、计算上下边缘最小像素差值,通过相机标定和所得最小像素差值,计算受电弓磨耗值。
进一步地,步骤1所述的利用改进卡尔曼滤波方法对目标图像进行平滑滤波,去除噪声,具体如下:
利用基于二维分数阶微分掩模的卡尔曼滤波方法,构建二维分数阶随机离散空间状态模型,基于构建的状态模型设计二维离散卡尔曼滤波算法,公式如下:
s(x,y)=s′(x,y)+k(x,y)[r(x,y)-cs′(x,y)]
其中,s(x,y)为滤波估计方程,s′(x,y)为系统状态的一步预测方程,k(x,y)为滤波增益方程,r(x,y)为图像测量值,c为测量矩阵。
进一步地,步骤2所述的利用迭代最佳阈值法,将滤波后的目标图像转化为二值图像,并绘制该二值图像每行灰度和与行数的关系图,具体如下:
步骤2.1、求出图像最大灰度值h和最小灰度值l,设定初始阈值t0为:
步骤2.2、根据初始阈值t0将图像分割为目标和背景,分别求出目标的平均灰度值ab和背景的平均灰度值af:
上式g为图像中某像素点灰度值,h(g)为灰度值为g的像素点个数;
步骤2.3、计算新阈值tk,公式为:
若tk=tk+1,则tk为所求的阈值,进入步骤2.4;否则,转入步骤2.2继续迭代;
步骤2.4、利用所得阈值tk,得到二值图像,并绘制该二值图像每行灰度和与对应行数的关系图。
进一步地,步骤3所述的利用模拟退火算法和爬山法定位受电弓位置,将需要检测的目标受电弓从背景图像中分割出来,具体如下:
步骤3.1、利用模拟退火算法计算出步骤2.4得到的关系图中像素和的所有局部极大值,其中包括全局最大值;
步骤3.2、以每一个局部极大值为起点,利用爬山法能够搜索局部最值的特点,分别向该局部极大值所在行的两边进行搜索,找到两边距离最近的极小值;
步骤3.3、每个局部极大值和其两边的极小值对应行所框定的范围,即为每个受电弓上下边缘的范围,以此将受电弓从背景图像中分割出来。
进一步地,步骤4所述的利用改进canny边缘检测算法得到受电弓边缘轮廓图,具体如下:
步骤4.1、得到图像的梯度直方图,找出幅值峰值hmax,计算均方差σ:
其中,n为图像像素点总数,hi为第i个像素点的梯度幅值;
步骤4.2、计算高阈值th:
th=hmax+σ
步骤4.3、去除梯度幅值高于th的像素点后,对剩余图像再次进行梯度幅值直方图统计,计算新峰值h′max和新均方差σ′:
其中,n′为剩余图像的像素点总数,hi为剩余图像中第i个像素点的梯度幅值;
步骤4.4、计算低阈值tl:
tl=h′max+σ′。
进一步地,步骤5所述的计算上下边缘最小像素差值,通过相机标定和所得最小像素差值,计算受电弓磨耗值,具体如下:
步骤5.1、根据步骤4所得的受电弓边缘轮廓图,从左到右依次计算上下边缘的像素差值,取最小值为最终得到的磨耗像素值;
步骤5.2、通过相机标定,得到最小像素差值和物理空间中距离的对应关系,从而得到实际的磨耗值。
本发明与现有技术相比,其显著优点为:(1)基于模拟退火算法和爬山法进行受电弓的定位,能够有效、准确地定位出各受电弓的位置;(2)基于自适应阈值的改进canny算法定位受电弓边缘轮廓图,增强了对不同光照条件的受电弓定位的适应性。
附图说明
图1是本发明基于改进canny边缘检测算法的受电弓磨耗检测方法的流程示意图。
图2是本发明实施例中利用迭代最佳阈值法得出的二值图。
图3是本发明实施例中图像每行灰度和与行数关系图。
图4是本发明实施例中通过模拟退火算法和爬山法分割出的电弓轮廓图。
图5是本发明实施例中通过改进canny边缘检测得到的受电弓边缘轮廓图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
结合图1,本发明基于改进canny边缘检测算法的受电弓磨耗检测方法,包括以下步骤:
步骤1:利用改进卡尔曼滤波方法对目标图像进行平滑滤波,去除噪声,具体为:
对于获取的初始图像,利用基于二维分数阶微分掩模的卡尔曼滤波方法,构建二维分数阶随机离散空间状态模型。分数阶微分是整数阶微分的推广,能够很大程度上识别信号的奇异性并提取目标对象。微分阶数比较小时,信号中高频分量大幅增强的同时,低频成分也相应增强,甚低频则没有丢失,有效弥补了传统卡尔曼滤波导致的细节缺失的缺点。
基于构建的状态模型设计二维离散卡尔曼滤波算法,滤波估计方程如下:
s(x,y)=s′(x,y)+k(x,y)[r(x,y)-cs′(x,y)]
其中,s(x,y)为滤波估计方程,s′(x,y)为系统状态的一步预测方程,k(x,y)为滤波增益方程,r(x,y)为图像测量值,c为测量矩阵。
步骤2、利用迭代最佳阈值法,将滤波后的目标图像转化为二值图像,并绘制该二值图像每行灰度和与行数的关系图,具体如下:
步骤2.1、求出图像最大灰度值h和最小灰度值l,设定初始阈值t0为:
步骤2.2、根据初始阈值t0将图像分割为目标和背景,分别求出目标的平均灰度值ab和背景的平均灰度值af:
上式g为图像中某像素点灰度值,hg)为灰度值为g的像素点个数。
步骤2.3、计算新阈值tk,公式为:
若tk=tk+1,则tk为所求的阈值,进入步骤2.4;否则,转入步骤2.2继续迭代;
步骤2.4、利用所得阈值tk,得到二值图像,并绘制该二值图像每行灰度和与对应行数的关系图。
步骤3、利用模拟退火算法和爬山法定位受电弓位置,将需要检测的目标受电弓从背景图像中分割出来,具体如下:
步骤3.1、利用模拟退火算法计算出步骤2.4得到的关系图中像素和的所有局部极大值,其中包括全局最大值;
步骤3.2、以每一个局部极大值为起点,利用爬山法能够搜索局部最值的特点,分别向该局部极大值所在行的两边进行搜索,找到两边距离最近的极小值;
步骤3.3、每个局部极大值和其两边的极小值对应行所框定的范围,即为每个受电弓上下边缘的范围,以此将受电弓从背景图像中分割出来。
步骤4、利用改进canny边缘检测算法得到受电弓边缘轮廓图,具体如下:
步骤4.1、得到图像的梯度直方图,找出幅值峰值hmax,计算均方差σ:
其中,n为图像像素点总数,hi为第i个像素点的梯度幅值;
步骤4.2、计算高阈值th:
th=hmax+σ
步骤4.3、去除梯度幅值高于th的像素点后,对剩余图像再次进行梯度幅值直方图统计,计算新峰值h′max和新均方差σ′:
其中,n′为剩余图像的像素点总数,hi为剩余图像中第i个像素点的梯度幅值;
步骤4.4、计算低阈值tl:
tl=h′max+σ′
步骤5、计算上下边缘最小像素差值,通过相机标定和所得最小像素差值,计算受电弓磨耗值,具体如下:
步骤5.1、根据步骤4所得的受电弓边缘轮廓图,从左到右依次计算上下边缘的像素差值,取最小值为最终得到的磨耗像素值;
步骤5.2、通过相机标定,得到最小像素差值和物理空间中距离的对应关系,从而得到实际的磨耗值。
实施例1
本发明的一个实施例,对某受电弓利用本发明基于改进canny边缘检测算法的受电弓磨耗检测方法进行受电弓磨耗检测。
图2为利用迭代最佳阈值法得出的二值图,可以看出,获得的二值图能够清晰的标志出受电弓在原始图像中所处的位置,并最大程度地滤除其他物体的干扰。
图3为图像每行灰度和与行数关系图,图像呈现为多峰形状,从某一峰谷到峰顶再到峰谷,即为从受电弓上边缘到中心再到下边缘地过程,因此通过模拟退火算法和爬山法,在面对不同图像时,能很好地搜索到这些局部最值。
图4为通过模拟退火算法和爬山法分割出的电弓轮廓图,该图为通过模拟退火算法和爬山法从原始图像中分割出的其中一个受电弓轮廓图,可以看出,该图准确地定位出受电弓的上下边缘,滤除了其他受电弓边缘的干扰。
图5为通过改进canny边缘检测得到的受电弓边缘轮廓图,该图是通过改进canny算法对受电弓图像进行边缘检测得到的,可以看出,最后上下边缘像素差值最小值所对应的点能过够准确的检测出来。