文献标识码:A
DOI:10.16157/j.issn.0258-7998.180347
中文引用格式:张精榕,顾彬彬,缪诚钰,等. 一种实时在线的公路路面破损及位置检测装置[J].电子技术应用,2018,44(8):64-68,77.
英文引用格式:Zhang Jingrong,Gu Binbin,Miao Chengyu,et al. A real-time on-line highway pavement breakage and position detection device[J]. Application of Electronic Technique,2018,44(8):64-68,77.
0 引言
我国高速公路快速发展令世界瞩目,高速公路快速发展的同时,也使得传统的路面破损人工目测检测无法满足需求,人工方法存在效率低、安全性不高等问题,因此,迫切需要一种高效的、高智能化的路面检测装置用于检测路面破损检测。
随着计算机视觉技术的发展,很多科研工作者提出了对路面裂缝的智能检测方法并对其进行了系统的开发。早在20世纪60年代末期以模拟摄影技术为基础的检测系统就有由日本PASCO公司研发的ROADRECON-70检测车和由法国开发的GERPHO自动检测车[1]。80年代,日本的KOMATSU公司研发了一款以模拟视频录像技术为基础的路面裂缝检测车[2],最高速度可达10 km/h;90年代中期,加拿大的RoadWare公司和瑞典的Romboll公司分别研制了基于面阵相机技术的ARAN系统和PAVUE系统[3],最高时速可达90 km/h;2008年,加拿大又研制出了以3D激光扫描技术为基础的LCMS检测系统[4],将路面检测带入一个新领域。国内相关研究起步较晚,在2002年,南京理工大学的赵春雷等成功研制了N-1型路面检测车[5],其检测时速可达70 km/h。2007年武大卓越与湖北合力联合研发了ZOYON-RTM智能道路检测车[6];2010年长安大学研制出来基于依维柯的CT-502多功能路况检测车[7]。
然而这些已经研制成功的路面检测系统都是通过图像采集之后再通过计算机的强大处理能力来做后期的图像处理,增加了大量视频数据传输的难度,且实时性低。为了避免大量数据的处理和传输难度,增加系统的实时性,本文提出一种在下位机就能实现路面有效信息提取的方案。在前人工作的基础上,提出一种实时在线公路路面破损及位置检测装置。检测装置以FPGA技术、图像处理技术以及北斗定位技术与无线通信技术相结合的方式来实现。检测装置通过CMOS图像传感器进行视频图像采集,SDRAM进行视频图像的缓存,在FPGA中就可对图像进行实时处理与识别分类,然后用VGA进行视频图像的显示,北斗定位模块进行位置信息的获取,通过DTU 4G无线传输模块把获取的图像信息和位置信息发送到后台进行存储,通过LCD显示识别分类结果和地理位置信息。
1 硬件系统设计
本文所设计的路面破损检测装置的系统结构框图如图1所示,整个系统使用Altera的Cyclone IV系列的EP4CE30F23C8N FPGA芯片作为主控芯片,该芯片有4个PLL,能产生多达20个全局时钟,28 848个逻辑门,608 256个存储单元,533个I/O接口,如此丰富的片上资源为本系统的设计提供了极大灵活性。
首先FPGA芯片通过I2C总线协议对COMS摄像头OV7725进行配置以实现路面图像的采集,然后利用FPGA对获得的图像进行图像处理,灰度中值滤波、Sobel边缘检测、形态学膨胀腐蚀,最后达到对裂缝特征提取与分类识别的目的。得到裂缝的特征并通过VGA显示,再进行路面裂缝的识别与分类并对裂缝位置进行定位,最后把路面裂缝信息和位置信息发送到后台终端。
1.1 灰度中值滤波的实现
在对路面进行图像信息采集的时候图像中会掺杂一些噪声,因此需要对采集到的图像进行平滑滤波从而进行降噪处理,以便后续的图像处理[8]。中值滤波是一种非线性滤波的图像处理方法,对消除少量离散噪声点效果显著[9],其通过对邻域内像素按灰度排序的结果决定中心像素的灰度,是通过窗口内的像素的灰度值进行排序,并取出位于中间位置的灰度作为中心像素的灰度。因此中值滤波由窗口提取模块和排序模块组成。
1.1.1 窗口实现
由于FPGA芯片内部具有丰富Shift_RAM移位寄存器资源,可以非常方便地通过2行或3行Shift_RAM的移位存储,来实现3×3像素阵列。本文通过移位寄存器Shift_RAM来存放2行像素,同时与当前输入行的数据组成3行的阵列。其硬件实现框图如图2所示。
1.1.2 排序模块
排序模块的目的就是从9个像素点中比较出中间像素值,在FPGA中最快只需3个时钟即可完成中值的比较,即使用7个比较器进行三轮比较,第一轮比较3个比较器并行比较出每行的最大值、中间值和最小值;第二轮3个比较器比较出3个最大值中的最小值、3个中间值的中间值、3个最小值中的最大值;第三轮用一个比较器比较出第二轮得出的3个像素值的中间值,将该值作为9个像素点的中间值[10]。其实现流程如图3所示。
1.2 改进的Sobel边缘检测的实现
Sobel边缘检测模块主要分梯度计算和基于像素阈值的边缘检测两部分,因为只需要实现裂缝的边缘检测,这里不需要方向信息的提取。改进后的Sobel算子相比传统的Sobel算子增加了不少运算量,涉及加法、减法、乘法、除法、平方和开平方等运算。
经过中值滤波后的图像继续使用移位寄存器Shift_RAM提取3×3像素阵列与改进的Sobel算子作乘法运算并经过最后的合成得到的梯度值用来取代原来3×3像素阵列的中心像素值。由于 Altera 在 LPM 中提供了丰富的 IP核,复杂的乘除运算和平方根运算都可以通过例化相应的IP核来实现,只需要根据需要配置相应的参数即可,而简单的加减运算则是用运算符实现。
将设计好的阈值IP核与最后输出的梯度值D比较,阈值可以根据实际情况作相应的修改,本文设为60,如果像素值大于阈值,视为边缘并赋值为 1;反之则赋 0,这样就就可以得到一幅二值化的边缘图像,为后面的特征提取提供了基础。
1.3 形态学膨胀与腐蚀的实现
由于图像降噪或者边缘检测时可能会发生部分信息丢失或者出现噪声边缘,因此需要通过形态学膨胀腐蚀算法来对图像进行修复[11]。
膨胀与腐蚀是在二值化的图像上处理的,需要用Shift_RAM移位寄存器来实现1 bit的3×3阵列,即将宽度参数设置为1 bit。其中膨胀运算通过像素之间作或运算来实现[12], 考虑到运算效率问题,在HDL中通过面积换取效率,通过两个时钟来实现,第一个时钟分别计算每行3个像素的或,第二个时钟计算前面结果的或。而腐蚀则相反,通过像素值作与运算来实现。
1.4 投影特征提取与裂缝分类识别
本文将路面裂缝大致分为横向裂缝、纵向裂缝、以及龟裂和块状裂缝4类。裂缝的特征提取直接关系到对裂缝识别与分类性能的优劣[13]。
1.4.1 裂缝投影特征提取
投影算法就是将某个方向作为投影方向,并统计在其方向的垂直方向上的坐标图像目标的像素点的和,为了更好地对裂缝路面进行分类,则需要对裂缝图像分别做X、Y坐标轴方向上的投影,其算法如式(1)与式(2)所示。
在FPGA中,通过设计累加器来对各行各列的像素值进行累加并且通过寄存器保存累加值,再通过比较器比较出最大投影值来作为当前图像的投影特征值。
1.4.2 裂缝分类识别
考虑到裂缝种类的特殊性,在裂缝判定分类根据收集的大量不同裂缝图像的投影特征设定不同的阈值标准,为了获取裂缝的特征,对裂缝图像进行采样并作为裂缝特征数据库,并通过MATLAB进行投影特征分析,获得表1所示的裂缝分类投影特征。将提取到的图像投影特征值与表中的阈值进行比较就能判断出裂缝的类型,本文通过一个一段式状态机来实现裂缝类型的判别。
1.5 北斗定位模块
北斗卫星系统是我国具有自主知识产权的空间导航定位系统,具有定位、授时以及短报文通信等功能[14]。本文选择了具有高精度定位的基于北斗地基增强站(CORS)的北斗伪距差分定位方法。北斗地基增强系统由参考站网、数据处理与控制中心、网络通信系统和用户设备4部分组成[15]。本文采用泰斗D303导航差分定位芯片作为用户端与江苏北斗地基增强站(JSCORS)建立数据通信获得高精度差分定位信息[16],由芯片D303接收的单点定位信息通过GPRS网络通信发送给数据中心,再接收数据中心生成的差分修正信息,再由D303差分定位模块解析得到高精度定位信息[17]。
D303芯片与FPGA之间通过串口通信将解析后的高精度北斗定位电文发给FPGA端的串口接收模块,本文只要从所有电文中提取出其中包含经纬度信息的BDGGA电文中的经纬度信息即可,在FPGA中通过一个简单的状态机实现。
1.6 无线通信模块
无线传输使用DTU 4G无线传输模块,支持AT指令,本系统中其与FPGA之间采用串口通信的方式,通信速度设为230 400 b/s,TXD、RXD为发送、接收端,分别连接到FPGA的串口发送和接收端。在发送数据之前先使用AT指令与远程服务器建立TCP连接,接收到返回连接建立成功后即可发送数据,FPGA端已将要发送的定位信息、裂缝信息以及裂缝图片按约定的格式缓存在SRAM中,通过串口发送模块即可发送数据。
2 Sobel算子及其改进
Sobel边缘检测算法被广泛运用在计算机视觉识别领域[18],其算法是对获取的图像的像素平滑处理后进行横向和纵向的3×3矩阵卷积即可得到横向和纵向的差分近似值[19],假设A代表获取平滑滤波处理后的图像,Gx、Gy表示经过纵向和横向边缘检测的图像,其定义如式(3)所示:
同时梯度方向由arctan(Dx/Dy)所决定[20]。
传统的Sobel边缘检测算法只对横向和纵向作卷积运算[21],因此对于一些纹理比较复杂的图像可能边缘检测效果不是那么明显,尤其是对路面这样噪声较多的图像,针对沥青路面的高噪声的情况,对传统的Sobel边缘检测算法进行改进,加入抗噪能力更强的可变分母差分算法[22],用fij表示图像模板中的像素点,Dx、Dy分别表示水平和垂直方向的像素差分值,A和B表示图像与水平模板计算后各部分的值,C和D表示图像与垂直模板计算后的值,加入了可变分母后的计算方法如式(5)和式(6)所示:
3 系统测试与实验结果分析
图4所示是搭建的整个系统的实物图以及系统的显示界面,主要由图像处理部分、定位部分、显示部分、数据传输部分以及后台服务器组成。图5是检测到各类裂缝后传输到服务器后通过上位机显示出来的经纬度信息以及裂缝信息,表明该系统能够稳定地运行并成功地检测出横向、纵向、龟裂以及块状裂缝。
本文采用的评价智能路面裂缝检测系统的技术指标如下所示:
(1)识别率:用来作为衡量识别系统能否正确识别的最重要的一个指标。
(2)误识率:简单地概括为将一种裂缝识别分类成其他类别的比率。
(3)拒识率:对有裂缝的图像无法进行识别或分类,即衡量算法能否进行正常识别工作。
表2所示是实验结果统计表,是分别对20个横向、纵向、龟裂、块状的裂缝进行检测,通过结果可以得知该系统工作性能优良,能够满足正常的路面裂缝检测的工作,达到预期目标。由表2可以得知,块状的识别率在4种裂缝类别中最低,主要是因为块状的裂缝在横向与纵向上的投影特征不显著,在判定阈值的选取上对块状的裂缝识别影响较大。
4 结论
本系统通过将北斗导航技术和图像处理技术结合实现了基于北斗定位和FPGA的路面裂缝检测系统。通过改进的Sobel边缘检测算法,降低了边缘的模糊程度,提高检测准确性和抗干扰能力。并且在FPGA上实现了裂缝的自动识别和分类,系统只需在识别出裂缝时通过无线通信发送裂缝图片和经纬度信息,避免了大量数据流传输的同时而不失实时性。本系统所采用的是北斗差分导航定位模块,该定位模块的精度在静止和运动状态下分别为1 m和3 m,实现了高精度定位功能。把无线通信模块和FPGA结合起来,可以把FPGA采集和处理完的数据实时传输到服务器上显示实时图片并存储起来,实现实时监控,方便后期的管理。存储的数据可以输入到地图上,实现裂缝位置信息在地图上可视化。
参考文献
[1] BENSON K R,ELKINS G E,UDDIN W,et al.Comparison of methods and equipment to conduct pavement distress surveys[M].Transportation Research Record,1988.
[2] COUNCIL N.Automated imaging technologies for pavement distress surveys[C].Transportation Research E-Circular,2011.
[3] KLASSEN G,SWINDALL B.Automated crack detection system implementation in ARAN[C].Digital Image Processing:Techniques and Applications in Civil Engineering,1993.
[4] LAURENT J,LEFEBVRE D,SAMSON E.Development of a new 3D transverse laser profiling system for the automatic measurement of road cracks[J].Symposium on Pavement Surface Characteristics Portoroz Slovenia,2008.
[5] 赵春霞,唐振民,杨静宇,等. N-1型道路状况智能检测系统[C].中国人工智能学会全国学术年会,2003.
[6] 武汉武大卓越科技有限责任公司,道路检测[EB/OL].(2016-04-03).http://www.zoyon.com.cn/index.php/index-show-tid-31.html.
[7] 王建锋.激光路面三维检测专用车技术与理论研究[D].西安:长安大学,2010.
[8] American Association of State Highway and Transportation Officials(AASHTO) Guide for Design of Pavement Structures[M].Washington,D.C.,2002.
[9] 张杰.基于FPGA的数字图像处理[D].武汉:华中科技大学,2009.
[10] 孟显英.中值滤波算法的FPGA设计与实现[J].电脑知识与技术,2010,27(6):7822-7824.
[11] 何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究[J].光学技术,2012,38(3):332-337.
[12] KELVIN C,WANG P.Elements of automated survey of pavements and a 3D methodology[J].Journal of Modern Transportation,2011,19(1):51-57.
[13] 宋俊芳.路面检测关键技术综述[J].科教导刊,2016(18):156-157.
[14] 李亚鹏,马润.基于北斗卫星的电力调度应急通信系统的研究[J].宁夏电力,2015(2):51-55.
[15] 刘天恒,陈明剑,张树为,等.北斗地基增强系统数据通信综述[J].全球定位系统,2017,42(1):65-69.
[16] 闫建巧,陈明剑,汪威,等.基于地基增强系统的增强PPP技术[J].全球定位系统,2016,41(2):50-54.
[17] 刘天恒,陈明剑,尹子明,等.基于北斗地基增强系统RTD精度分析[C].中国卫星导航学术年会,2016.
[18] 陈娟,文振宇,李志强,等.一种快速手势识别算法的实现与验证[J].实验科学与技术,2011,9(6):34-36.
[19] 卢春雨,张长水,闻方,等.基于区域特征的快速人脸检测法[J].清华大学学报(自然科学版),1999,39(1):101-105.
[20] 李鹏,杜敏,赵芬芬.基于FPGA图像分析的路面破损检测系统的研究与实现[J].微电子学与计算机,2017,34(3):100-104.
[21] 刘博峰,郜丽鹏.基于FPGA的Sobel图像边缘检测算法[J].应用科技,2016,43(6):59-61.
[22] 张建军,罗静.基于改进Sobel算子的表面裂纹边缘检测算法[J].合肥工业大学学报(自然科学版),2011,34(6):845-848.
作者信息:
张精榕1,2,3,顾彬彬1,2,3,缪诚钰1,2,3,李剑乔4
(1.南京信息工程大学 江苏省大气环境与装备技术协同创新中心,江苏 南京210044;
2.南京信息工程大学 江苏省气象传感网技术工程中心,江苏 南京210044;
3.南京信息工程大学 江苏省气象探测与信息处理重点实验室,江苏 南京210044;
4.南京邮电大学 电子科技与工程学院,江苏 南京210003)