基于图像匹配的粗粒土填料级配自动识别方法及应用***
技术领域
本发明涉及粗粒土路基填筑碾压施工及其质量控制技术领域,尤其涉及一种基于图像匹配的粗粒土填料级配自动识别方法及应用***。
背景技术
粗粒土填料作为铁路道床和路基的重要组成部分,是由大小不等的粗细颗粒组成,颗粒粒径范围较大,粗细颗粒特性差异较大,一般为单粒结构,小颗粒填补了大颗粒所形成的空隙,级配良好的粗粒土比级配不良的粗粒土密实度更高,在填筑碾压施工时也更容易被压实。粗粒土的级配较大地影响着铁路道床和路基的强度、稳定性、变形性和耐久性等服役性能。随着铁路运输业的快速发展,铁路基础设施的建造、运营管理、养护维修等方面越来越趋于智能化,级配作为粗粒土填料的重要物理指标,长期以来主要依赖人工或机械筛分方法加以确定,随着铁路路基在填筑过程中逐渐引入智能碾压技术和设备,如何实时、快速、智能、高效、准确地识别碾压前后粗粒土填料的级配并用于预测其模量、阻尼等力学参数,以便填筑施工时实时、智能、准确地评价碾压质量,是智能碾压填筑技术的关键。
目前粗颗粒土级配主要采用筛分法确定,根据规范给定的筛孔大小及其组合,对需要确定级配的粗粒土进行筛分,依据留在各个筛孔上的颗粒质量比确定该粗粒土的级配曲线。尽管这种方法技术成熟、应用广泛、操作简单,但该方法比较耗时、效率低,而且需对粗粒土进行采样筛分,筛分过程中粗颗粒的磨耗、破碎以及筛孔的变形可改***粒土的原始级配。人工或机械筛分时,将填料按筛孔大小顺序逐个过筛,需使填料在筛面上同时有水平及竖直方向的连续振动,使小于筛孔尺寸的填料颗粒通过筛孔,直至1min内通过筛孔的质量小于筛面上残余质量的0.1%为止。当采用摇筛机筛分时,应在摇筛机筛分后再由人工逐个补筛,将筛出通过的颗粒并入下一号筛,和下一号筛中的试样一起过筛,顺序进行直到各号筛全部筛完为止。应确认1min内通过筛孔的质量确实小于筛上残余量的0.1%,称取每个筛上的筛余量,精确至总质量的0.1%,分计筛余百分率精确至0.1%,累计筛余百分率精确至0.1%,各号筛的通过百分率精确至0.1%。根据各筛孔的累积通过百分率绘制级配图以确定粗颗粒土的级配。筛分法主要有以下缺点:
(1)常规筛分试验需要采集现场不同位置处的土样进行试验,会破坏现场土体的完整性及工作状态,且耗时费力,因此不能实现铁路路基智能碾压期间的粗颗粒土级配的实时、快速、高效和智能识别。
(2)筛分试验耗时较长,效率较低,不能实现智能、自动和快速的识别和分析。
(3)筛分的过程中,由于振筛机的振动,会造成部分粗颗粒的破碎进而影响结果的精确性。
(4)筛孔在长时间的使用过程中会发生一定程度的变形,造成试验误差。
随着技术的不断发展,也出现了一些基于数字图像识别的填料级配确定方法。以Wipfrag软件为代表的图像分析法通常用于测定碎石的粒径大小,最终直接输出级配曲线,该软件可以得到精确度较低的结果。精度较低的主要原因是较多的细颗粒土的存在对粗颗粒土的分析造成了一定的干扰。ImageJ软件也可以进行图像分割,然后利用Excel计算每个颗粒的粒径大小,但其结果的精度也较低,主要是由于图像分割有较大的误差。另外,级配曲线所描述的是颗粒粒径与颗粒质量之间的关系,而图像分析获得的是颗粒粒径或颗粒二维面积与颗粒个数之间的直接关系,如何实现这两种关系之间的转换,仍待解决。
数字图像分析方法高度依赖于图像处理算法(例如去噪、分割等)的精度,容易受到现场填料复杂多变情况(例如颗粒颜色、颗粒重叠、颗粒遮挡、光照条件、颗粒阴影、含水状态等)的影响,其普适性和精确性仍是技术难题。因此,为规避上述问题,本专利创新性地提出了一种不依赖于图像处理算法的图像匹配方法,实现粗粒土填料级配的自动识别。
发明内容
针对目前级配确定存在耗时长、扰动现场状态、需要人工干预或者依赖于精确的图像处理算法等问题,本发明提供一种基于图像匹配的粗粒土填料级配自动识别方法及***,以便实时、快速、智能、高效、准确地识别路基填筑碾压前后粗粒土填料的级配。
为达到上述目的,本发明提供了一种基于图像匹配的粗粒土路基填料级配自动识别方法,包括:
S1采集包含各种粒径的粗粒土颗粒的填料图像,形成各种粒径的粗粒土颗粒识别模板,构建模板库;
S2采集包含各种级配的填料图像,将各所述填料图像与所述模板库中的所述粗粒土颗粒识别模板进行匹配,获得所述填料图像中粗粒土颗粒的粒径大小、分布以及形状类别,绘制级配曲线,将填料信息和级配一并存入级配库;
S3封装所述级配库以及执行S2的程序;
S4采集路基填筑碾压施工现场路基的填料图像,经封装的程序处理后,获得施工现场填料图像的级配结果和级配曲线。
进一步地,各种粒径的粗粒土颗粒识别模板为采用Gimp开源程序生成的圆形模板。
进一步地,S2中获得所述填料图像中粗粒土颗粒的粒径和级配以及形状类别,包括:
S21采用OpenCV函数检测填料图像与模板库中的各个粗粒土颗粒识别模板的最佳匹配位置,并进行匹配,如果匹配成功,则将匹配区域从所述填料图像中删除并另行存储,并记录匹配区域的位置及匹配出的粗粒土颗粒粒径;
S22判断各个所述填料图像是否放大到最大尺寸,如果是,则进入步骤S23,如果否,则对所述填料图像进行放大并返回步骤S21;
S23将匹配出的粗粒土颗粒图像按照形状划分为不同的形状类别;
S24统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量;
S25计算所有颗粒的尺寸和质量的分布,输出级配结果及级配曲线。
进一步地,S21还包括将每种粒径图像旋转各个角度后生成的新图像与各个粗粒土颗粒识别模板进行匹配,选择匹配度最高的模板作为匹配结果。
进一步地,S21还包括如果匹配成功,获取更多的放大模板用于匹配,判断获得的区域与另行存储区域是否存在重叠,如果存在重叠则剔除重叠部分,并扩大区域;如果提取后的区域肉眼可见不包括单个完整颗粒,则保留剔除的区域,并将扩大区域中的该部分删除,并用开源Gimp程序对区域进行优化填充。
进一步地,S21之前还包括使用第一神经网络模型检测和排除非单个颗粒或不完全可见的颗粒;所述第一神经网络模型采用人工标注的若干单个完整颗粒样本和非单个完整颗粒样本,进行训练,直至满足排除图像中的非单个颗粒或不完全可见的颗粒的精度要求。
进一步地,S23划分为不同的形状类别包括:采用第二神经网络模型将匹配出的粗粒土颗粒图像分为不同的形状类别;所述第二神经网络模型的训练包括:对匹配出的颗粒图像进行第二次人工标记,标记颗粒的形状类别形成类别样本库;类别样本库中的各类粗粒土颗粒图像按照粒径大小排列训练所述第二神经网络模型。
本发明另一方面提供一种基于图像匹配的粗粒土填料级配自动识别***,包括采集模块及识别模块;
所述采集模块获取路基填筑碾压施工现场的填料图像;
所述识别模块,基于所述采集模块获取的图像自动识别出填料的级配;所述识别模块包括模板库、第一神经网络模型单元、模板匹配单元、第二神经网络模型单元、统计单元、级配计算单元和级配库;所述模板库是包含各种粒径的粗粒土颗粒图像构建的识别模板;所述第一神经网络模型单元检测和排除所述填料图像中非单个颗粒或不完全可见的颗粒;所述模板匹配单元将填料图像与模板库中的模板进行匹配,如果匹配成功则在填料图像中删除该匹配成功区域,得到该区域内粗粒土颗粒的粒径大小及分布;所述第二神经网络模型单元将匹配出的粗粒土颗粒图像分为不同的形状类别;所述统计单元统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量;所述级配计算单元计算并输出填料图像所对应的级配结果及级配曲线,级配结果储存在级配库中。
进一步地,所述模板库中的模板为采用开源Gimp程序生成的圆形模板,用于粗粒土填料图像中各种粒径颗粒的匹配识别。
进一步地,所述识别模块构建包括:
S100采用OpenCV函数检测填料图像与模板库中的各个粗粒土识别模板的最佳匹配位置,并进行匹配,如果匹配成功,则将匹配区域从所述填料图像中删除并另行存储,并记录匹配区域的位置及匹配出的粗粒土颗粒粒径;
S200判断各个所述填料图像是否放大到最大尺寸,如果是,则进入步骤S300,如果否,则对所述填料图像进行放大并返回步骤S100;
S300将匹配出的粗粒土颗粒图像按照形状划分为不同的形状类别;
S400统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量;
S500计算所有颗粒的尺寸和质量的分布,输出级配结果及级配曲线;S600封装所述S100至500的所有执行程序,形成所述识别模块。
本发明的上述技术方案具有如下有益的技术效果:本发明的基于图像匹配的粗粒土路基填料级配自动识别方法及***通过建立匹配模板实现单个颗粒的分割及其识别,自动程度高,无需依赖复杂的图像处理算法,也无需人为干预,不依赖操作人员的经验,环境适应性强,精度高。
附图说明
图1为基于图像匹配的粗粒土路基填料级配自动识别方法的总体流程图;
图2为模板匹配算法的流程图;
图3为基于图像匹配的粗粒土路基填料级配自动识别应用***的组成示意图;
图4为级配曲线示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明涉及一种基于图像匹配的粗粒土填料级配自动识别方法,用于评估粗粒土填料的所有颗粒的尺寸和质量的分布(即级配)。如图4所示为常见的级配曲线图来描述级配,其中横坐标为筛孔尺寸(或颗粒粒径),纵坐标为通过(或粒径小于)各筛孔的颗粒质量百分率。结合图1,级配自动识别方法具体包括以下步骤:
S1采集包括各种粒径范围的粗粒土填料图像,形成各种粒径的粗粒土颗粒识别模板,构建模板库。
采集不同级配的粗粒土填料图像,从不同的角度拍摄同一级配的粗粒土填料;分别按照不同角度拍摄各种级配的粗粒土填料的图像,形成包含各种不同级配、不同角度的粗粒土填料图像库。同一图像的不同部分也可以分割为多个子图像。每张照片(包括原始照片以及分割后的照片)都包含可用于校准照片区域实际尺寸的参照信息(例如标尺等),用于识别颗粒的真实粒径。拍照之前提前通过筛分试验获取的粗粒土填料真实级配及颗粒的三维尺寸进行保存,并用于后续验证模型识别结果是否准确。此外,不同角度的粗粒土填料图像也可以采用旋转的方式获得。
图像匹配所用的模板使用开源Gimp程序手工生成,经过多次试验之后,最终选用具有圆对称特征的圆形模板以消除方向性影响;多个圆形模板共同组成模板库中的源数据。
S2采集包含各种级配的填料图像,将各所述填料图像与所述模板库中的所述粗粒土颗粒识别模板进行匹配,获得所述填料图像中粗粒土颗粒的粒径大小、分布以及形状类别,绘制级配曲线,将填料信息和级配一并存入级配库;
按照不同角度拍摄各种级配的粗粒土填料图像,形成包含各种不同级配、不同角度的粗粒土填料图像库。同一图像的不同部分也可以分割为多个子图像。每张照片包括原始照片以及分割后的照片,都包含可用于校准照片区域实际尺寸的参照信息,例如标尺。
图像中每一个可识别的颗粒都必须被标记为“单个完整颗粒”或“非单个完整颗粒”或“无法确定”。一旦完成标记,便可通过旋转来模拟生成后续机器学习模型训练所需的样本图像,从而将颗粒的方向考虑在内。采用机器学习技术构建ML模型,并通过被标记的图像对其进行训练,训练好的ML模型可将所有匹配出的颗粒图像自动识别为“单个完整颗粒”或“非单个完整颗粒”,并进行形状分类。
结合图2,模板匹配算法的具体步骤包括:
S21采用OpenCV函数检测填料图像与模板库中的各个粗粒土颗粒识别模板的最佳匹配位置,并进行匹配,如果匹配成功,则将匹配区域从所述施工现场填料的图像中删除并另行存储,并记录匹配区域的位置及匹配出的粗粒土颗粒粒径;进一步的,S21还包括将每种粒径颗粒识别模板旋转各个角度后,与所述填料图像中各个粗粒土颗粒图像进行匹配,选择匹配度最高的模板作为匹配结果。
进一步的,S21还包括如果匹配成功,获取更多的放大模板区域用于匹配,判断获得的区域与前期已另行存储区域是否存在重叠,如果存在重叠则剔除已保存的重叠部分,将其归为更大的区域;
进一步的,S21还包括如果提取后的区域存在明显的畸形,即肉眼可以判断该区域并非单个完整颗粒,则保留剔除的区域,并将较大区域中的该部分删除,再用开源Gimp程序对该区域进行优化填充。因为颗粒存在畸形的话,说明小颗粒不是大颗粒的一部分,而是一个完整的颗粒,所以保留上部操作中被剔除的小颗粒,而大颗粒中不完整的部分利用Gimp程序补全。
模板匹配过程是通过OpenCV函数进行的。每次使用该函数时,它都会检测到当前图像中与模板的最佳匹配位置,并返回一个该模板所对应的最佳匹配位置信息(便于从模板库中提取该模板)和一个“匹配质量”值。“匹配质量”衡量当前图像中的颗粒与所匹配的模板颗粒之间的相似程度。
如果模板匹配成功,匹配的区域(即可能匹配成功的单个颗粒)必须被复制到文档中并在图像中删除。因为如果不删除它,它将在下一轮匹配中再次被找到而重复匹配,计算将会永远重复这一步。
此方法找不到像素数明显小于模板像素数的颗粒,这限制了在给定图像分辨率下可找到的最小颗粒的大小。
进一步的,S21之前还包括使用机器学习技术构建第一神经网络模型来检测和排除非单个颗粒或不完全可见的颗粒。具体步骤为首先建立机器学习第一神经网络模型,首先将模板匹配出的单个颗粒图像人工归类标记为“单个完整颗粒”或“非单个完整颗粒”,以此建立训练模型所需的样本库,训练好的第一神经网络模型可用来筛查所有匹配出的颗粒图像,从而忽略那些“非单个完整颗粒”的颗粒图像。
S22判断各个所述填料图像是否放大到最大尺寸,如果是,则进入步骤S23,如果否,则对所述填料图像进行放大并返回步骤S21;
使用OpenCV函数将填料图像逐渐放大,并对每次放大后的填料图像重复步骤S21,直到填料图像尺寸放大到最大可能尺寸。
填料图像放大的最大尺寸可以为所述图像指定某个最大值(即该图像中粗粒土颗粒的最大粒径尺寸),该最大值会随着所述输入填料图像的不同而不同。
通过放大填料图像可确保所述图像中由分辨率确定的可识别的颗粒(即大于如3中提到的最小颗粒尺寸)均被识别,也就是说在所述最大放大尺寸之上再放大的任何模板尺寸将匹配不到任何填料颗粒。
S23将匹配出的粗粒土颗粒图像按照形状划分为不同的形状类别;
进一步的,S23还包括使用机器学习技术构建第二神网络模型,将模板匹配出的填料颗粒分为不同的形状类别,该形状类别是描述和表征颗粒外观形状的一种分类方法;将模板匹配识别出的填料颗粒按照粒径大小排列,根据粒径大小和形状类别来估算该颗粒的筛余筛孔尺寸(即为该颗粒无法通过的最大筛孔尺寸)。首先在第二神网络模型训练过程中人为地对匹配出的颗粒进行第二次标记,即标记颗粒的形状类别,例如圆形、三角形、长方形、细长形等,以便训练好的第二神网络模型可对颗粒进行准确的形状分类。
S24统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量。根据找到的匹配模板尺寸为每个颗粒分配粒径大小,获得单个颗粒的二维尺寸,此处没有考虑匹配出的颗粒具体形状。根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积。需要说明的是,对于长细颗粒,此大小将是主轴长度。对颗粒进行虚拟筛分时,假定筛孔的尺寸为颗粒的第三个尺寸,大小为椭球体(该椭球体两条长半径均为圆的直径)主轴椭圆的短轴长。(该过程是对颗粒进行虚拟筛分,目的是为了估算筛孔大小,从而得到对应填料颗粒的粒径大小)。
根据估算出的该颗粒的筛余筛孔尺寸,进一步计算该颗粒的体积,然后依据该颗粒材料的比重(无实测数据时可采用典型值例如2.67),求得颗粒的质量,进而得到所述填料图像中所有颗粒的级配曲线(或粒径分布)。
颗粒的体积按照六面体体积计算方式进行,并将颗粒的比重赋以精确测定的值,如果暂无实测值,则假定为填料的代表性值(例如2.7等),进行质量计算,最后得到其级配分布。
将计算出的颗粒大小及粒径分布与所述填料图像区域内已知的颗粒大小及粒径分布进行比对,验证图像匹配算法的准确性;如有需要,进一步调整和优化算法以及ML模型参数,直到计算级配与实测级配之间的误差在可接受的允许范围之内。
S25计算所有颗粒的尺寸和质量的分布,输出级配结果及级配曲线。
进一步的,对S21至S25所述的单元程序以及训练好的第一、第二神经网络模型进行封装,形成用于现场检测的可独立运行的封装程序。在路基填筑碾压施工现场便可直接利用该封装好的程序,将压实前后的填料图像输入该封装好的程序中便可输出填料级配结果。
S3封装所述级配库以及执行S2的程序;统一封装成可独立运行的程序用于处理施工现场采集的填料图像。
S4采集路基填筑碾压施工现场的填料图像,与所述模板库中的所述颗粒识别模板进行匹配,经训练得到的封装程序处理后,获得施工现场填料图像中粗粒土颗粒的粒径及其分布,计算并输出施工现场填料图像所对应的的级配。具体包括:
S41采集路基填筑碾压施工现场的填料图像;采用第一神经网络模型排除施工现场路基的填料图像中的非单个颗粒或不完全可见的颗粒;
S42采用封装程序处理后,获得施工现场的填料图像中粗粒土颗粒的粒径、分布、形状类别、级配结果和级配曲线,并输出级配结果和级配曲线。
本发明另一方面提供一种基于图像匹配的粗粒土路基填料级配自动识别应用***,结合图3,包括采集模块及识别模块;
所述采集模块获取路基填筑碾压施工现场的填料图像;
所述识别模块,基于所述采集模块获取的图像自动识别出填料的级配;所述识别模块包括模板库、第一神经网络模型单元、模板匹配单元、第二神经网络模型单元、统计单元、级配计算单元和级配库;所述模板库是包含各种粒径的粗粒土颗粒图像构建的识别模板;所述第一神经网络模型单元检测和排除所述填料图像中非单个颗粒或不完全可见的颗粒;所述模板匹配单元将填料图像与模板库中的模板进行匹配,如果匹配成功则在填料图像中删除该匹配成功区域,得到该区域内粗粒土颗粒的粒径大小及分布;所述第二神经网络模型单元将匹配出的粗粒土颗粒图像分为不同的形状类别;所述统计单元统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量;所述级配计算单元计算并输出填料图像所对应的级配结果及级配曲线,级配结果储存在级配库中。
所述识别模块基于所述采集模块获取的图像自动识别出填料的级配。所以第一和第二模型的处理工作都已经封装到程序中去了,现场只需要运行程序处理图像即可得出级配结果,显示级配曲线。可以将结果发送给实验员,或者现场设备可通过无线网络获取和发送图像及结果,分析过程也可以基于服务器实现实时自动化处理,实现颗粒分布可视化的实时性能。
所述识别模块构建包括:
S100采用OpenCV函数检测填料图像与模板库中的各个粗粒土识别模板的最佳匹配位置,并进行匹配,如果匹配成功,则将匹配区域从所述填料图像中删除并另行存储,并记录匹配区域的位置及匹配出的粗粒土颗粒粒径;
S200判断各个所述填料图像是否放大到最大尺寸,如果是,则进入步骤S300,如果否,则对所述填料图像进行放大并返回步骤S100;
S300将匹配出的粗粒土颗粒图像按照形状划分为不同的形状类别;
S400统计单个颗粒的二维尺寸,根据形状类别估计单个颗粒第三维的尺寸,获得单个颗粒的体积,求得单个颗粒的质量;
S500计算所有颗粒的尺寸和质量的分布,输出级配结果及级配曲线;
S600封装所述S100至500的所有执行程序,形成所述识别模块。
综上所述,本发明提供一种基于图像匹配的粗粒土路基填料级配自动识别方法及应用***,采集包含各种粒径的粗粒土填料图像,形成各种粒径的粗粒土颗粒识别模板,构建模板库;采集涵盖各种级配的填料图像,将各所述填料图像与所述模板库中的所述模板进行识别匹配,获得所述填料图像中粗粒土颗粒的粒径大小、分布及形状类别,将级配结果存储到所构建的级配库;采集路基填筑碾压施工现场的填料图像,与所述模板库中的所述模板进行识别匹配,获得施工现场填料图像中颗粒粒径及级配,获得施工现场填料的级配,并将级配结果存储到所构建的级配库。本发明通过建立匹配模板实现单个颗粒的高效和准确分割及识别,自动程度高,无需复杂的图像处理算法,无需人为干预,不依赖操作人员的经验,环境适应性强,精度高。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。