基于行车视频的交通标志识别技术研究 计算机科学和技术专业.docx
1绪论1.1 研究背景与意义1 .1.1研究背景在现代社会,随着汽车工业技术和经济的飞速发展,世界上汽车的数量也在迅速增加。汽车的普及给人们带来了舒适,但也造成了大量的交通事故的出现,每年度超过125万人会因交通事故而死亡。其中以个人原因造成的事故又占到了总事故中的70机在先进的智能车辆技术中,道路视觉检测是一个重要的组成部分。而在近年来各种类型的传感器被广泛用于车道线检测技术,主要包括激光雷达、雷达、全球定位系统设备(GPS)、单、多目摄像机等。与此同时,随着深度学习这一概念的提及,在对车道线检测方面也有了更加深层次的应用。通过行车视频的图像来完成交通标线的识别,不仅在传统基于特征的方法上有了更高的准确性还能够为以后无人驾驶的智能交通行驶奠定一个坚固的基础,同时还能提高行车视频的利用效率,极大程度上提高智慧城市产业的发展,为日后解决随意变道问题提出一种新的解决方案。2 .1.2研究意义因人为原因发生的道路交通事故,其中约有半数是因为车辆脱轨而造成。调查显示,有23%的驾驶者一个月内至少在方向盘上睡着一次,66席的卡车司机曾在驾驶过程中打瞌睡,这无疑大大增加了交通事故发生的可能性。在交通部发布的营运客车安全技术条件中,明确规定了车长超过9m的运营客车必须要符合营运车辆的危险预警技术要求,安装JT/T883LDWS,从而避免车辆会在车道上产生偏航的现象,同时,客车还必须安装AEBS来保证车辆的紧急制动。不难看出,完善的车道线检测技术系统能够有效的减少司机因为自身因素引起的偏离车道行驶,进而也大大降低了事故的发生几率。目前,无人驾驶车辆技术还属于半成熟阶段,而车道线检测的准确性也和日后无人驾驶车辆行驶的安全性息息相关。我们可以将无人驾驶的车辆看作是一台包含了感知、规划、决策和控制的多感知传感器的模拟人脑行为的移动机器设备。而在上述技术当中,对环境的感知技术则是所有技术的基础。只有当面对各种负责的道路状况,环境信息都能提供较高的准确性和鲁棒性,才能确保其他部分的技术安全准确的执行,从而保证车辆的行驶安全。这将融合各种传感器获得的信息,以获得完整的道路信息。驾驶员面临的主要问题是车辆周围障碍物的有效识别、交通标志的识别和道路路线的识别。因为车道线检测涉及的内容颇多,本文主要通过行车视频获得的影像,针对基于卷积神经网络(CNN)的深度学习算法研究来识别交通标线中的虚实线。而对于交通标线的检测,目前比较主流的方法还是基于视觉的检测方法。通过视觉传感器结合图像处理的方法,将原本的于实际偏差较大的图像转换成鸟瞰图。因为本文主要讨论的是虚实线的识别,所以即使在图像处理过程中失去了颜色特征,但是图形特征十分明显,容易区分虚线和实线。不仅于此,将由远到近的车载摄像头画面转化成与实际相符的平行且宽度相等的鸟瞰图,再去除冗余的干扰信息后也十分方便且受周围环境等因素影响较小,进而能够有效的完成识别。单目视觉传感器是目前应用最广泛的传感器,具有成本低、信息量大等特点。而交通标线具有标准颜色、宽度和形状等视觉特性。然而,现有的算法系统并不是很稳定,准确度在恶劣天气条件和复杂条件下的时候还达不到需要的检测标准。但是相较于单目视觉,立体视觉的成像基准线也很难得到,激光雷达的造价成本高昂且不适合批量使用在汽车设备上,GPS&GIS信号不稳定,容易受到环境遮挡屏蔽和电磁干扰的影响。因此不难看出,基于视觉的车道线检测对于道路交通安全具有重要的意义,也为实例中由后车检测前车是否违法变道奠定基础。1.2 国内外研究现状道路交通标线,是一种在道路上进行安装、规划的标志,标线内容包含线条、文字、图案、箭头以及实体路标、立面标记、轮廓灯众多交通设施,其主要目的是为了给道路行驶的驾驶员传递信息,从而做到指引、警告的作用。车道线是划分同方向交通流的边界线,主要有虚线、实线、黄虚线、黄实线、双虚线、双实线、双白实线、双黄线等表示不同的含义,并且交通标线检测技术就是使用图像处理方法来检测目标图像的位置,进而完成识别。随着车道线检测研究的逐步深入,在检测的准确性和鲁棒性上都有了显著的提高,检测速度相较于之前也明显加快,但是于人工识别相比,机器识别还是存在着明显的不足,在实际应用中仍然由有许多技术难题还急需要解决。主要因为车辆行进过程中,不同的场景所获得的图像也呈现很多的变化,例如在高速公路中,车道标志明显,道路保持良好,进而获取到图像信息的可遇见性和有序性更强。但是在一些城市道路中,由于道路的弯曲,行人等障碍物的走动道路周边的一些绿植建筑的投影等,这都会给车道线检测带来困难。而且车道线检测现在面临的主要问题就是图像逆光严重,不同的路面材料获取的图片质量不同和不同的坡度等。目前可以将国内外文献中提到的方法归纳为通过特征描述的、基于模型本身的和通过深度学习的三种方法,如下分别对该三种方法进行细致的描述。(1)基于特征的方法BOrkarA等人在文中通过逆透视变换将原图进行处理,然后采用霍夫变换检测车道线后只进行特征的分段提取。在研究中利用的算法乃是随机抽样一致算法,通过对RANSAC算法的拟合,以及对卡尔曼滤波器的跟踪提取了车道线的特点和状态,并对车道线中的虚线问题进行了时域模糊处理,使该虚线通过均值图像的方法展示出长直线特征,为后续的探究和检测提供支持。部瑞芹对于各种天气的弯道检测状态进行了研究,研究中采用的方法主要是支持向量机法、塔式梯度直方图特征方法及AdaBOoSt算法三种,并通过对上述算法的测试进行了算法之间的对比,研究结果发现,支持向量机算法具备更好的检测效果。同时,还利用暗原色先验方法对弯道之中的雾天进行了探索,很好的去除了雾天的影响,有效的提高了检测率。CaiH等人®建立了颜色模型来对车道线的颜色进行高斯统计,通过对已修正的霍夫变换检测车道线进行统计和调查,使得车道线颜色能感兴趣区内能被简易的提取出来。同时,他还建立了单通道图像坐标系,并将其在世界坐标系之内进行了对立,便于更好的对车辆位置、车辆与车道线距离、偏航角等进行计算,使得车辆的自主定位在安全驾驶辅助方面提供更加重要的作用。(2)基于模型的方法WangJ等人对于车道检测、跟踪的方式和方法进行了详细的分析和探究。研究中通过Sobel算子对已然消除了候选车道线个体边界的车道线边缘区域进行了提取,并基于动态规划方式,选择了道路最优化路径。之后处理边缘图像的时候,又通过霍夫变换处理了车道线边界。通过具体的实验研究可知,对于高速公路来说,该方法能提供有效的作用,但是该方法明显不适合那种曲线车道环境,在检测过程中为了获得感兴趣的道路边界区域利用了视频相邻帧数之间基于车道线边界的先验信息。Wang8等人在定位了车道线初试区域后,把车道线检测的问题转换成在初试确定区域内确定曲线模型问题。许9运用运用三次均匀非周期B样条曲线拟合整条车道线,采用了Canny算法和多区域阈值分割算法来提取车道线。王10在利用边缘分布函数获得车道线倾角之后,采用单方向搜索算法和方向可变Haar特征提取特征点,最后利用双曲线模型拟合车道线。JUngCR等人11基于边缘分布函数,通过霍夫变换检测车道线位置和方向,对近视场区域和远视场区域分别采用直线模型和曲线模型来获取准确的车道线信息。(3)基于深度学习的方法KimJ12等人在文中介绍了一种利用CNN和RANSAC相结合来检测车道线的方法。最初利用高斯平滑函数来处理图像,函数是5X5格式的,其后通过RANSAC和CNN方法的有机融合,检测了车道线。该算法对车道线的检测对于解决复杂路况问题拥有重要的辅助作用。根据实验发现,这种方法检测效果相对准确,是超过霍夫变换和单独的RANSAC检测算法的一种新模式。1.iJ等人13在文中提及现在大多数现有的网络都没有考虑任何的空间结构,而是直接将低、中等级的特征直接结合起来用于图像分类。因此提出了空间结构图像分类法,从而对其进行了神经网络深度研究。通过对深度卷积网络的建立,使得能对感兴趣区的目标及其位置方向进行同时检测,并根据神经网络的辅助信息带来车道线后续结构建模,从而从循环神经网络基础上实现对不清晰的目标空间特征的处理,从而自动监测车道线边界。1.3 研究内容与技术路线本文主要的研究内容是通过自己搭建的一个典型卷积神经网络模型来检测交通标线中的虚实线,为实例当中实线违法变道系统解决交通标线识别这一要害本文是通过对卷积神经网络的搭建,从而根据已经标定好的数据集来学习交通标线的特征,主要是采用了两种语义分割,利用灰度图峰值的连续来判断虚实线,并将其应用在视频检测上。实例中介绍了一个实线违法变道系统,这个系统的搭建有利于实现后方车辆对前方车辆的实时监督,能够有效的减少交通监管当中的视觉盲区,在提高道路安全的同时也起到了监督的作用。2行车视频数据预处理现在大多数车载摄像头都是使用的单目摄像头,这也是目前使用最广泛的传感器。然而,单目摄像头也存在明显问题,就是视角与距离之间存在着不能缓和的矛盾。换句话说,相机的视角越高,精确距离就越短。视场越窄,探测距离越长。这就好比于人们肉眼观察世界,看的距离越远的时候,覆盖的范围就越近,反之,看的距离近的时候,覆盖的范围就会广阔一些。所以就会导致原本平行并且等宽的车道虚实线在获取的图像当中变成相交的,而且车载摄像头是定焦的,这就给后期虚实线的检测带来了很大的困难。不仅如此,车载摄像头采集到的图像,其中车道线仅仅占图中下方的一部分。对于检测而言,图像中包含了包括天空、建筑、汽车、行人无用信息,而且这些不同环境下的干扰信息可能会对检测结果的准确性造成影响,还会降低模型在其他场景下的鲁棒性。因此需要对图像进行预处理,通过对采集的图像进行裁剪,从而获得感兴趣的区域,再通过逆透视变换将车道线转变成平行等宽的鸟瞰图,这大大有利于后期的检测。2.1 感兴趣区域(ROl)提取一般提取感兴趣区域从而处理图像是从两个层面上实现的,其一,是通过图像分割技术来对感兴趣区域提取,其二,是从个人的角度出发,从人的视觉特征上来对其进行模仿,从而寻找视觉敏感区并将其转化为感兴趣区域。图像中感兴趣区域的提取一般从两个方面来解决。首先可以利用图像分割技术提取感兴趣区域。其次,是从人的视觉特征角度出发,模拟人的视觉特征,寻找视觉敏感区域,并将其划分为关注区域。这里主要介绍自动图像分割技术提取ROI,主要是通过将视频转化成一帧一帧的图像来进行灰度,再获取灰度图像后转化成二值图像,最终根据先验信息定义道路图像的感兴趣区域可以降低天空背景等干扰信息对车道线检测准确性的影响。灰度处理的前提是灰度图像出现,指的是对其处理的过程。简单来说,彩色图像主要包括红绿蓝三部分,在彩色图像中,越明亮的地方具备越大的灰度值,举例来说,白色的灰度值就很大,其像素值也能达到255的数值;像素值越低,其像素点就显得更加黯淡,颜色偏向暗色,黑色就是像素值最低的一种颜色,他的像素值是0。目前想要通过灰度处理来整理图像包含一系列的方法,使用最多的有平均值及加权平均值法、最大值法与分量法等等。本文是基于加权平均值来进行实现的,通过Matlab里面自带的rgb2GRAY函数来实现对图片的灰度化处理。每一分量的权重由其重要性等其他数值指标确定,然后加权平均。考虑到人眼对绿的敏感度高,对蓝的敏感度低,为了获得更好的灰度图像,使用公式(2-1)对RGB的三个分量进行加权。具体Matlab实现如图2.1,其中加权平均法的表达式为:Gray(IJ)=0.299*RIiJ)+0.578*I(iJ)+0.114IB(iJ)(2-1)图2.1灰度化处理效果图2.1.2图像二值化在图像二值化处理中,就是将灰度值作为设置对象,从而将图像中的点设为0或者255的数值大小,从而使得凸显展示出更清楚的明暗光影、黑白效果。在二值化处理之后,可以通过选择适当阈值分别了解到整体性和局部性的二值化图像。本文中求解256亮度灰度图像的的方法主要采用的是最大类间差法(OTSU算法)。OTSU算法的别称为大津算法,是一种公认地图像分割的最佳方法,通过该方法,能有效的选择图像的最佳阈值。该算法的计算相对简单,且不受图像亮度和对比度的影响,因此应用十分广泛,出现在众多的数字图像处理过程里。图像个体的灰度特性会影响图像各部分之间的差异,假设图像是作为背景部分出现的,当背景和前景之间存在差异,其差异的大小就会影响图像不同部分之间的差异的大小,图像最大化类别的方差与分类错误概率息息相关,方差越大,错误概率越小。出现如上问题的主要原因在于:(1)假设某灰度图的灰度级别共有L个,1,2,L,其中像素点灰度级别是i的有小个,那么总的像素点个数为N=11+/+n那么一个像素点灰度级为i的概率为:Pi=Pi>O,h=Pi=1)(2-2)(2)现在假设通过一个灰度级k将这些像素点划分为两类Co和Ci,1,2,.,k是Cg二值化为0,k+Lk+2,.是C1,二值化为255。(3)Co和Cl两类,这两类出现的多少以及两者的灰度级的平均值如下所示:0=Pr(C0)=Co类出现的概率=h=Pi=(k)(2-3)1=Pr(C1)=Cl类出现的概率=h三+kPi=I-c0(k)(2-4)kk=Si*Pr(iIC0)=Si*=Cq类的平均灰度级=JJg)(k)=l=l(2-5)1.kM=W'*与ICl)=Wi=l+ki=l+k(2-6)其中(k)=f=J*Pi,是1到k的平均灰度级T=2i*Pi,是整幅图的平均灰度等级(4)容易验证:00+11=T(2-7)1÷0=1(2-8)(5) Co和Cl各自的类内方差如下:册=3(i。)2佻ICO)=1(f-0)2(2-9)=N+k(i41)2岸(iC)=f=+k(i-)2(2-10)(6)所以整幅图片的类内方差,两个类的类间方差,图片的总方差分布如下:(2-11)(2-12)端=整幅图片的类内方差=3。诏+3加=两个类的类间方差=3o(4o7)2+313L7)2,(2-13)又可以根据(2-7,2-8)两个等式可以将凉化简为3oM(内-阿¥苏=图片的总方差:Nk+(i7)2Pi(2-14)(7)因为与k值无关。历是二阶统计(类方差),而诏是一阶统计(类均值)。所以诏即类间方差是最简单的判断k选取好坏的判断标准。故最后选取使位最大的k作为阈值。本文是从graythresh函数基础上来实现的图像二值化处理,该函数源于Matlab软件,灰度图像的效果图如图2.2。二值化图2.2二值化效果图2. 2逆透视变换通过行车视频获得的视频流转换成的图像具有明显的透视效果,实际上平行的车道在图像中呈现出了明显的汇聚状态。而逆透视变换(InVerSePerspectiveMaPPing,IPM)就是为了消除图像感兴趣区域的透视效果,将明显汇聚的车道转化成与实际相符的平行车道。摄像机坐标从三维专为二维的变换关系为:Xs yLlJfxO-OO 1 Jlr31r12r22r32(2-15)根据式(2-15),可由三维世界坐标得到二维图像坐标,由于Z未知,所以反之不能实现,考虑到智能车在一般平面道路上行驶,可令Z=O,则式(2-15)可变换为:xs yLiJfxo-Ofy邓:O 1 Jlr31r12r22r32(2-16)式(2-16)中展示的是二维与三维坐标的映射函数关系,通过矩阵变换得:XyL 1 -332 2 2 12 3 Ill 12 3HHLH=, , ,Xyz(2-17)其中s'=xH31+YH32+1,X=y=5由此可得:XH11+YH12+H13X=XH31+YH32+1XH21+YH22+H23y=XH31+YH32+1整理成矩阵形式:xXH31+xYH32÷x-xH11-YH12-H13=OyXH31+yYH32+y-xH21-YH12-H23=0(2-18)设H=H11H12Hl3H2H22H23H31H32,B=rXYlOOO-xX-xYlLoOOXYl-yX-yYJ则式(2-18)可以用矩阵表示为AH=B(2-19)若要保证(2-19)有唯一解,则需要满足增高矩阵为满秩,KPrank(AIB)=8,那么就必须要求四组不相关数据点的像素坐标和对应世界坐标,从而通过Matlab具体实现最终处理,通过对H参数矩阵的求解来处理,方法简单,形式易操作,具体通过MatIab实现的效果如图2.3。图2.3IPU变换效果图3基于传统方法的交通标线识别传统方法的交通标线的识别主要是通过从摄像机拍摄的图像中提取车道线特征,是通过行车视频获取的视频流,然后将视频流转换成的帧图像来进行后续的操作。首先是通过人为设置摄像头的位置,角度,然后对图像进行裁剪,阈值的判断还有滤波的确定,但是考虑到车道边缘线的影响,所以采取的是Carmy算法,然后采用的就是直线检测的传统方法霍夫变换法来检测车道线。主要的流程步骤如图3.Io图3.1传统方法检测流程图3.1边缘线检测算法边缘线检测算法是图片分割的初始步骤。边缘的实质是因为像素值不连续而导致的,使得不同目标间、区域间、目标和背景间的像素值出现了离散现象。边缘检测与图像灰度特征存在关联。当前边缘类型主要包括阶梯状边缘、脉冲状边缘和屋顶状边缘三种,其中最前者指的是相邻渐变区域图像呈现出灰度值不同的特征,中间的脉冲状边缘指的是灰度值突变区域,一般是两阶梯状边缘的组合,最后的屋顶状边缘则可以视为脉冲装边缘拉伸的结果,边缘上升下降都相较于之前比较平缓。不同的图像有不同的灰度。一般来说,图像的边缘具有明确的边界,可以用来对图像进行区分处理。但边缘并非物体边界,其本质上是图像之中像素产生突变的区域,概念与边界之间存在极大的区别。边界一般指的是物体的边界,因此存在边缘的地方并非一定是边界区域,边界区域也不一定存在边缘。现实世界是三维空间,而图像只能在二维的角度上展示出来,在三维转换为二维的过程中,不可避免的会丧失部分信息。同时,生成图像的时候,也总会遇到噪声、阳光等其他因素的制约。,目前,边缘图像分割在全球的研究和探索都相当困难,是图像研究中的重难点之一,目前很多学者在不断尝试基于边缘来提取高层次信息,且取得了较好的效果。在图像分割过程中一般会用一阶导、二阶导甚至高阶导的方式来进行分割,但不同的导数运用会对不同的分割效果带来影响,举例来说,噪声若采用二阶导的方式计算的时候,很容易出现噪声敏感的状况,这就使得高阶导再无使用价值。二阶导分割原则能解释灰度突变的现象,并且分辨其突变类型。再者,很多情况下,边界的发现用一阶导数是很难达成的,如图像灰度在变化过程中,一阶导相对于二阶导数来说,提供的信息这用处不大,而二阶导因为自己对噪声更加敏感,所以信息则相对重要,因此需要先通过平滑滤泼的方式来处理图像,减少噪声之后再检测边缘。二次微分算法是一种很新的算法政策,且过了零过检测,但其边缘点数相对较少,给后续的处理带来了很大优势。本文对canny算子算法进行介绍,该算法是当前检测边缘的流行算法之一,其主要的具体步骤包括:(1)高斯滤波利用高斯公式建立的公式规则,对像素点和原点的像素权重均值进行滤波;(2)计算梯度图像与角度图像Canny算法在计算梯度图像时,将高斯滤波器作为使用的梯度算子,该滤波器甚至是通过计算梯度所得的。对于像素点来说,其权重与中心点距离又紧密的关系,当距离中心点越近的时候,像素点的权重这更高。(3)对梯度图像进行非极大值抑制通过非极值点来寻找抑制像素点局部最大值的办法需要将该像素点进行局部调整,使得极大值灰度值为1,其他的点为0;(4)使用双阈值进行边缘连接在虚假的像素突变点和像素处于O和1之间的像素点进行进一步处理。强制将超过1的设置成L小于O的设置成0。具体检测由Matlab来实现,如图3.2。RoadImageHoughDetectResult图3.2传统检测效果图3. 2传统算法的检测和改进本文介绍的传统的检测方法中,在噪声选择上选择了高斯噪声,但是高斯噪声一般常常用于RGB图像中,且我们检测的对象是车道线,其过程中还是将RGB图像转化成了灰度图像在进行处理,所以在改进方面我们采用的就是椒盐噪声处理。噪声抑制是图像卷积的重要功能之一,中值模型卷积对去除椒盐噪声是有效的,但对平均滤波效果较差,而对高斯噪声则没有更好的降噪方法。在滤波的选择上则是选择的中值滤波,原其理即为,按序排列从小到大排列模板像素数据,在中间取一个数据来替换原始像素其后进行卷积。中值滤波也是一种可以非常有效去除少量异常像素值的滤波方法,这样可以强化检测图片的形状特征。具体的完成还是通过MatIab来实现,效果图如图3.3。3*3模板中值滤波图3.3添加椒盐噪声图像和中值滤波图像传统方法的交通标线识别技术虽然操作简单易于实现,但是其在不同场景下、不同的道路条件下,不同的天气条件下差异较大,检测效果并不理想,如图3.4-3.6oRoad ImageHough Detect Result图3.4道路不同对检测结果的影响Road ImageHough Detect Result图3.5标志对检测效果的影响Road ImageHough Detect Result图3.6车辆对检测效果的影响于是人们逐渐开始通过对传统方法的改进,以深度学习的方式直接输入图像,来了解交通标线的特性。该过程中不需复杂的处理,也不需人工提取,仅凭几何知识、设计损失函数等就能结合交通标线监督网络,从而不断做好车道线的检测效果,加强准确性和稳固性。4基于卷积神经网络的交通标线识别4.1卷积神经网络(CNN)随着科技的不断发展,对网络快速发展进行深度学习,比传统的神经网络具有更多的优势,有助于提取图像特征,建立图像函数模型,从而更简易的达到交通标线识别效果,同时,对样本数据规律的学习和认识也能让人们逐渐了解更抽象、更高级的特征。它的最终目的就是使得训练的机器能够模仿人类视听和思考等人类的活动,而且深度学习具有良好的泛化能力,在语音和图像识别方面取得的效果远超于之前传统方法人工设计特征。深度学习是一类模式分析方法的统称,就具体研究内容而言,主要涉及三类方法(1)卷积神经网络(CNN)方法,是根据卷积运算作为基础,形成的新的网络系统模式;(2)自编码神经网络方法,当前该方法是以多层神经元为基础的,可以通过自编码或者稀疏编码两种方式进行编码;(3)神经网络的预训练,通过预训练,能更好的了解深度置信网络(DBN),并对其神经网络权值进行进一步的处理和优化。在本文中,采用的神经网络类型是卷积神经网络,因此所选用的也是第一方法,方法步骤如下:需要先在卷积层层面上进行特征的初步提取,通过池化层提取之后将特征汇总并分类,之后再进行预测;4. 1.1卷积层卷积层是一种利用卷积计算从而在神经网络中显示出来的一种名字,卷积是为了提取图片特征,在像素空间之中,卷积计算能有效的保证像素关系。举例来说,我们将每个图片都当成一个矩阵,矩阵是包含一众像素值的时候,其中包含的像素值范围数值处于0255区间之内,其中从小到大分别代表黑白二色。下图3.1是5X5规格的图像,其中储存着图像的信息,当我们定义一个卷积核,也就是权重,滤波器的时候,便能提取图像的某些特征,滤波器的规格是3×3的,这样便能迅速的提取某些图像特征,在卷积核内,如果数字矩阵对应的部分先相乘再相加,就可以得到卷积层的输出结果了。5071291012761410722921221021001INPUT IMAGE工NWEIGHTConvolved Feature(23=5×l+0×0+7×l+9×0+10×l+12×0+l×l+41×0+0×l)根据上图进行简要的描述,在黄色矩阵之中很明显能看出其中的信息是从左侧的绿色矩阵上自左向右,自上到下的滑动步进,最终通过新的矩阵得到了调整图片,若采用不一样的;滤波矩阵,可获得不同的特征图片。4. 1.2池化层池化层(Pooling),也可以叫做子采样层,同时也被人成为下采样层。在池化层,能整合领域特征点的特征从而描述新的特征。池化层输入的数据一般是从卷积层输出的,而且数据还与卷积核进行了相乘,从而得到了输出矩阵。在池化层,能最大限度的减少参数指标的多少,减少卷积层特征向量输出维度,通过拟合保证信息的有效传递,避免噪声。最常见的两种池化层的形式是最大池化(max-pooling)和均值池化(mean-pooling).卷积和池化分别受启发于1962年生物学家Hubel和Wiesel发现地的视觉皮层概念一简单细胞和复杂细胞,简单细胞最大程度响应来自感受野范围内的边缘刺激模式。4. 1.3激活层激活层是一层非线性映射的函数层,在激活层中,能迅速的了解到深度学习过程中的非线性要素,从而加强网络表达效果,有效展示出模型的泛化,从而使得神经网络变得越来越复杂。激活层中的神经网络像是一种非线性函数,函数相对复杂,且能有效的解决非线性问题。激活层的函数原理是以动物神经元为基础的,目前,神经科学中发现生物神经元存在阈值以存在其激活或者未被激活两种可能,该阈值的输入信号多,表明神经元被激活了,否则表示神经元自身是被抑制的。激活层函数会包括线性的和非线性的两种,其中前者一般更多用在线性任务上,函数相对简单,函数节点中输入和输出也是一样的。非线性函数这多种多样,令人熟知的集中非线性激活函数就包括饱和的、非饱和的以及变种的等等,其中饱和激活函数有Sigmoid、Tanh,非饱和函数有ReLU,变种激活函数包含LeakyReLU等。饱和激活函数中的Sigmoid是很容易饱和的,在输入很大或者很小的时候,该函数梯度就几乎为0,这时常会导致对权值的弃用,因此该函数的使用也越来越少了。它的非线性激活函数的形式是:,(x)=-7(4-1)、'l+exReLU函数具有计算量小、收敛速度快等优势,目前在卷积神经网络中应用频繁,其公式为:f(x)=max(Ofx)(4-2)4. 1.4全连接层全连接层(FC)是分类器,是卷积神经网络里面进行分类的一部分区域。全连接层与卷积层、池化层和激活层不一致的地方在于,后者主要是通过原始数据对隐性特征空间之内进行映射,而前者则是将分布式特征展示在样本空间上。实际的全连接层中,通过卷积操作能迅速全连接层进行卷积核的转化,通过1X1的格式,也能更快的将全连接层化为hXw卷积核的全局卷积,其中两个字母分贝代表卷积结果的高度和宽度。全连接层的核心即矩阵向量乘积,公式如下所示:y=Wx(4-3)4. 2基于CNN的交通标线检测通过深度学习方法来检测卷积神经网络的流程,主要是通过学习典型卷积网络模型来自动学习车道线的特征,将行车视频获取的视频流转换成图像,然后通过人工标定感兴趣区域的方法,将图片转化成鸟瞰图,然后让卷积神经网络自动学习这些特征,达到检测的目的。所以主要的步骤主要是分为两块,数据集的标定和交通标线的检测。4. 2.1数据集的标定数据集的标定也就是感兴趣区域的提取,数据集选用的是网上公开的加州理工数据集,这个数据集中包含了美国加州市的各种道路场景。其中包含了1225张640x480像素的图片。检测结果的好坏也和数据集的标定密不可分,但由于人工标定感兴趣区域耗时特别长而且不同场景下提取感兴趣区域的点也不同,所以本文训练的典型卷积神经网络只训练了一小部分的图片数据集,况且在检测精度上也存在很大的提升空间。不仅于此,标定出来的图片也都是在鸟瞰图的基础上来进行的,这也大大增加了标定的难度。在标定的过程当中,路面上的道路标志也会对标定的结果产生影响。4.2.2交通标线的检测需要率先通过典型卷积神经网络进行交通标线检测的设计,设计中需要包括2个卷积层,1个池化层,2个全连接层,模型如图4.2。图4.2卷积神经网络结构模型本文主要是检测交通标线中的虚实线,为实例分析中检测前方车辆变道奠定一个基础,主要的检测步骤有:(1)通过行车视频获取得到的车载摄像头图片,经过灰度化和二值化转换成二值图,再通过逆透视变换将其转换成300x150像素大小的鸟瞰图,然后通过设置滤波和划定感兴趣区域提取特定宽度的垂直线。(2)合理的分配像素间隔从而将鸟瞰图进行均分,本文中以每20个像素当做具体间隔,因此图片被分成了15份,在不同的部分之间,又可以从上下的部分来进行划分,(3)鸟瞰图按照20个像素为一个间隔,将图片均匀分成15个部分,然后自底上分别划分成上下两个部分,即40像素的间隔进行垂直方向的灰度值累加可得到的峰值位置,即当灰度值处于峰值的位置即为车道线候选位置。(4)区分虚实线,这里主要还是采取了两种语义分割的方法,即通过人工手动调整,以明暗的方式来确定划分虚实线,但是这种方法需要大量的数据来提高精度,本文只能达到初步检测的水平,在虚实交接处,双虚线检测上效果不是很好,只能适用于一些标准路段且周边干扰较小的检测环境。(5)因为卷积神经网络中包含全连接层,全连接层输入的参数必须是固定的,所以截取峰值20x13像素区域送入网络进行分类。由于检测的过程当中道路边缘线也对检测的结果造成了一定的影响,而且虚实过渡地段标线检测不是很理想,所以精度上可以进一步优化提升。人工标定数据集的过程也可以利用模型学习进一步改善,最终图片检测出来的效果图如图4.3所示,视频检测中的虚实线结果如图4.4,4.5所示。图4.3图片中交通标线检测结果图4.4视频1中交通标线检测结果35 Video Player XEile Iools View playback HelpO a 。IEL2 oo%TRGB 240×36036图4.5视频2中交通标线检测结果4. 2.3算法的改进和优化(1)不同场景的检测结果由于选择的场景和感兴趣区域的不同,得到的不同场景下的检测效果还不是很好,具体的实现效果图如4.6-4.8所示,可以明显看出图片的标定直接影响了检测的结果。原图CZZ做标记线图4.4道路不同对检测结果的影响原图CNN做标记线图4.5标志对检测效果的影响原图CZZ做标记线图4.6车辆对检测效果的影响(2)算法优化(聚类算法)这里提出的算法优化主要是在没有标定数据集的过程中采用聚类算法,将数据集划分成几个不同的类别,从而来提高应对不同环境的车道线检测,将同一条车道线的像素点聚到一起,把不同车道线的像素点分开,对于常用的聚类算法17有K-均值聚类(K-Means,KM)、模糊C均值聚类(FUZZye-Means,FCM)期望最大化(ExpectationMaximization,EM)和具有噪声基于密度的聚类算法(Density-BasedSpatialClusteringofApplicationswithNoise,DBSCAN)等.。K-Means是一种非常简单的聚类算法,但该算法在社会中获得了广泛的运用,最终得到的效果也相对较好。该算法是通过对样本集的给定对其进行划分,通过距离等指标划分样本成不同簇部分之后,要求这些部分尽量相连,但不同簇距离要相对拉长。该算法具有简单性、高效性,对于时间和空间的要求复杂度较低,对于大型数据也可以采用,但该算法具有明显的缺点和不足,就是最终达到的效果虽呈现最优性,却只是局部的,若通过预设K值来解决该问题的时候,又必须要在K个点选取的过程中进行强调;该算法具有高敏感性,尤其是对噪声和离群值;且该算法不能解决非凸(non-convex)数据,其主要流程如图4.7。图4.7K-Means聚类算法流程图模糊C均值聚类算法源于硬C算法。数据点一般都存在于特定算法之中,隶属关系告知我们,对象X的隶属成都由隶属度函数定义。本身的变量范围是可能属于集合中的所有对象的集合值域为0,1。该算法对于正态分布数据能达到相当好的聚类效果,且该算法对孤立点具有高敏感性,这是该算法的优势。但是其不能保证最终算法会在最优解上收敛,所以还是需要初始的聚类中心才能提高该算法性能。这就需要其他算法的帮助,或者在每次都在不同初始聚类中心对该算法进行启动,多次运行,使得算法相对复杂。其检测流程如图4.8所示。图4.8FCM聚类算法流程图FCM算法普遍是通过聚类数目C和参数m两个参数实现的,其中前者更依赖少于样本总数的数据,且需要保证该数目超过1,后者则代表着算法的灵活度,In越小,机器越灵活,最终效果就越好,但是m的大小是存在某种区间的,过小就会导致该算法趋向于HCM聚类算法。HCM聚类算法会输出模糊划分矩阵和聚类中心点向量,输出的类别种类也不尽相同,通过矩阵模糊集的最大相关性,便能将每个一本点定义为一个类别。这些中心则是每个类别的平均特征,相当典型。DBSCAN聚类算法是仪高密度连接区域为基础的,该算法的划分相对复杂,其聚类是包含各种性状的。但该算法的优点在于,能迅速找到噪声数据中各形状的簇,但该算法的缺点主要是因为聚类结果与参数关系很紧密,其固定参数区分的原理,会使得聚类的稀疏程度及自然结构相对单调,若通过准则很容易破坏其结构状态。也就是说,较薄的团簇被分为多个类别或者较高密度的聚类,而且较近的类也会被合并成一个新的聚类更接近一个组的团簇。这类算法原理的基本要点就是要确定半径eps的值,其检测流程如图4.9图4.9DBSCAN聚类算法流程图本文通过对不同的通用聚类算法的对比,充分的考虑了他们的优劣势及最终达成效果,选择了DBSCAN聚类算法作为本文的主要应用算法,这是因为该算法无需指定聚类数目,具有一定的简易性。同时该算法的覆盖范围大,对各类形状大小的聚类都可实现计算,细长条状的车道线使用DBSCAN聚类效果较好,不过DBSCAN算法计算量大,计算速度慢且不具备自动性和实时性。5实线违法变道检测系统5.1系统需求分析目前交通安全问题逐步成为智慧城市交通需要解决的首要问题,而在重多交通安全问题中,由于随意变道而引起的车祸逐年增多,所以本文提出了一种实线违法变道检测系统。旨在于通过后方车辆完成对前方车辆的一种实时监督,很大程度上减少由于视觉盲区带来的交通安全隐患问题,同时响应车联网(IOV)的大趋势,参与构建车辆位置、速度和路线等信息构成的巨大交互网络,便于智慧城市的实现。该系统的需求主要包含以下几个方面的内容:(1)交通标线中虚线和实线的识别(2)对前方车辆的识别(3)判断是非变道与压线(4)实线通信的实时传输5. 2系统功能与总体设计5. 2.1系统的总体设计基于CNN的交通标线识别,能够借助车载摄像头获取的视频自动检测区分虚实线,这很大程度上可以为实现一种后车对前车的自然监督。即通过后方车辆的行车记录仪记录的前