基于grabcut分割算法的无人机桩位偏差检测方法
2021-09-16段伟陈田陈思伟
段伟 陈田 陈思伟
对基桩实际坐标与设计坐标的对比和测量是一项重要的质量评价工作。目前,采用常规测量手段进行桩位偏差检测效率十分低下,本文采用大疆精灵Phantom 4 RTK无人机用于桩偏位检测的外业数据采集,开发了无人机摄影测量检测基桩偏位系统用于内业数据处理,使用grabcut分割算法用于对桩位的自动识别,将无人机得到的桩位坐标与设计图纸上的桩位坐标进行对比就可以得到桩位偏差。通过实验表明本文采用的方法可以极大的减少外业工作量,自动检测成功率达到77%,使检测效率得到了明显提高。
一、引言
目前我国仍处于大规模基础建设阶段,建筑施工大面积铺开。桩基础是基础工程中深基础的一种形式,它通过把长桩打入土层,可以将建筑物的荷载通过承台传递给有着一定刚度的基桩,并进一步传递至土地深部压缩性更小、密实度更大的硬土层。大量建筑打入预制桩或浇筑混凝土桩形成桩基。根据相关规范要求,对建筑基桩的定位偏差及桩径偏差有着严格的规定。为了校核桩位和设计桩位的偏差及桩径偏差,需配备有经验且专业的工程师进行现场测量。该现场测量过程耗时,效率低,且测量基准依赖于第三方划定的轴线,容易形成争议,且事后无法重现测量过程。
随着旋翼无人机的出现,可以在低空对建筑工地进行全方位的成像。利用成像的方式获取工地桩位情况,可采用图像处理和分析工具进行更一步精确的测量,避免了现场的冗余工作和测量放线的争议等,亦可全方位地监控测量过程,形成全过程的桩位测量档案。依靠无人机的成像能力,设计相应的图像处理和分析算法,通过软件开发和集成,可研发一种全新的建筑桩位图像测量系统。从图像采集、相机定标和图像分析以及最终的报告生成等测量环节入手研究算法和工具,提供完整的精确建筑桩位测量手段,为检测单位提供核心的竞争技术和服务。
在获取无人机影像之后,依靠人手工提取每根桩的位置会造成效率低下的问题,在检测桩位数量较多的情况下会花费较多的时间,难以满足快速检测的需求。本文中采用grabcut分割算法对桩位进行自动识别,并通过实验验证该算法的有效性。
二、检测流程
主要的检测流程包括使用Phantom 4 RTK无人机获取图像和开发无人机摄影测量检测基桩偏位系统用于数据处理。
1.Phantom 4 RTK无人机
精灵 Phantom 4 RTK 是一款小型多旋翼高精度航测无人机,面向低空摄影测量应用,具备厘米级导航定位系统和高性能成像系统,便携易用,全面提升航测效率。精灵Phantom 4 RTK通过将飞控、相机与RTK的时钟系统实现微秒级同步,相机成像时刻毫秒级误差,并对相机镜头中心点位置和天线中心点位置进行补偿,在RTK精准定位的同时,减少位置信息与相机的时间误差,使影像获得更加精确的位置信息,满足高精度航测需求。1英寸2000万像素CMOS传感器捕捉高清影像。每个相机镜头都经过严格工艺校正,以确保高精度成像。畸变数据存储于每张照片的元数据中,方便用户使用后期处理软件进行针对性调整。机械快门支持高速飞行拍摄,消除果冻效应,有效避免建图精度降低。
晴天环境下飞行,风速小于4 m/s,飞行高度100米,地面采样距离(GSD)2.74厘米,航向重叠率80%,旁向重叠率70%,可以达到的定位精度如下:
图1 精灵Phantom 4 RTK定位精度
在无地面控制点的情况下,平面精度可达厘米级,高程精度可达米级,在有少量地面控制点的情况下平面精度和高程精度均可以达到厘米级。
2.无人机摄影测量检测基桩偏位系统
根据桩位偏差检测的具体要求,开发无人机摄影测量检测基桩偏位系统可以更方便的进行数据的内业处理,无人机摄影测量检测基桩偏位系统包含图像数据导入、控制点数据导入、CAD数据导入、基桩坐标转换、标注基桩、桩位偏差计算、结果输出等功能,通过无人机实测的桩位与CAD图上设计的桩位进行比对,然后计算得到桩位偏差,输出结果。在无人机飞行摄影得到航摄相片后,使用无人机摄影测量检测基桩偏位系统依次实现以下功能:
(1)导入DOM
由无人机得到的图像经过处理之后生成DOM,将DOM导入无人机摄影测量检测基桩偏位系统。
(2)导入控制点坐标
在CAD图所在的坐标系下,导入至少3个已知控制点的坐标。
(3)在拍摄图像上手动选择控制点
在DOM上标注控制点的位置。
(4)自动计算CAD图与DOM的转换参数;
通过4参数模型计算转换参数。
(5)导入CAD设计图纸上的基桩信息
导入CAD设计图纸上的基桩信息,包括名称、坐标和半径等,坐标系转换为与DOM一致,然后与DOM图叠加,用蓝框显示CAD设计图纸上的基桩位置。
(6)识别基桩
在DOM上识别基桩,得到桩的实际坐标,用红框表示。
(7)坐标对比
通过实际坐标与设计坐标进行对比,输出基桩偏位质量评价报告。
3.桩位允许偏差
使用无人机进行桩位偏差检测的前提是精度能够达到检测的要求,在本文中使用无人机进行桩位偏差检测的主要是预制桩,《建筑地基基础工程施工质量验收标准》中预制桩(钢桩)的桩位允许偏差如表1:
表1 预制桩(钢桩)的桩位允许偏差
表1中H为桩基施工面至设计桩顶的距离(mm),D为设计桩径(mm)。可以看到允许的偏差均大于10cm。
三、grabcut算法
1.算法原理
Graph Cut 算法把待分割图像构建为一个无向网络图G(V,E)。V 是所有节点的集合,除了图中每个像素外还有两个终端节点:源点s(代表前景)和汇点t(代表背景) 。E 代表图的边集,由n-links和t-links 组成;n-links 是图中每个像素之间的连接,t-links 是每个像素节点到终端节点的连接。nlinks和t-links 分别由不同的计算方式生成权值,从而构建能量函数; 然后再用最大流/最小割算法对网络进行分割得到能量函数的最小值从而实现图像的分割grabcut算法是在Graph Cut算法基础上的改进和扩展;首先它改变原有Graph Cut算法需要手动标记前景区域和背景区域的方法为只需要在前景区域标注矩形框即可,大大降低了用户交互的复杂性; 其次它采用高斯混合模型替代Graph Cut中的灰度直方图模型来描述前景和背景像素的分布,从而实现了对彩色图像的分割; 最后,使用迭代更新的方式代替原有一次分割方法,从而实现对所构建网络图能量函数的最小化获得更高的分割精度,但由于GMM 参数和迭代更新的复杂性导致算法效率降低。grabcut用来分割的能量函数如下:
上式中α为透明度系数,为0是背景,为1是前景;k∈{ 1,2,…,K},K为GMM分量数目,通常取5;θ={ πk,uk,Σk}为每个GMM分量对应的比例、均值、协方差;E是能量函数,当E取最小值便得到最佳分割;U为区域项,用来衡量透明度系数α对于像素z的匹配程度,当所有像素被正确分类到前景或背景时取得最小值;V为边界项,反映相邻像素之间的相似性,在图像的边界处取得最小值。
2.基于grabcut改进的自动图像分割
grabcut算法通过指定的矩形框对待分割图像前景和背景区域中的像素进行划分,再使用k-means算法对划分后的两类像素进行聚类来初始化GMM参数,从而得到网络图的初始权重。K-means算法的聚类结果将会决定像素属于GMM中哪一个分量并影响最终分割结果。本文将基桩的坐标作为矩形框的中心,将直径大小作为矩形框的长和宽,省去grabcut算法中人工绘制矩形框的交互过程。按照基桩编号、基桩坐标及半径依次调用grabcut算法实现基桩自动分割识别。
grabcut在pythoncv库中函数原型为grabcut(img, mask,rect,bgdModel,iterCount, mode=None)。其中img为待分割的图像,在处理的过程中不会被修改。mask为掩码图像,如果使用掩码进行初始化,那么mask保存初始化掩码信息,在执行分割的时候,也可以将用户交互所设定的前景与背景保存到mask中,然后再传入grabcut函数,在处理结束之后,mask会保存结果。Mask只能取以下四个值:GCD_BGD(=0)表示为前景,GCD_FGD(=1)表示为背景,GCD_PR_BGD(=2)表示为可能的前景,GCD_PR_FGD表示为可能的背景。rect用于限定需要进行分割的图像范围,只有该矩形窗口内的图像部分才被处理。bgdModel、fgdModel必须是单通道浮点型图像,bgdModel表示背景模型,fgdModel表示前景模型。iterCount代表迭代次数,在本文中,迭代次数设置为10。mode用于指示grabcut函数进行什么操作,可选的值有GC_INIT_WITH_RECT(=0)表示用矩形框初始化grabcut,GC_INIT_WITH_MASK(=1)表示用掩码图像初始化grabcut,GC_EVAL(=2)表示执行分割,在本文中mode参数设置为1 ,用矩形框初始化grabcut。
四、实验
为了验证采用无人机结合grabcut识别算法能否满足桩偏位检测的需求,在某篮球场进行了桩偏位检测实验,在地上模拟了30cm、40cm和50cm等不同大小的桩位各十个,首先通过无人机获取数据,飞行高度40m,地面分辨率约1.2cm,然后通过grabcut识别算法进行识别之后得到的结果如图2:
图2 桩偏位识别结果
图2中蓝色的是由全站仪得到桩位,红框是grabcut识别算法得到的桩位,在现场建立临时坐标系,以北方向为X轴,以东方向为Y轴,得到的桩位偏差值如表2:
表2 桩位偏差值(单位:mm)
由表2可以看到通过全站仪得到的坐标与通过使用grabcut识别算法得到的桩位坐标总体上差别不大,桩位坐标距离小于10cm的点数达到80%。为了验证使用grabcut识别算法进行自动识别的实用性和有效性,对某工程项目的桩位偏差检测进行现场实验,选取35根桩对桩位进行检测,用于实验的桩位事先通过常规方法检测是符合验收标准要求的,桩径均为400mm,编号为35到69,飞行高度为120m,分辨率为3.28cm,得到的实验结果如下:
图3 实验结果
得到的检测结果如表3:
表3 桩位检测成果表(单位:mm)
由表3可以看出通过grabcut识别算法得到的坐标与CAD图上的坐标相差在2cm到18cm,35根桩中差距小于10cm的有27根,所占比率为77%。
五、结论
通过以上的实验分析可以得到以下结论:
(1)通过grabcut识别算法得到的坐标不论是与全站仪得到的坐标相比,还是与设计坐标相比,相差小于10cm的数量均在77%以上。
(2)在不同的飞行高度下,通过grabcut识别算法得到的坐标偏差会有区别,飞行高度越低,坐标偏差越小。
(3)grabcut识别算法中不同的桩径对识别的准确程度也有影响,实验中对桩径为400mm的识别准确度明显要高于桩径为500mm时的准确程度,同时不同的地面背景也会对识别的准确程度造成影响。
使用无人机进行桩位偏差检测能减少外业工作量,通过grabcut识别算法能进一步减少内业的工作量,虽然还不能全部进行自动化识别,但本文提出的方法极大的提高了桩位偏差检测效率,为快速高效的获取桩位偏差信息提供了新的思路和途径。