APP下载

基于图像序列的特定建筑物识别算法

2018-05-31

泰山学院学报 2018年3期
关键词:边缘消失建筑物

颜 廷 法

(烟台职业学院 信息工程系,山东 烟台 264670)

1 引言

智能交通是当今世界全球化、信息化发展的必然趋势.GPS可以为智能交通提供服务,但在小范围的区域,如校园和小城镇,GPS有时不能提供有价值信息.然而,道路两旁的建筑物可以提供有价值信息.如果把建筑物的形状及其相应位置信息保存在数据库中,通过车载摄像头获取到含有道路两旁特定建筑物的图像,对图像进行处理并与数据库中的图像进行匹配,如果图像匹配成功,就可以获取建筑物的位置信息.

很多建筑物识别的研究主要在基于内容的图像检索(CBIR)领域,而不是对建筑物的本身结构加以辨别.人造建筑物的结构特征比自然物体的特征更有规则,包含人造物体的图像也有类似规则可寻,比如直线或者特定模式等.知觉分组、直线群思想和尺度不变特征变换(SIFT)等方法都可以检测图像中的人造结构,该算法是通过SIFT特征方法查找图像中的人造结构痕迹.该算法首先通过检测直线和消失点来对图像中是否存在建筑物进行预判,而不是对图像序列中的每幅图像直接提取SIFT特征,这将大大减少算法的计算量,保证算法具有实时高效性.

2 算法

该算法是能够生成一个能够自动识别特定建筑物的程序,通过识别出的建筑物信息用于进一步的其他操作,该算法可以通过以下几步来实现.

1)通过平滑技术消除图像中的噪声;

2)通过Canny算子对图像进行边缘检测;

3)利用霍夫变换技术配合设定阈值检测图像中的直线;

4)对检测到的直线判断是否有共同消失点,若有一个或多个共同消失点,则可以证明在图像中极有可能存在一个人造的具有规则结构的三维物体;

5)从可能含有特定建筑物的图像中提取SIFT特征并与存储在数据库中的图像进行匹配,匹配成功的话就可以获得相应的位置信息.

实验结果表明,该算法能够高效准确的识别出图像中存在的建筑物并取得相应位置信息为智能交通服务.

3 实验步骤和结果

3.1 平滑

平滑能够很好的消除一幅图像的噪声.大部分静止图像的压缩是使用图像中的某种像素块平均值,当一个压缩图像按一定比例被放大,就可以看到由于压缩而产生的块效应.因为它们可能会影响到图像处理,特别是使用了一些含有高值的卷积掩码的场合.在本文中,首先使用一个3*3的平均掩码对图像进行平滑处理.

3.2 边缘检测

边缘检测是一种常见的图像处理和计算机视觉方法.一个边缘可以被定义为图像中像素值发生突变的位置,边缘检测可以在图像的一个或多个通道中进行,有时候一幅图像的亮度是边缘检测的唯一通道.同时,边缘检测可以在几个通道中同时进行,由此产生的边缘地图将显示存在于任何一个通道中的所有边缘.

好的边缘检测对图像处理是至关重要的,所有的处理和聚类都是在边缘像素上执行的.该算法使用Canny边缘检测器[1],它包含几个额外步骤,非极大值抑制用来细化直线,滞后阈值用来消除低级别边缘像素,一个3*3的Prewitt卷积模板用来定位边缘,并计算在每个图像中的边缘方向.图1是用Canny算法得到的试验结果:

图1 Canny算法得到的试验结果

3.3 直线检测

使用Canny边缘检测后,可以得到一副边缘图像,这幅边缘图像将用于检测直线.通过霍夫变换[2]可以得到直线参数,并进一步判断直线的数量,并根据此数量值进一步确认建筑物存在的可能性.

在x-y空间上位于同一条直线上的点在参数空间定义了曲线并且都相交于同一个点.通过交点的坐标就可以获知直线在x-y空间上的参数.所以,经过计算就可以在参数空间上获取一些交点.如果图像中有一条参数为(a,b)的直线,那么在参数空间中点(a,b)的周围,应该可以获取很多的点.根据常识就可以知道,参数空间中找到的交点应该紧紧围绕在点(a,b)的周围,但不是完全相同的同一个点.因为要从参数空间得到的点中找到确定的点,所以要消除所发现点中的离群点.该算法采用阈值法来达到此目的.

通过设置一个阈值T1,并计算在参数空间中的特定点的数量.对于一个参数空间中特定点,如果累计数目超出了阈值,那么就可以采用这个参数作为一条直线的参数.图2是一些实验结果.

3.4 消失点检测

得到图像中主要的直线后,下一步是检测消失点.当像建筑物这样的三维物体用一个二维图像描述的时候,实际物体中的平行线在二维图像中变现为直线相交于一个共同点,只有当拍摄角度与物体完全平行的时候这些平行直线才在二维图像中仍然平行.如果能够在图像中检测出一些特定的消失点,就能很大程度上相信图像中存在建筑物.

图2 直线检测的实验结果

