开发者学堂课程【深度学习与自动驾驶:自动驾驶中的卷积神经网络(2)】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/533/detail/7155
自动驾驶中的卷积神经网络(2)
内容介绍
一、ConvNets
二、How Can Convolutional Neural Networks Help Us Drive?
内容简介
一、ConvNets
1、ConvNets: Spatial Arrangement of Output Volume
使输入和输出有相同高度和宽度。所以这是一个卷积的可视化。
这与人类视觉的工作方式非常相似,这里左边的输入是一个数字的集合:0,1,2,一个过滤器或者有两个过滤器显示为W1,-WO和W1。以红色显示的那些过滤器是在这些过滤器中应用的不同权重。而且每个过滤器都有一定的深度输入深度3,每列有三个,所以你沿着图像滑动过滤器保持权重相同,这是权重的共享。所以第一个过滤器选择权重,这是一个优化问题,用这种方式选择权重,对于有用的特征它会被激活,并且不会因没有用的特征而激发。然后还有第二个过滤器会由有用的特征触发,并根据一个正数产生一个输出信号,这意味着该区域有一个明显的特征,如果没有特征就产生一个负数。但过滤器是相同的。这可以大大减少参数,所以你可以处理输入,例如。1000*1000像素的图像或视频。
2、ConvNets: Pooling
(1)这有一个非常重要的概念。即权重的空间共享,这意味着在检测的特征具有空间不变性。它允许你从任意图像学习,所以你不必担心要用什么更巧妙的方式预处理图像,你只是给出原始的图像。这还有另外一个操作:池化。例如在这种情况下,这是一种减小图层大小的方法,它是最大池化因为它是输出的集合,选择x1,并总结这些像素的集合。使得池化操作的输出远小于输入。因为不需要高分辨率。分辨哪个像素在图像中是重要的,不需要确切知道哪个像素与猫耳朵或猫脸相关联。只要你知道它就在那一边就行。这也减少了操作的复杂性。
(2)问题:什么时候会造成池化过度。什么时候应该停止池化?
池化是一个非常粗糙的操作,需要知道的是,它没有任何可以学习的参数。所以不能很好的学习任何关于池化的东西,在这种情况下,只是选择最大池化,选择最大的数字,减少了分辨率也失去了很多信息,有人认为只要你没有将整张图片池化为一个单的值就不会丢失太多信息,但是你获得了训练效率,减少存储所需空间,减小了网络的规模,所以这容易引起争议,它是一个参数,你可以修改它看看哪些值起作用。
3、Computer Vision: Object Recognition / Classification
结合起来,一个卷积神经网络,输入是一幅图像,通常有一个卷积层,然后是一次池化操作,接着是另一个卷积层,再一次的池化操作,以此重复,最后,如果任务是分类,就会得到一堆的卷积层和池化层,有几个全连接层,你从空间卷积运算开始把一层中的每一个神经元连接到下一层,这样最终你会拥有一组神经元每个神经元都与一个特定的类相关联,输入图像每张图是一个0到9之一的数字,这里输出是10个神经元经过这些卷积层的处理,在最后,用1或2或3个全连接层生成了10个神经元,每个神经元的工作是,当它看到一个特定的数字时被激活而看到其他的数字的则产生一个低概率,这是在CIFAR-10问题上获得95%的准确率的原因。
这就是mageNet数据集图片包括一只美洲豹或一艘集装箱船,可以产生这张图片是集装箱船的概率或者是美洲豹的概率,同时也显示了邻近神经元的输出及其概率。
4、Computer Vision:Segmentation
可以通过在最后去掉全连接层来使用相同的运算,与从图像映射到图像中包含的信息的预测相反,你从这张图片映射到另一张图片,而且你可以训练使得那张图片成为一张具有激发能力的图片,空间上这意味着它给包含感兴趣的对象的区域一个接近1的数,给不太可能包含图像的区域一个较低数值,所以,可以从左边开始,从一张骑着马的女人的原始图片到一张分割轮廓图。
5、Computer Vision:Object Detection
同样的过程可以用来识别物体,所以你可以将场景分割为,一些感兴趣的物体,感兴趣的候选对象,然后逐个处理这些候选对象,并且进行类似上一步的分类输入图片,输出类别。
通过遍历图片,可以找到精确地划分出图片里的一头牛的最好的方法,这就是物体识别。
二、How Can Convolutional Neural Networks Help Us Drive?
这些神奇的卷积神经网络是怎样帮助我们驾驶的?
这是汽车在道路上前进,它来自于特斯拉车辆收集的数据但是先来看驾驶。
1、Driving: The Numbers
(in United States, in 2014)
(1)Miles
① All drivers: 10,658 miles(29.2 miles per day)
② Rural drivers: 12,264 miles
③ Urban drivers: 9, 709 miles
(2)Fatalities
① Fatal crashes: 29, ,989
② All fatalities: 32,675
③ Car occupants: 12,507
④ SUV occupants: 8,320
⑤ Pedestrians: 4 884
⑥ Motorcycle: 4,295
⑦ Bicyclists: 720
⑧ Large trucks: 587
来看一般的驾驶任务,从人的角度,一名美国司机平均每年驾驶10,000英里。在乡村这个距离会多一点在城市里会少一点,每年大约有30000起重大车祸,多达32000甚至38000人丧生,这些人包括车内乘员,行人,骑自行车的人以及骑摩托车的人。
这可能是一个令人惊讶的事实,但是在自动驾驶的课堂上我们应该记住。
除了被归类为“其他”的59.9%在美国最受欢迎的车是皮卡包括福特F-1系列,以发雪佛兰Silverado和Ram重要的一点是,想要有掌控权,看到的这些有趣的车中的一辆,上课用的数据集就是来自特斯拉的汽车,它是一辆介于福特F-150与小巧的谷歌无人车之间的车型,它很快,它让你体验到驾驭的感觉,但是如果需要,它也可以在高速路上自动驾驶几百英里。
2、Human at the Center of Automation:The Way to Full Autonomy Includes the Human
(1)Emergency
Automatic emergency breaking (AEB
(2)Warnings
Lane departure warning (LDW)
Forward collision warning (FCW)
Blind spot detection
(4)Longitudinal
Adaptive cruise control (ACC)
(5)Lateral
Lane keep assist (LKA)
Automatic steering
(6)Control and Planning
Automatic lane change
Automatic parking
你仅按一个键就可以切换到自动驾驶,这种切换是一种令人着迷的权衡,将操控从人转移到汽车,这是一种对信任的转变,而且当人与时速超过60英里的汽车联系在一起时,这是研究人类心理的一个机会。
3、Distracted Humans
(1)What is distracted driving?
① Texting
② Using a smartphone
③ Eating and drinking
④ Talking to passengers
⑤ Grooming
⑥ Reading, including maps
⑦ Using a navigation system
⑧ Watching a video
⑨ Adjusting a radio
(2)Injuries and fatalities
3,179 people were killed and 431,000 were injured in motor vehicle crashes involving distracted drivers
(in 2014)
(3)Texts:
169.3 billion text messages were sent in the US every month.
(as of December 2014)
(4)Eye off road:
5 seconds is the average time your eyes are off the road while texting. When traveling at 55mph, that's enough time to cover the length of a football field blindfolded.
这里有一些让人类分心的事,比如,使用智能手机打字,看视频,梳妆打扮与乘客交谈,吃东西,喝东西,发短信,2014年,在美国每月有1690亿条短信被发送,平均来说,当发短信时视线会离开道路5秒钟,这就是自动化驾驶的机遇。
4、4 D's of Being Human: Drunk, Drugged, Distracted, Drowsy
(1) Drunk Driving: In 2014, 31 percent of traffic fatalities
involved a drunk driver,
(2) Drugged Driving: 23% of night-time drivers tested positive for illegal, prescription or over-the-counter medications.
(3) Distracted Driving: In 2014, 3,179 people (10 percent of
overall traffic fatalities) were killed in crashes involving distracted drivers.
(4) Drowsy Driving: In 2014, nearly three percent of all traffic fatalities involved a drowsy driver, and at least 846 people were killed in crashes involving a drowsy driver.
NHTSA将其称为4个D:醉酒、吸毒、走神、疲劳,这4个中的每一个都是引进自动驾驶的机遇。对醉酒驾车的改善也许最大。
5、In Context: Traffic Fatalities
(1)Total miles driven in U.S. in 2014:
3,000,000,000,000 (3 million million)
Fatalities: 32,675(1 in 90 million)
(2)Tesla Autopilot miles driven since October 2015:
300,000,000 (300 million)
(as of December 2016)
Fatalities: 1
然后是里程,数据上面,每年有3万亿英里的驾驶,再看TESLA的自动驾驶仪,这门课的研究实例,全自动驾驶模式开启,截至2016年十二月,共驾驶了3亿英里,由人控制的车辆造成的车祸死亡比例为1:90,000,000,每年有大于3万车祸死亡的人,而目前TESLA自动驾驶的汽车仅有一例车祸死亡的事件。有许多的方法可以来统计。目前,也许自动化可以使得驾驶更加安全。问题是:并不理解自动化,因为没有数据,没有汽车驾驶时前方道路的录像,也没有驾驶员的数据,自动驾驶上路的车还不够。因此需要许多的数据,收集了大量数据用于MIT研究,关于车辆自动驾驶的数据,这些收集到的数据有助于去理解它。
6、The Data
这些数据,它们将用于训练算法,这是TESLAModelS和ModelX,检测了17组数据收集到的这些数据超过了5000小时、70,000英里。
关于放在里头的摄像机。收集前方道路的录像。这是一个人驾驶着TESLA从Boston到Florida的行程。蓝色部分所展示的是自动驾驶仪工作的时间,目前是0分钟并且之后会一直增长,对于一个持续了很久的上百英里的路程,人们使用自动驾驶仪,TESLA总行驶里程数13亿英里,3亿英里是靠自动驾驶仪占其中的25%,收集前方道路以及驾驶员的数据,有两个用来观察驾驶员的摄像头。
7、Camera and Lens Selection
用来记录的摄像机是常规的网络摄像机,计算机视觉领域的常用设备C920,在它上面还有一些特殊的镜头,那么这些网络摄像机的特殊之处在哪里呢?没有什么东西只卖$70还像它那么好,他们的特殊之处在于,他们可以压缩数据,因此可以收集大量的数据,他们可以使用合理的存储空间来储存数据并训练算法。
8、Semi-Autonomous Vehicle Components
(1)External
① Radar
② Visible-light camera
③ LIDAR
④ Infrared camera
⑤ Stereo vision
⑥ GPS/IMU
⑦ CAN
⑧ Audio
(2)Internal
① Visible-light camera
② Infrared camera
③ Audio
在自动驾驶方面需要做什么呢?如何造一辆自动驾驶的汽车呢?需要雷达传感器、激光雷达传感器、视觉传感器、声音信号传感器,朝向外部,帮助检测外部环境的物体定位等等,还有面向内部的传感器:可见光相机、声音信号传感器、红外摄像机。
9、Self-Driving Car Tasks
(1)Localization and Mapping:
Where am l?
(2)Scene Understanding:
Where is everyone else?
(3)Movement Planning:
How do I get from A to B?
(4)Driver State:
What's the driver up to?
可以分解自动驾驶汽车的任务为4个步骤:定位、回答我在哪里、场景理解、以及,使用场景周边的信息结构来解释场景内的不同对象的身份,以及他们的语意和动作,还有路线计划,一旦搞清楚所有事情,找到所有的行人和其他的车辆,如何在迷宫里进行导航呢,如何安全且合法的穿过这些话七八糟的物品,这是关于驾驶员的状态,如何检测使用的录像以及其它的信息呢?驾驶员的录像检测了他们的情绪状态的信息以及分心的程度。
这就是激光雷达的实时数字,激光雷达是为你提供3D点云的传感器,因此激光雷达是一种科技,大多数自动驾驶汽车都用激光雷达来为人们提供强大的地面实况,这可能是拥有的最好的传感器,通过它获得外部环境噪声最小的3D信息。
自动驾驶仪总是在改变,最棒的事情之一就是只用更新软件,可自动驾驶时间的越来越少,但是在这里,在这个早期的版本,他展示了第二行是黄色的,展示了自动驾驶仪什么时候是可用的但是并没有开启,因此总的驾驶时间是10小时,自动驾驶仪有7个小时是可用的并且有一个小时处在工作状态,这个人是一个负责任的驾驶员或者说他是个细心的驾驶员,因为目前正在下雨,自动驾驶仪仍然处于可用的状态。
不能以死亡的人数作为安全性的标志,因为驾驶员仅仅当它是安全的时候才会去使用这个系统,它是完全开放的,关于这个数字仍存在着很多争议,关键是,是否认为它是个不好的事物,因此可能会相信人类和它的互动,不管是 YouTube 视频,还是媒体天花乱坠的宣传,你仍然是一个人类,驾驶着每小时移动60英里的金属盒子,你的生命都寄托在上面,除非你知道它是完全安全的,或者你十分信任这个系统,不然你不会使用它,这还并不是全部,你还能看到一个人在后座开始睡觉或者下棋,事实是只要在车里,你的生命就悬系于车上而你要为此负责,不管是在什么样的车上。
提问:你需要看到什么?或者感知到什么才能安全驾驶?是看到划线还是什么?在定位和导航的时候依据什么?
这取决于传感器,加州运行的谷歌无人车,使用高分辨率激光雷达为周围环境制作地图,激光雷达有个弱点,虽然不确切知道原因,就是在雨中和雪中表现不佳,在环境改变时表现不佳,环境的视觉反光特征改变的时候,人类仍然可以辨别,但是依靠激光雷达定位的车辆就没办法,因为地标的长相变了,计算机视觉帮助识别交通标志线,或跟随一辆车,规则是跟随前方的车辆,以及保持在两条线之间,道路是为人眼设计的,这很好,可以用计算机视觉去做同样的事,同时有雷达,很原始,但是,是距离信息的可靠来源,使你不至于撞上金属物体,一切取决于你依赖什么获取信息,但当你进入真实世界会发生各种情况,这些方法是否依然靠谱,回到定位问题,深度学习的作用。