计算机视觉在自动驾驶中的应用及算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

薛毅恒115103652018年11⽉22⽇计算机视觉在⾃动驾驶中的应⽤——《机器学习》课程报告近些年来随着⼈⼯智能的兴起与物联⽹的结合,在⽣活中越来越多的⾏业被机器所取代或者被机器提⾼了很⾼的效率。在⾃动驾驶领域,属于“⾼速、⾼危”⽅向,·门槛很⾼,对实验和研究的要求也⾮常⾼。随着技术的飞速发展,⾃动驾驶这个领域也逐渐被攻破,虽然有类似“Uber⾃动驾驶致命事故”这样的案例发⽣,但我们还是需要客观的审视这个技术,从需求点出发解决问题,才能使得技术为我们“服务”。在⾃动驾驶领域通过计算机视觉技术可以达到如下的⽬的:1.Location2.Detection2.1.Lane2.2.Car3.Segmentation4.TrafficSign4.1.Detection4.2.Recognition5.SLAMControl通过计算机视觉来解决这些问题,是需要我们通过相机或雷达的⽅式向计算机输⼊数据(环境信息)等有效内容之后,计算机会反馈⼀系列的指令,类似加速、减速、左转、右转等⼀些和汽车运动控制相关的指令。⼀.输⼊信息雷达和相机是⽬前解决这个问题的两个学派或两个研究⽅向。1.雷达(激光雷达、毫⽶波雷达)1.1.激光雷达计算机视觉在⾃动驾驶中的应⽤!1激光雷达是指以激光为⼯作光束的雷达,向⽬标发射探测信号(激光束),然后将接收到的⽬标反射回来的信号(⽬标回波)与发射信号进⾏⽐较,做适当的处理后就可以获得⽬标的有关信息,包括⽬标距离、⽅位、⾼度、速度、姿态、形状等参数。激光雷达精度⾼,但是价格昂贵。对⼯艺⽔平要求⾼。1.2.毫⽶波雷达毫⽶波实质上是电磁波,频段⽐较特殊,频率⾼于⽆线电又低于可见光与红外线,⼤约在10GHz-200GHz,⾮常适合车载领域的频段。常见的⼏个频段如下:根据国内产业机构调查,2014年汽车毫⽶波雷达销量120万颗,2015年180万颗,每车需要前后两颗,今年会突破500万颗。1.3.超声波雷达超声波发射器向外⾯某⼀个⽅向发射超声波信号,在发射的同时开始计时,超声波通过空⽓进⾏传播,传播途中遇到障碍物就会反射回来,接收器在收到反射波的时刻就停⽌计时。已知空⽓中超声波的传播速度是340m/s,通过记录时间t,就可以测算出距离s。超声波雷达在速度很⾼的情况下有局限性,因为声⾳的传播速度受天⽓情况的⼲扰较强。在短距离测量中,超声波测距传感器具有⾮常⼤的优势。1.4.激光雷达和毫⽶波雷达的区别激光雷达的稳定性⾼,精度⾼,但是探测范围窄,有部分咋当后⽆法正常使⽤,在⾬雪雾霾天⽓不能开启,受环境影响⼤,没有穿透能⼒,探头必须完频段(GHz)特点应⽤领域24-24.25频率低,带宽窄,250MHz汽车盲点监测、变道辅助,检测周围车辆,是否符合变道要求。77频率⾼,带宽⾼,800MHz探测与前车的距离以及前车速度,⽤于紧急制动等主动安全领域79-81带宽很宽,分辨率⾼达5cm精确定位计算机视觉在⾃动驾驶中的应⽤!2全裸露才可以达到探测效果。毫⽶波雷达的精度⾼,抗⼲扰能⼒强,探测距离远,是⼴⾓探测,探测反问⼴,作⽤时速可以达到120码以上,穿透能⼒强。⽬前激光雷达技术已经很成熟,固态激光雷达和混合固态激光雷达还处于起步阶段,⽬前⼤多采⽤机械式激光雷达。毫⽶波的波长介于厘⽶波和光波之间,因此既有微波制导和⼴电制导的有点。毫⽶波雷达的探测距离受频段损耗的直接制约,⽆法感知周围⾏⼈,对周边所有障碍⽆法进⾏精准的建模。2.相机2.1.单⽬摄像头安装在汽车前挡风玻璃上部,适⽤于⾃适应巡航、车道偏离预警、前撞预警、⾏⼈监测等功能。难点在于样本数据库以及距离估算准确度较低。2.2.后视摄像头安装在车尾,⽤于探测车辆后⽅环境,对倒车帮助很⼤,但是恶劣环境中很难提⾼准确率。2.3.⽴体摄像头安装在汽车前挡风玻璃上部,利⽤两个精确的标定摄像头同时探测前⽅环境,实现更⾼识别精度和更远探测范围。计算量很⼤,对硬件性能要求较⾼。2.4.环视摄像头包括汽车前、后、左、右侧,实现360度环境感知,应⽤于⾃动停车系统,难点在于图像的畸变以及还原。⼆.⾏为决策基于计算机视觉技术的⽬标识别主要⽬的是识别出图像中有什么物体,并报告出这个物体在图像表⽰的场景中的位置和⽅向。在⼀个相机得到的信息中,⾸先判断⽬标有或者没有,如果没有,则进⾏⽬标的检测和识别,如果有,则进⼀步判断有⼏个⽬标,⽬标分别所在的位置,然后对⽬标进⾏分割,判断那⼀部分图像属于改变⽬标,然后测算出⽬标的尺⼨、形态等。传统的⽬标识别算法主要考虑了特征的选择和提取,通过设计⼈⼯特征算⼦,计算机视觉在⾃动驾驶中的应⽤!3!三.⽬标提取在输⼊图像信息之后,再编解码完成之后就是需要提取图像中的物体信息,需要对⽬标进⾏检测,这⾥对速度和准确率的要求极⾼。在近⼗年的快速发展中,在CNN的基础上RossGirshick教授提出了R-CNN(RegionCNN)的思想之后,先后又出现了FastR-CNN,FasterR-CNN以及最新的MaskR-CNN的⽅法。1.R-CNN(̃rbg/rcnn)2014年,RegionCNN是利⽤深度学习进⾏⽬标检测的开⼭之作。主要解决了当时的两个关键问题,包括速度和训练集的问题。经典的⽬标检测算法使⽤slidingwindow的⽅法以此判断图像的区域,在研究中发现预先提取⼀系列较可能是物体的候选区域后,再在候选区域进⾏提取特征并进⾏判断的做法效率会提⾼。经典的⽬标检测算法在区域中提取⼈⼯设定的特征(HOG),这个⽅法则需要通过训练深度⽹络进⾏特征提取,有⼀个较⼤的识别库(ImageNetILSVC2012,标定每张图⽚中物体的类别,⼀千万图像,⼀千类)和⼀个较⼩的检测库(PASCALVOC2007,标定物体的类别和位置,⼀万图像,⼆⼗类),使⽤识别库进⾏与训练之后⽤检测库调整参数,最后在检测库上进⾏评测。计算机视觉在⾃动驾驶中的应⽤!4!R-CNN通过4个步骤完成,⾸先在⼀张图像中⽣成1k-2k个候选区域;对每个候选区域使⽤深度⽹络提取特征;将特征输⼊到每⼀类的SVM分类器判断是否属于该类;使⽤回归器修正候选框的位置。通过selectivesearch⽅法,在考虑颜⾊、纹理等情况进⾏合并,保证合并后总⾯积尽可能⼩,保证合并操作的尺度均匀以及形状规则,通过图像的颜⾊直⽅图、纹理直⽅图、⾯积和位置即可完成。提取特征的预处理需要满⾜神经⽹络的要求,⾸先统⼀输⼊尺⼨为227*227,会导致图像畸变等问题。这个⽅法将PascalVOC的检测率从35.1%提⾼到了53.7%。2.FastR-CNN2015年,这个⽅法与R-CNN相⽐,将训练时间从84h降低到9.5h,测试时间从47s降低到0.32s。解决了测试速度慢、训练速度慢以及训练所需空间⼤的问题。R-CNN图像内的候选框之间⼤量重叠,提取特征操作冗余,FastR-CNN将整张图像归⼀化之后输⼊到深度⽹络,在末尾的少数⼏层处理候选框。图像归⼀化以224*224输⼊到⽹络,conv+relu+pooling之后都不需要固定⼤⼩尺⼨的输⼊,所以在原始照⽚上执⾏这下操作之后,输⼊图⽚尺⼨不同将会导致得到的特征图尺⼨不同。计算机视觉在⾃动驾驶中的应⽤!5!和R-CNN相⽐,添加了⼀个⽹络层ROIPooling将每个候选区域均匀分成m*n块,对每块进⾏maxpooling,将特征图赏⼤⼩不⼀的候选区域变为⼤⼩统⼀的数据输⼊到下⼀层。!虽然输⼊的图⽚尺⼨不同,得到的特征图的尺⼨也不同,但是添加这个⽹络层之后,对每个region都提取⼀个固定维度的特征表⽰,就可以通过正常的softmax进⾏类型识别。!在分类阶段,R-CNN通过⽣成候选框,通过CNN提取特征之后⽤SVM分类,最后通过回归得到具体位置,在FastR-CNN中,将具体位置的回归也放⼊到神经⽹络内部,与区域分类合并成为⼀个multi-task的模型。计算机视觉在⾃动驾驶中的应⽤!6!3.FasterR-CNN2016年,将特征提取,proposal提取,具体位置的回归,分类都整合在⼀个⽹络中,综合性能有较⼤提⾼,检测速度有较⼤提⾼。!在卷积层中,通过conv+relu+pooling的⽅法提取特征图,⽤于后续的RPN层和全连接层。RegionProposalNetworks⽤于⽣成regionproposal,通过softmax判断anchors属于foreground或者background,再利⽤boundingboxregression修正anchors获的精确的proposals。在ROIPooling层中,通过输⼊的特征图和proposal之后,修正尺⼨后输⼊到后续全连接层判断⽬标类别。Classification中利⽤proposalfeaturemap计算proposal类别,再次通过boundingboxclassification获得精确位置。计算机视觉在⾃动驾驶中的应⽤!7在FastR-CNN的Convlayers中对所有的卷积都做了扩边处理,原图!变成了!,再做3*3卷积后输出!,导致Convlayers中的conv层不改变输⼊和输出矩阵⼤⼩。RPN(RegionProposalNetworks)的结构如下。!RPN⽹络分为2条线,上⾯是通过softmax分类anchors获得foreground和background,下⾯⽤于计算anchors的boundingboxregression的偏移量,最后获得精确的proposal。最后完成了相当于⽬标定位的功能。在RPN中最神奇的就是anchors,如下图。!是⼀组矩阵,数据中每⾏四个值代表矩阵的四个点坐标,就会产⽣上图所⽰的矩阵组。关于anchorssize,是根据检测图像设置的,将任意输⼊图像reshape成为800*600,⽽anchors中长宽1:2中最⼤为352*704,长宽2:1中最⼤为736*384,覆盖了800*600的各个尺度和形状。这九个矩形⽤于遍历convlayers计算获得特征图,为每⼀个点都配备这九种anchors作为初始的检测框,这样获得检测框就会很粗略,在后⾯的两次回归中就会修正。(m×n)(m+2)×(n+2)(m×n)计算机视觉在⾃动驾驶中的应⽤!8!原图是800*600,VGG下采样16倍,featuremap的每个点设置9个anchors,总共有17100个anchors。在使⽤anchors之后,会导致⽬标检测不全,所以对矩形进⾏平移和缩放如下。平移:!!缩放:!!4.MaskR-CNNMaskR-CNN是ICCV2017的bestpaper,在单GPU上的速度是5fps。!⾸先对⽐⼀下FasterR-CNN,是在功能上做了提升,速度仍是200ms左右。FasterR-CNN由两个阶段组成,第⼀部分是RPN⽹络,提出候选对象的boundingboxes,第⼆阶段是利⽤了之前的FastR-CNN,从没个候选框提取出使⽤ROIPooling的特征并执⾏边界框的回归。G′x=Aw⋅dx(A)+AxG′y=Ah⋅dy(A)+AyG′w=Aw⋅exp(dw(A))G′h=Ah⋅exp(dh(A))计算机视觉在⾃动驾驶中的应⽤!9MaskR-CNN是在FasterR-CNN的基础上多了⼀个输出,可以通过FasterR-CNN扩展得到,在FasterF-CNN中,对于每个ROI有两个输出,⼀个是分类结果(预测框),另⼀个是回归结果(预测框的坐标offset),在MaskR-CNN中变成了三个输出,对每个ROI都输出⼀个mask,通过FCN⽹络来实现。计算机视觉在⾃动驾驶中的应⽤!10

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功