基于ARM和CMOS图像处理的地下管线检测技术研究
2018-05-17汪贵华
王 柯,汪贵华,徐 元,杨 栩
(1.南京理工大学电子工程与光电技术学院,江苏南京210094;2.南京理工大学理学院,江苏南京210094)
地下管线作为城市建设重要的组成部分,也称为城市的“生命线”[1],其重要性日益呈现。因而国内很多城市在积极推进地下管线信息化建设。在地下管道信息化建设过程中,需要对地下管线进行精确测量、空间定位[2]。目前采用的地下管线检测方法主要包括:电磁探测法、探地雷达等。电磁探测法利用检测地下管线周围产生的感应电流信号,管线的位置分布通过判断接收到的感应电流的大小强弱来确定。但是电磁探测法只能测量金属管线,且易受电力线、城市强磁场等的强力干扰。探测雷达通过发射高频电磁波,接收反射波。根据不同材质物体具有不同导电性,从而探测出地下管线的位置。探测雷达易受到各种随机噪声的干扰,还需要经过复杂的数据处理,而且实测数据准确度有限[3]。
上海大学沈林勇[4]提出基于PSD(Position Sensitive Device)的地下管线检测方案。PSD作为一种基于横向光电效应的位置敏感探测器,其优点是系统响应速度快、输出电路简单,但是其自身的缺陷也非常明显,严重的非线性,这就导致位置测量的不准确。
综合以上背景因素,文中提出了一种将ARM嵌入式图像处理技术与CMOS图像传感器成像相结合的新方法,实现地下管线位置分布的测量。该方法通过嵌入式ARM搭载CMOS图像传感器,采集成像屏上激光光斑图像,并进行图像预处理,提取激光光斑中心的位置,并保存到上位机,为上位机实现地下管线位置分布的三维重建提供必要信息。
1 地下管线检测技术总体方案
1.1 测量原理
测量地下管线的三维分布需要管线的坐标信息以及地下管线弯曲角度,从而重构出的地下管线空间分布。一般的地下管线的管径尺寸是固定的,可以忽略其管径大小,把地下管线看作一条空间的三维曲线。因此,测量地下管线的位置分布可简化为对地下管线中轴曲线的测量,拟合出管线中轴线。
在空间几何中[5],拟合三维空间的曲线需要一系列的离散点的三维坐标值。通过测量管线中轴线上的一系列离散点的坐标值或测量相邻点的曲率值来实现地下管线的位置分布的测量。
测量装置是整个地下管线检测系统的核心装置。检测装置[6]大致由以下几个部分组成,CMOS图像传感器、激光器、万向节、成像屏和定心结构等。测量装置是一个万向节结构连接两个定心装置构成,ABCD一端固定激光器,A1B1C1D1一端是固定成像屏和CMOS图像传感器。万向节结构允许两端连接零件的夹角在一定范围内变化,所以两部分定心结构会使之随管道弯曲而相对转动。测量装置的原理图如图1所示。
图1 测量原理图
当测量装置处于待测管道当中,激光器射出的激光光束沿着管道中轴线的切线方向入射到成像屏,激光光斑会落在CMOS图像传感器的光敏面上;CMOS图像传感器的感光面平行于成像屏、垂直于管道中轴线。CMOS图像传感器光敏面到成像屏的距离固定不变,且等于它的焦距,这就保证了成像的质量。当检测传感装置缓慢前进,两定心结构会使之随管道弯曲而相对运动,同样激光光斑位置也随管道的弯曲变化而相对移动。因此采集激光光斑的图像,通过相关图像处理算法就可以解算出激光光斑的位置。因此检测仪会获得大量离散激光光斑的位置坐标,进而递推计算获得地下管线的位置空间信息。
1.2 系统总体框架
整个检测系统从功能性可分为五大模块,分别为摄像机标定矫正、视觉图像采集、视频图像处理、激光光斑中心提取、上位机管线形状方位重建。摄像机标定矫正模块是对摄像机进行标定、矫正,以减少系统误差,提高精度;视觉图像采集模块是通过CMOS图像传感器采集激光光斑图像;视频图像处理模块则是对采集的图像数据预处理;激光光斑中心坐标提取模块主要完成激光光斑中心坐标的解算,上位机管线形状方位重建模块则是对下位机传送来的数据进行保存处理,为后续的管线形状方位重建提供位置坐标信息。整体的系统结构如图2所示。
图2 系统总体结构图
1.3 地下管线检测系统的硬件结构
在本系统中,嵌入式ARM处理器需要有合适的工作频率、外设接口丰富、能运行Linux操作系统。ARM处理器移植的Linux操作系统,要能支持OpenCV动态链接库、多线程并行处理[7]。为了满足以上的要求,我们选取Cortex-A9架构的四核S5P4418处理器作为核心处理器。CMOS图像传感器比CCD具有低功耗、低成本、集成度高等优点,所以选用OV7725是1/3”CMOS彩色图像传感器作为感光元件。它同时支持连续和隔行扫描方式,输出VGA与QVGA两种图像格式;支持像素为640×480,帧速率为30fps。视频信号通过USB数据线采集传输。嵌入式ARM处理与上位机通过串口通信。硬件结构原理如图3所示。
图3 硬件结构原理图
1.4 地下管线检测系统软件结构设计
本系统将 OpenCV(Open Source Computer Vi⁃sion Library)计算机视觉库移植到嵌入式ARM平台上。CMOS传感器等设备的驱动程序可以直接编译进内核模块,加载到Linux内核中。
在开发应用程序时,需要通过交叉编译器armcortexa9-linux-gnueabihf编译成可执行文件,拷贝到嵌入式ARM开发板中,然后进行相关调试;应用程序可以调用OpenCV视觉库中的数据结构和相关函数,对采集激光光斑图像进行灰度转换、滤波去燥、阈值分割(二值化)等一系列图像预处理,将激光光斑中心坐标解算出来。应用程序的设计流程如图4所示。
图4 软件结构流程图
2 摄像机标定实验
对于任何摄像机都存在着一定的畸变,所以要考虑摄像机的畸变带来的误差。畸变会造成了激光光斑的像偏离了实际位置,导致地下管线检测的精度下降。因此这采集图像之前需要对摄像机进行标定矫正,修正畸变给系统带来的激光光斑位置的偏差[8]。
对于单目视觉标定,采用基于2D平面靶标的张友正标定法[9]。通过获取不同角度的黑白相间棋盘的图像,通过计算每个角度棋盘上的每个角点的位置和其图像的单适应矩阵。多个视场角度的多个单适应矩阵来求解摄像机的内参数和外参数,最后利用极大似然准则对上述参数进行优化,提高参数的精度[10]。
标定与矫正实验与分析:摄像机的标定和矫正使用基于张氏标定法的matlab calibration toolbox。我们选取规格为9×6黑白相间方格的棋盘作为定标实验的标定模板,对标定模板进行多视角的采集。首先采集26张各视角的标定模板图像并读入内存;然后提取每张图像的网络角点,如图5所示为检测网络角点;根据这些标定模板图像与摄像机坐标系之间的位置关系,可对摄像机的内外参数以及畸变参数的标定;最后利用这些参数对图像进行矫正。图6为当摄像机固定位置不变时,摄像机与标定模板图像之间的位置关系图。
图5 检测角点图
图6 摄像机与标定模板关系图
由此可得,摄像机的内参数矩阵A如下。
其中径向畸变参数为k1=-0.149 51,k2=-0.002 86,k3=0.000 0,切向畸变参数为p1=0.000 59,p2=0.003 54。利用摄像机的内参数以及畸变参数矫正后的如图7所示。
图7 矫正图
在完成参数定标与矫正之后,进行误差分析。如图8所示,在图像上显示出标定使用的所有角点反投影到图像空间的图像坐标误差。由此可得,本次标定实验的像素误差为(0.159 71,0.168 22)。
图8 角点像素误差分布图
3 激光光斑的采集处理
当摄像机采集激光光斑图像时,除了摄像机本身的畸变的影响,还会受到背景光的干扰,使得图像的质量降低。这会给检测和识别图像中的目标物体造成较大的误差,所以为了提高获取的激光光斑图像的质量和激光光斑中心定位的精确度,一是要对摄像机的采集到的原始图像进行矫正;二是要对矫正后的激光光斑图像进行一定的预处理,以获得比较理想的激光光斑的边缘和轮廓。
3.1 灰度变换、滤波去噪
当CMOS摄像机处于待检测管线中,采集到激光光斑图像比较暗,不利于后期对光斑的阈值分割。采用灰度变换方法对激光光斑图像进行处理。
在管道内,一部分激光也会经过管壁的反射到成像屏,形成了无法避免的噪声。为了去除图像中的混入噪声,需要对采集到的激光光斑进行滤波去燥。中值滤波算法是一种非线性的信号处理方法,不仅可以处理噪声干扰,还能很好地保留激光光斑的轮廓信息。这有利于提取保存激光光斑完整性信息[11]。如图9所示为中值滤波后的图像。
图9 中值滤波后图像
3.2 阈值分割(二值化)
对激光光斑图像处理的关键技术是提取光斑图像的中心,这需要首先提取光斑的边缘,再利用相应的算法计算中心点的位置。结合本系统的测量环境,由于图像中只有一个激光光斑,激光光斑对称规则,且与背景之间对比度较大,故采用基于图像灰度特性的方法进行图像分割。
假设原始图像f(x,y)对应的灰度,由于目标和背景是灰度级中两种主要的模式,所以通过选取一个阈值T来把目标图像和背景图像分离开,达到分割目标图像目的。阈值处理后的图像g(x,y)定义为:
阈值分割的关键在于阈值T的选取[12]。
大津法(Otsu)法是一种基于全局的图像二值化分割算法,它根据图像的灰度特征,将图像分为前景和背景两个部分。通过计算前景和背景的类间方差,并使两部分的之间的差别是最大的,就可得到最佳阈值。当取最佳阈值时,激光光斑和图像背景被最大程度的分割。
通过Otsu法可以得到激光光斑最佳阈值为K=208。阈值分割后的图像如图10所示。
图10 阈值分割后图像
4 激光光斑中心定位
目前比较常用的光斑中心定位算法[13-15]有灰度重心法、圆拟合法、高斯拟合法、空间矩方法等。灰度重心法简单且测量精度高,要求光斑形状比较规则圆拟合法对于激光光斑不完整或者形状及其不规则,用圆结合最小二乘法无限的逼近激光光斑轮廓;高斯拟合法虽然测量精度高,但抗干扰性能差;空间矩方法的精度高度依赖于光斑边缘,其受限于实际应用;本论文在成像屏上形成的激光光斑形状规则对称,所以选用灰度重心法定位激光光斑的中心。
假设CMOS图像传感器的像素分辨率为m×n,并且光斑的图像灰度可表示为f(x,y),光斑重心实际上就是计算光斑图像的一阶矩,其坐标可以表示为式(2)、式(3)[16]。
式中(x0,y0)为目标图像f(x,y)的中心。
通过灰度重心法可以提取激光光斑的中心坐标点,如图11所示。其激光光斑中心坐标为x=204.117,y=115.547。通过摄像机内参矩阵A可把像素坐标转换成实际物理坐标,为后续上位机重建出地下管线的形状与方位提供了必要的信息。
图11 激光光斑中心
5 结论
文中提出了一种将ARM嵌入式图像处理技术与CMOS图像传感器相结合的新方法。文中提出检测方法不会受到地下管线埋藏深度、周围电磁环境的影响,可测量任意埋藏深度的地下管线;该方法简便、易于实现,能够有效的降低制作成本。在已知管道中轴线上点的位置坐标去实现地下管线位置分布的精确三维重建,还需要进一步的研究。
参考文献:
[1]毕天平,周京春.昆明三维地下管线系统应用与研究[J].测绘通报,2014(2):93-96.
[2]李学军,洪立波.城市地下管线探测与管理技术的发展及应用[J].城市勘测,2010(4):5-11.
[3]范亚男.地下管线探测中探地雷达技术应用研究[J].测绘通报,2015(S0):46-48.
[4]沈林勇.非开挖信息管线的三维曲线探测新技术研究[D].上海:上海大学,2011.
[5]邵麒.三维管道检测仪的测控与通讯技术研究[D].南京:南京理工大学,2015.
[6]沈林勇.非开挖信息管线的三维曲线探测新技术研究[D].上海:上海大学,2011.
[7]童飞.地下管线位置分布的图像检测技术研究[D].南京:南京理工大学,2014.
[8]徐德,谭民,李原.机器人视觉测量与控制[M].北京:国防工业出版社,2011.
[9]张铖伟,王彪,徐贵力.摄像机标定方法研究[J].计算机技术与发展,2010,20(11):174-179.
[10]牛海涛,赵勋杰.采用棋盘格模板的摄像机标定新方法[J].红外与激光工程,2011,40(1):133-137.
[11]曹远佳,尉广军,李先龙.激光光斑的图像处理及边缘检测的改进[J].激光与红外,2016,46(9):1160-1164.
[12]徐亚明,束进芳,安动动.自适应阈值激光光斑中心定位方法研究[J].城市勘测,2014(4):5-7.
[13]王拯洲,许瑞华,胡炳樑.基于圆拟合的非完整圆激光光斑中心检测算法[J].激光与红外,2013,43(6):708-711.
[14]王丽丽,胡中文,季杭馨.基于高斯拟合的激光光斑中心定位算法[J].应用光学2012,33(5):985-990.
[15]张奔牛,万红明,毛成林.基于差分光斑中心定位算法的位移传感技术研究[J].传感技术学报,2011,24(2):215-219.
[16]陈和,杨志浩,郭磐.激光光斑中心高精度定位算法研究[J].北京理工大学学报,2016,36(2):181-185.