基于无人机视觉的道路违法搭建检测
2018-07-25刘宁钟
张 晨,刘宁钟
(南京航空航天大学 计算机科学与技术学院,江苏 南京 211106)
0 引 言
随着公路网的日趋完备,公路的养护和管理问题也日益突出。公路的管理水平和综合服务能力,不但要通过畅通、安全的基础设施予以体现,更需要整洁、优美的路域环境予以提升。整洁良好的路容路貌不仅体现出一个城市的路域环境的综合治理能力,更是为道路交通安全畅通提供的基础保障。目前,路域环境管理存在的问题主要有违规广告牌混乱、私开道口问题、杂乱堆积物[1]。传统的道路违法搭建和检测工作基本是靠人工用肉眼进行识别判断,并没有实现全自动智能化,这种检测方法速度慢,效率低,成本高,工作量大,准确率低,很难适应公路养护现代化的发展需求。因此,亟须通过技术创新,对道路周围违法堆积物搭建物的检测进行智能化升级。
无人机应用于交通领域的理念最早来自美国,其运输署和国家航空航天局专门开展了一个项目,证实了小型无人机数据采集系统用于交通监控和管理的可行性[2]。近年来,无人机技术发展迅速。无人机信息采集方式在机动性、采集范围和时空连续性等方面具有独特的优势,因此,在交通领域的运用也得到了越来越多的重视和研究[3]。对于无人机拍摄图像或视频处理中存在的相关问题,比如消除抖动带来的影响、目标检测等,已经提出了一些可行算法。刘慧等针对背景像素的移动,提出了SURF特征稳像和光流法向量相结合的方法来解决低空视频的道路目标检测[4];Kozempel等基于四个形态边缘滤波器,快速检测航拍图像的目标[5];Cheng等针对无人机视频,利用背景消除和背景配准技巧来进行消抖和检测[6]。这些算法大都基于传统的特征提取方法进行车辆识别。由于无人机视频时空场景复杂,干扰因素多样,这些方法并不能适用于所有情况,在检测准确性和鲁棒性上有待提高。
1 处理框架和总体流程
文中提出采用无人机飞过相同路段两次进行拍摄对比的方法。在第一次飞行时,保证路域环境正常,没有违法搭建物,作为标准模板。若干天后,进行第二次飞行拍摄,也就是进行检测。将两次拍摄的图像作为输入,通过数字图像处理和机器视觉技术对其进行对比,识别出明显发生变化的图像区域,作为疑似违法搭接物异常进行输出。图1分别为两次无人机飞过拍摄下的图像,右边第二次拍摄的图像中,用圆圈标记出了搭建的广告牌,这是需要通过算法自动检测出来的目标。
图1 无人机两次飞过拍摄的图像比较
在检测识别算法中,首先要做的是将两次拍摄同一地区的图像进行匹配对准,使用了直方图规范化来消除光照差异,用SURF特征匹配变换来进行关键点位置匹配。使用边缘检测方法和形态学闭运算来自动检测出指定需要匹配的检控区域。最后使用综合性特征匹配方法来保证更稳定的匹配。总体流程如图2所示。
2 算法流程
2.1 图像匹配
由于两次拍摄的图像都是无人机在空中拍摄的,并且是在不同时间拍摄的,即便用过无人机GPS等硬件条件定位,也不能保证两张图的光照、角度和位置完全相同。如图3所示,这样的两张照片就在光照、角度和位置上存在一定的偏差,需要对这两张图先进行一定的预处理,以消除光照、角度和位置的不匹配性。文中将第一次飞行拍摄下的照片作为原始图像,将第二次飞行拍摄下的照片作为标定图像。所做的匹配变换,是以标定图像为目标,将原始图像进行变换,以得到和标定图像具有相同模式的变换图像。
图2 算法流程
图3 两次拍摄的图像在光照和位置上的差异
2.1.1 光照匹配矫正
对于不同光照情况下拍摄的两幅图像,在两幅图像对应区域展现出来的色泽或亮度会存在一些偏差,这样会对后面的处理操作产生干扰。所以在最开始阶段,需要对图像进行光照匹配矫正,使得两幅图像具备同样的光照性质。文中采用直方图规定化的方法[7]来进行光照匹配矫正。
在直方图均衡化的基础上,通过建立原始图像与标定图像之间的关系,使得原始图像的直方图匹配特定的形状。
先对原始图像进行均衡化,如式1。
(1)
然后对标定图像进行均衡化,如式2。
(2)
令s=v,有如下关系:
z=g-1(s)=g-1(f(r))
(3)
可按照如下方式由输入图像得到标定图像的匹配变换图像:根据式1得到变换关系f(r);根据式2得到变换关系g(z);求得反变换函数g-1(s);对输入图像所有像素应用式3中的变换,从而得到输出图像。
由于上述变换是单通道的,这里对实际图像采用的方法是先将RGB三个通道分离,然后分别对每个通道进行光照矫正变换,最后合并三个通道。
2.1.2 特征点匹配
由于无人机在空中飞行拍摄,本身定位存在一定误差,而且风力对飞行姿态也会产生一定的影响,导致倾斜、抖动、颠簸。这些因素使得无人机在空中拍摄的两次图像在位置上无法做到完全一致,所以应该采用图像匹配技术,对原始图像进行形变,以得到和标定图像对应位置关系的匹配图像。
分别计算两幅图像的SURF[8]特征点,对每个特征点,得到一个64维的特征向量。对两幅图的特征向量进行暴力匹配,排除匹配度太低的20%的点对。剩余的点对集采用RANSAC方法[9]进行计算,得到透视变换矩阵M[10]:
(4)
将原始图像根据式5进行此透视变换。其中原始图像中点的坐标为(u,v),变换后的图像坐标为(x,y),x=x'/w',y=y'/w'。
[x',y',w']=[u,v,w]M
(5)
变换后即可得到与标定图像角度、位置匹配的图像,如图4所示。其中右图是将图像进行匹配变换得到与左图位置关系一样的图像。
图4 图像匹配变换
2.2 确定监控区域
通常在道路两侧15 m范围内属于道路违法搭建的指定监控区域,需要自动找出这块区域,只对该区域内的图像内容进行比对。即不考虑道路内车辆对对比结果造成的干扰,也不考虑路面过远的区域。显而易见,也就是要先识别出路面区域,然后根据路面区域位置推算出检控区域。由于道路区域和非道路区域存在明显的边缘、色度差别,可以将图像分成一个个小块,对每个小块图像区域内容进行边缘属性和色度属性的判别,以对可能的路面区域图像块进行筛选。对筛选后的图像进行连通域的判断,最大连通域的两侧即为道路两侧,由此可以确定监控区域。
2.2.1 粗糙区域过滤
由于路面整体颜色的一致性,图像路面区域比较平滑,边缘特性弱;而道路外景物复杂[11],尤其是一些植物会为图像带来很强的边缘特性。可以根据这个特点来进行图像块区分。
根据式6~8,先用Sobel算子[12-13]对原图像块I进行边缘检测,得到边缘图像G。
(6)
(7)
(8)
如式9,选取特定阈值t,将边缘图像进行二值化。
(9)
二值化后的图像白色区域表示原图像中边缘强烈的区域。根据二值化后的区域对原图像做掩模,即进行与操作,得到的图像再进行颜色过滤。
2.2.2 颜色过滤
根据路面区域颜色总是偏蓝这一特性,可以对图像像素中RGB分量进行判断对比,若蓝色分量大于其他分量,则保留,若绿色分量最大,或红色分量最大,则将此像素排除,如式10所示。
(10)
该方法可以有效排除掉河塘、池水等同样平滑,但颜色不同的区域。
通过这两步过滤之后留下的区域如图5(b)所示。
图5 确定道路监控区域
2.2.3 确定路边平行线
对于经过粗糙区域过滤和颜色过滤后的图像,进行先膨胀再腐蚀的形态学闭运算[14-15],如图5(c)所示,可以将主要连通区域连接起来,并有效去除小的噪声连通区域。最后得到的连通区域的两侧即为道路区域的两侧,如图5(d)所示。两侧边线外延指定长度即为指定道路监控区域。
2.3 图像块特征匹配
这里还是将图像分为好多小的图像块,以分别对每对图像块做是否匹配的判断。由于在道路两侧区域内环境复杂,变化多样,提取图像的特征要有一定的稳定性,即不能太容易受到噪声的干扰;但同时也要具有一定的区分性,即变化太多的图像在提取出的特征处能够表现出很大的差异。基于这两点需求,提出的特征提取方法为基于图像块均值和边缘特性的匹配方法。
将图像块内的所有像素的色度取均值,得到的颜色值即为提取出的颜色均值特征。该方法看此简单,但是能够很好地满足所需求的两个特性:在图像块内,由于一些物体的细微不同不能够对整体图像颜色均值产生足够的影响,而大面积的违法搭建往往和原来背景在整体颜色上存在一些不同。
另外提取出图像块的边缘特征:通过Sobel算子提取出图块的边缘图像,并取一定阈值将其二值化,二值化后的图像块的白色像素个数即为提取出的特征。该特征反映的是该图像块的边缘区域丰富程度。此方法可以有效补充图像均值方法,使得提取出的区域包含物体边缘,显得更加丰富饱满。
匹配过程如式11所示。对于第i个图像块是否匹配,用1表示匹配,即两图像块近似;用0表示不匹配,即两图像块存在较大差异。
(11)
其中,mean1,mean2分别表示两个图像块的均值;N1,N2分别表示两个图像块边缘强于阈值的像素个数。
3 实验结果与分析
实地考察了江苏省南京市的某条高速公路,在两天天气晴朗的环境下使用无人机采集了图像,并设置了一些搭建物来做实验,以验证检测效果。
实验是在Windows10平台上进行,采用C++语言进行程序的编写。将拍摄的图像输入系统,经过算法流程,检测得到的结果如图6所示。其中(a)、(c)是第一次飞过拍摄下的图像,(b)、(d)是第二次飞过拍摄下的图像。其中道路两侧的监控区域都能够自动地识别出来,第二天拍摄时的两处搭建物也能通过算法正确地识别出来。
实验共检测了64组图像,对于8处的搭建物,都能够正确地识别出来。但存在两处误检测,主要是反光和阴影造成的。
图6 实验检测结果
4 结束语
针对道路图像违法搭建的自动检测,设计了一种基于无人机采集与机器视觉相结合的方法,并设计了一种强鲁棒性和高识别率的算法。算法采用了许多数字图像处理中的核心技术,比如特征点匹配、边缘检测、形态学操作等。实验结果表明,该算法对于客观拍摄条件的不稳定性和景物的时延变化带来的干扰具有很好的鲁棒性,同时对于明显变化的图像景物区域的检测准确率高。当然,由于无人机高空拍摄时空场景复杂,算法对于拍摄角度偏差过大或重叠度过小的两张图片处理效果不太理想,对于较强的干扰还不能处理得十分完美。这些问题还需要进一步的探索。