根据已经从图像中找到的直线以及获取的直线参数,可以计算出消失点的坐标.前面步骤肯定检测到一些有误差的直线,因此,也得到了有误差的消失点坐标.如果有真正的消失点存在,那么在该消失点附近区域应该会存在一簇检测到的点存在,尽管误差直线将导致误差消失点.某个区域存在一簇检测消失点的情况将证明此区域内存在一个特定消失点[3].因此,该算法尝试检测在消失点空间是否存在区域内的消失点聚簇.为达到此目的,该算法采用了以下四个步骤:

(1)将检测到的所有直线,每两条线计算出一个消失点的坐标;

(2)计算每两个消失点之间的距离;

(3)设置阈值T2,针对每一个消失点,计算其他消失点到此点的距离,统计距离小于T2的相邻消失点的数量;

(4)设置阈值T3,选择相邻消失点数量超过T3的作为最终的消失点.

首先使用以前得到的参数来计算每两条线的相交点,并且仍然在极坐标空间.例如,两条线是ρsin(α1-θ)=p1和ρsin(α2-θ)=p2,计算这两条线交叉点的坐标.该公式为:

(1)

(2)

计算消失点的坐标之前,首先观察得到的直线.例如,图2中可以发现一组线有相交于一点的趋势,而在所有直线中,只有一两条线非常明显区别于其它的线,这种线毫无意义,并且使算法多了一些无谓的计算.因为这种直线也会与其它直线做交点的计算,从而会得到一些无用的交叉点,该算法中称这种线为噪声线.为了消除这种线,算法采用了下面的方法:

由于θ的范围是从0到π,可以把这个区间分为四个部分:0~π/4,π/4~π/2,π/2~3π/4, 3π/4~π.把检测到的直线也按方向分到这四部分中,统计每一区间中直线的数量,求得每个区间所包含的直线数量与总的直线的百分比.设置阈值T4 =0.3,如果百分比小于T4,将删除该区间内的所有直线.图3是测试的实验结果.

图3 消除噪声线后的图像

从图3中可以看到,使用这种方法可以有效地消除图像中检测到的噪声线,从而进一步避免毫无意义的计算.

接下来通过使用公式(1)和公式(2),计算得到在ρ-θ空间上交点的坐标.如表1所示:

表1 ρ-θ空间上交点的坐标

有另一种情况需要注意,如果拍摄角度与建筑物本身是完全平行的,那么建筑物呈现在2-D图像中的直线也将是平行的,因此,这些直线将不可能相交.由于在以前步骤中得到的线以极坐标的形式表示,所以如果两条线是平行的,θ值将是相同的.当计算消失点时,需要首先关注θ,如果它们是相同的,则不需要计算任何的交叉点.统计得到平行线的数量,如果数量值超过特定的阈值T4,就可以确认在图像中有一个人造物体.

对于每一个交叉点,统计离特定点(小于阈值T2=50)不远的点的数量,统计的结果如表2所示.

表2 每个点的邻近点数量

在表2中可以看出,临近点数量的最大值为9,这意味着在某个区域有一组交叉点(9个)非常接近,可以把它作为算法结果中的一个交叉点.

对于图4的图像该算法认为没有建筑物,图像(a)、(b)、(c)能检测到直线但没有消失点,图像(d)、(e)存在消失点但小于阈值.

图4 否定的图像

3.5 使用SIFT进行图像比较

最后一步是把极有可能包含一个建筑物的图像与数据库中的图像进行匹配[4].SIFT是一个完全成熟的算法,可以生成可信赖的特征点[5].使用SIFT特征把这幅图像与已经存于数据库中的图像进行比较,如果匹配的话,就可以得到位置信息.

图5是从图像序列中抽取的图像与数据库存储图像比较匹配后的结果,可以看到两个主要图像的匹配特征点.

图5 图像SIFT特征的提取与比较

4 结论

该算法可以从图像序列中剔除大部分的图像,并能分辨出包含至少一个明显建筑物的图像.相对于对图像序列中的每一个图像计算SIFT特征,该算法在效率上有明显的优势.算法仍然存在需要继续完善的地方,比如对一些误检到的直线可能引发的混淆,像台阶所产生的直线,停在建筑物旁边的机动车所产生的直线等.

[参考文献]

[1]许宏科,秦严严,陈会茹.一种基于改进Canny的边缘检测算法[J].红外技术,2014(3):210-214.

[2]闫怀仁,杨慕升.基于改进的Hough变换的直线提取算法[J].红外技术,2015(11):970-975.

[3]蒋欣兰.基于消失点检测的铁路环境视频自动拼接算法研究[J].计算机工程与应用,2017(7):206-211.

[4]郭倩茜.图像匹配的主要方法分析[J].科技创新与应用,2016(20):81-82.

[5]向程谕,王冬丽,李建勋,周彦.基于改进SIFT特征的深度图像匹配[J].计算机应用,2016(S2):135-138.

猜你喜欢

边缘消失建筑物
邻近既有建筑物全套管回转钻机拔桩技术
现代中小河流常用有坝壅水建筑物型式探讨
描写建筑物的词语
一张图看懂边缘计算
火柴游戏
消失的童年
美永不消失
在边缘寻找自我
走在边缘
边缘艺术