行车环境下钢轨轮廓激光条纹中心的提取方法 下载: 1116次
1 引言
在线结构光测量系统中,激光束垂直地投射到被测物体表面,摄像机从另一个角度拍摄激光条纹图像,并按照三角测量法获得激光断面数据。三角测量法要求投影到物体表面的轮廓线无限薄,即仅有一个像素宽度。但由于光线散射、成像系统的点扩展效应等,实际轮廓线在像平面的投影图像具有一定的厚度且呈光条状。因此,快速准确地提取激光条纹中心的位置以获得实际轮廓线上每一点准确的空间坐标值,是线结构光测量系统需要解决的关键问题之一[1-3]。
行车环境中,基于主动激光三角测量技术的钢轨轮廓测量面临着一系列难题。其中一个主要问题是目前的激光条纹提取方法对噪声和光照的变化较为敏感,而列车实际行驶环境中,因照明变化、不均匀反射以及表面不平顺而引入的干扰信息以噪声形式反映在激光图像上,这些干扰因素会改变激光的轮廓形状。传统的光条中心提取方法主要以牺牲稳健性为代价来提高激光检测的精度,这类方法往往适用于环境光和激光功率可控的室内检测场景,而室外行车环境中存在各种噪声干扰,会造成激光轮廓变形,图像的亮度不均匀,甚至部分激光完全缺失,因此传统方法并不适合应用于铁路场景中。
本文提出了一种可应用于铁路动态行车环境下的快速、准确和稳健的激光光条中心提取方法。基于深度学习的语义分割技术提取完整的光条区域,并根据光条的形状曲率和明暗程度将光条分割为多个子区域;针对不同的子区域采用分区域多模板匹配的方法对光条进行分段提取。该方法有效克服了噪声的影响,并兼顾了光条提取的时效性和准确率。
2 相关研究工作
在线结构光测量中,条纹变形的程度反映了被测物体的深度,故结构光变形条纹中心位置的准确检测是影响结构光系统精度的关键问题之一。在结构光系统中确定结构光条纹的中心位置与通常图像处理中的细化不同。细化仅仅要求的是保持拓扑结构,而确定结构光条纹的中心位置对准确性的要求较高。为解决结构光条纹定位的问题,研究者们提出了多种方法。对于表面反射情况较好、图像精度较高的场合,可以先检测光带的边界,然后取其中间线作为结构光条纹中心的位置;对于更复杂的情况,需要寻找恰当的光条提取算法。一般的方法大致可分为两个步骤:1)对光条图像进行分割;2)计算光条的中心坐标。
当使用结构光传感器时,稳健的条纹分割是影响钢轨轮廓线定位精度的决定性因素。目前该领域大部分的研究都集中在激光条纹的中心线检测方面,而对激光条纹的分割研究鲜有报道。已有的研究成果中,大多数分割方法通常以牺牲稳健性和时效性为代价[4-7]。
传统的激光条纹中心线提取方法有极值法、灰度重心法、模板匹配法、Steger算法以及在此基础上提出的改进方法等[8]。对于线结构光测量中所用的单色激光器,其出射光线的强度在其截面上一般可认为是服从高斯分布的,光条中心提取应尽量逼近该高斯分布的中心位置。在传统方法的基础上,一些学者结合钢轨轮廓结构光测量的应用背景,针对性地提出了钢轨轮廓光条中心线的提取方法[9-11]。但研究成果多关注于光条中心提取方法的改进,对于受环境光严重干扰的光条分割问题却鲜有报道。此外,现有的方法大多无法兼顾时效性、准确性和稳健性,需根据不同的应用场景选择合适的算法。面向室外高速动态的成像环境开展的研究工作,对光条中心提取算法的性能提出了更高的要求。
成像设备接收到的光强为光源的漫反射光、镜面反射光及环境光经被测物体表面反射的光强的总和。其中,光线反射与物体表面的光滑程度有关,被测物体的表面越光滑,镜面反射的光强越集中,越接近于理想镜面反射。如
在测量过程中,均匀的漫反射光线经图像传感器捕捉生成平滑的光条图像,能较好地保持钢轨轮廓的几何形状。而不均匀的反射会造成光条灰度值分布明暗不均,轨头光带区域的镜面反射甚至会造成该处的光条过暗或过亮,因此传统的基于图像二值化的方法[4-6]或提取光条骨架的方法[3]难以得到完好的光条分割图像。如
图 2. 镜面反射对光条提取造成的影响。(a)轨头光带处发生镜面反射; (b)图2(a)的二值化结果; (c)打磨后的钢轨发生镜面反射; (d)图2(c)的二值化结果
Fig. 2. Effect of mirror reflection on stripe extraction. (a) Mirror reflection at headband; (b) binarization result of Fig. 2(a); (c) mirror reflection on polished rail; (d) binarization result of Fig. 2(c)
3 研究方法
在照明良好的室内环境下,将足够强度的激光投影到被测物体表面,通过简单的阈值法即可准确检测到激光光条的位置。然而,在室外列车运行环境下,即使对于单幅图像,周围环境光也是变化的。当激光光条强度分布不均匀时,投影表面也是变化的,如
图 3. 激光条纹的灰度分布特征。(a)激光条纹图像; (b)激光条纹灰度分布; (c)图3(a)的局部放大; (d)图3(b)的局部放大
Fig. 3. Gray-level distribution characteristics of laser stripe. (a) Laser stripe image; (b) gray-level distribution of laser stripe; (c) local zoom of Fig. 3(a); (d) local zoom of Fig. 3(b)
式中:
Fisher等[13]通过对几种经典的光条提取方法进行比较,发现灰度重心法以亚像素精度提取激光中心位置,可得到最佳结果,但该方法未考虑图像每列之间的激光光条的连续性,易受到噪声的干扰。此外,传统的灰度重心法基于行或列两个方向进行中心提取,不适用于光条弯曲变化的轨廓激光图像。基于骨架的灰度重心法和基于Hessian矩阵的Steger算法较好地解决了这个问题,能处理情况比较复杂的光带图像。但这两种方法需要求取每一个数据点处的法线方向,增加了计算的复杂度,降低了数据处理的速度,不利于实时处理任务。
针对钢轨轮廓激光条纹提取中面临的问题,提出了基于分区域多模板匹配的光条中心提取方法,如
1)基于深度学习网络实现钢轨轮廓光条图像的精细分割,按照光条的灰度和梯度方向特征将光条划分为多个区段,每个区段单独提取光条中心。这一操作去除了背景噪声以及不均匀的漫反射和镜面反射对光条提取造成的干扰,提高了算法的稳健性。
2)基于梯度直方图统计确定各分割子区域的法线主方向,各个子区域对应一个法线主方向,避免了复杂的模板匹配和耗时的梯度计算,提高了算法的时效性。
3)对各个分割的子区域构造相应的方向模板以求得法线方向的最大光强点,以该点为中心,沿法线方向按照灰度重心法提取光条中心的亚像素坐标,保证了算法的提取精度。
图 4. 基于分区域多模板匹配的光条中心线提取过程
Fig. 4. Extraction process of light stripe center line based on sub-region multi-template matching
3.1 基于深度学习的激光条纹图像分割
钢轨廓形追踪算法已经实现了轨头和轨腰区域的精确定位,因此将轨廓光条分割限定在轨头和轨腰区域,可以有效提高分割的效率和稳定性。
图 5. 不同深度网络结构的图像分割性能统计图[14]
Fig. 5. Image segmentation performance statistics for different depth network structures [14]
精度;圆圈的大小表示训练得到的模型大小,对于近似的网络结构,一般模型越大,分割越耗时。
现有的深度神经网络难以实现需要实时分割的应用,问题在于深度神经网络需要大量的浮点运算,运行时间长,时效性低。ENet是针对这一问题提出的一种新型有效的深度神经网络,相比于目前常用的SegNet分割模型,速度增大了18倍,浮点计算量减至1/76,参数减至1/80,且具有相似的分割精度。
由
1)训练数据。使用8846幅钢轨廓形激光图像作为深度学习模型训练和验证的数据集。随机抽取数据的70%用于模型训练,15%用于验证,15%用于模型测试。根据轮廓图像中光条的灰度和梯度方向对数据集进行标注,如
2)数据预处理。对所有的轨廓图像进行归一化处理,使得绝大部分的像素强度落在-0.5~0.5之间,即[-0.5,0.5]为像素的有效区间。通过裁剪并调整图像大小,提高钢轨轮廓在图像中的占比。裁剪图像会增大前景(轨廓)在图像中的比例,从而更容易解决细节问题并帮助模型收敛。
3)训练。使用TensorFlow深度学习开发框架[15]来训练ENet深度网络。网络权重根据Adam规则更新[16],使用4块NVIDIA Titan XP图形处理器(GPU)来训练和测试模型。在训练过程中,通过翻转、剪切、移动、缩放和旋转图像来增强数据。
通过图像分割技术,可以从原大小为
式中:
3.2 基于梯度直方图统计确定法线主方向
沿着光条法线方向提取光条中心的方法有利于提升精度,如基于方向模板匹配的方法、基于骨架追踪的方法以及基于Hessian矩阵的Steger算法。但这些算法需要执行复杂的模板匹配和逐点的梯度计算,较为耗时且易受局部噪声干扰,不适用于实时检测任务。如
轨廓图像任一像素
式中
图 8. 像素梯度方向。(a)整幅图像求梯度方向;(b)仅在分割得到的光条上求梯度方向
Fig. 8. Gradient direction of pixels.(a) Gradient direction solved for whole image; (b) gradient direction solved only on segmented light stripe
根据各分割子区间的法线主方向构造的方向模板如
图 9. 各分割子区间对应的方向模板
Fig. 9. Direction template corresponding to each sub-range of segmentation
3.3 基于方向模板的灰度重心法
在确定各分割子区间的法线主方向并构建相应的方向模板后,对每个子区域应用方向模板法求取初始的像素级光条中心。以
图 10. 基于方向模板提取像素级光条中心
Fig. 10. Extraction of pixel-level light stripe center based on direction template
式中:
图 11. 基于灰度重心法提取亚像素级光条中心
Fig. 11. Extraction of sub-pixel level light stripe center based on gray-level centroid method
如
4 实验与讨论
4.1 实验数据与预处理
研究的实验数据来自检测车在某重载铁路采集的轨道轮廓激光图像,实验计算平台配置为Intel Xeon@2.40 GHz×28 CPU、NVIDIA Geforce Titan X GPU以及256 GB内存。
虽然采用了快速的ENet分割模型,但相对于轨廓实时测量的应用需求,光条分割的速度仍然有待提高。通过对图像进行旋转、裁剪和缩放等预处理操作,可以大幅减少图像分析的数据量,提高分割速度。如
使用ENet训练的分割模型对
4.2 光条分割结果
表 1. 不同大小图像的ENet分割时间对比
Table 1. Segmentation time comparison of images with different sizes by ENet
|
图 13. 光条分割结果对比。(a)原始轨廓图像; (b)固定阈值二值化; (c)动态阈值二值化; (d)深度学习分割结果
Fig. 13. Comparison of light stripe segmentation results. (a) Original rail profile image; (b) fixed threshold binarization; (c) dynamic threshold binarization; (d) deep learning segmentation results
图 14. 光条图像的卷积特征。(a)第一层卷积特征,大小为16×256×256; (b)第二层卷积特征,大小为64×128×128; (c)第三层卷积特征,大小为128×164×164
Fig. 14. Convolution features of light stripe image. (a) Convolution feature of first layer with size of 16×256×256; (b) convolution feature of second layer with size of 64×128×128; (c) convolution feature of third layer with size of 128×164×164
4.3 光条中心提取结果
为了验证所提光条中心提取方法的精度和稳定性,选取100幅钢轨轮廓激光图像对不同光条中心提取方法进行了精度统计对比。首先对光条图像进行人工标注,为每一行指定一个基准比对位置,对提取的像素坐标与人工标注的基准坐标求距离均值,将所得结果作为光条提取的误差,该误差可用来评价激光光条中心检测的精度。光条中心点提取的距离均值定义为
式中:
图 15. 不同光条中心提取方法的实验结果及其局部放大。(a)灰度重心法[17]; (b)方向模板法[18]; (c) Steger方法[19]; (d)所提方法
Fig. 15. Experimental results and corresponding local zoom for different laser stripe center extraction methods. (a) Gray-level centroid method[17]; (b) direction-template method [18]; (c) Steger method [19]; (d) proposed method
不同光条中心提取方法的精度对比结果如
图 16. 不同光条中心提取方法的精度对比
Fig. 16. Precision comparison of different laser stripe center extraction methods
由
各算法的执行时间如
图 17. 不同光条中心提取方法的执行时间对比
Fig. 17. Execution time comparison of different laser strip center extraction methods
提算法针对单幅轨廓图像的执行时间仅为2.1 ms(其中单幅图像分割耗时约为1.8 ms),显著优于现有的方法。
5 结论
提出了一种适用于室外动态行车环境的稳健、快速和准确的钢轨轮廓激光条纹中心线提取算法。通过构建基于深度学习的钢轨轮廓激光条纹前景分割算法,有效去除了环境噪声和不均匀的光线反射对光条提取造成的干扰,增强了算法的稳健性。对分割得到的光条图像应用基于梯度直方图统计的区域划分方法,每个子区域局部对应一个法线主方向,避免了全局复杂的模板匹配和耗时的梯度计算,可提高算法的时效性。对各个分割的子区域构造相应的方向模板以求得法线方向的最大光强点,以该点为中心,沿法线方向按照灰度重心法提取光条中心的亚像素坐标,确保了算法的提取精度。
[1] 李涛涛, 杨峰, 李策, 等. 基于光条信度评价的线结构光传感器曝光时间优化[J]. 光学学报, 2018, 38(1): 0112005.
[2] 王顺, 徐静珠, 张益昕, 等. 结构光光条中心点信度评价方法与应用[J]. 光学学报, 2011, 31(11): 1115001.
[3] 李凤娇, 李小菁, 刘震. 基于多尺度分析的激光光条中心点坐标提取方法[J]. 光学学报, 2014, 34(11): 1110002.
[4] 张瑞瑛, 周萍, 冯煦, 等. 大视场下线结构光光条中心的快速提取[J]. 应用光学, 2010, 31(3): 432-436.
[8] 李莹莹, 张志毅, 袁林. 线结构光光条中心提取综述[J]. 激光与光电子学进展, 2013, 50(10): 100002.
[9] 王伟华, 孙军华, 刘震, 等. 钢轨磨耗动态测量结构光条纹中心提取算法[J]. 激光与红外, 2010, 40(1): 87-90.
[10] 孙军华, 王恒, 刘震, 等. 钢轨磨耗动态测量中激光光条中心的快速提取[J]. 光学精密工程, 2011, 19(3): 690-696.
[12] 徐静珠. 结构光三维测量中光条中心提取方法及其评价的研究[D]. 南京: 南京大学, 2012.
Xu JZ. Research on methods and evaluation of stripe center extraction in structured light 3D measurement[D]. Nanjing: Nanjing University, 2012.
[13] Fisher RB, Naidu DK. Acomparison of algorithms for subpixel peak detection[M]. Berlin: Springer Press, 1996: 385- 404.
[17] 崔希君, 杨川, 刘保华, 等. 线性结构光心的自适应迭代提取法[J]. 西安交通大学学报, 2007, 41(1): 73-76.
[18] 吴庆阳, 苏显渝, 李景镇, 等. 一种新的线结构光光带中心提取算法[J]. 四川大学学报(工程科学版), 2007, 39(4): 151-155.
Article Outline
王胜春, 韩强, 王昊, 赵鑫欣, 戴鹏. 行车环境下钢轨轮廓激光条纹中心的提取方法[J]. 光学学报, 2019, 39(2): 0212004. Shengchun Wang, Qiang Han, Hao Wang, Xinxin Zhao, Peng Dai. Laser Stripe Center Extraction Method of Rail Profile in Train-Running Environment[J]. Acta Optica Sinica, 2019, 39(2): 0212004.