查看原文
其他

2018-05-25

自动驾驶汽车还未成功推广,有很多原因,其中一个问题是难以实现全场景的自动驾驶,比如下雨天,传感器以及路面状况对自动驾驶来说都有很大的挑战。


本文转自:网易智能和自动驾驶说


极端环境测试,一直都是自动驾驶测试环节中最具挑战性的一部分。例如雨雪天气,它令自动驾驶技术研发企业头疼,但却无法规避。这是一块通往更完善自动驾驶技术目标的“绊脚石”,在众多研究无人驾驶的公司中,Drive.ai是为数不多的曝光在雨天进行自动驾驶测试视频的公司之一,视频只有4分钟,从视频中可以看出雨量并没有很大。Drive.ai官方称其应用独特的深度学习技术处理信息,像人类大脑一样做决策,可以用技术处理各种困难环境。



无独有偶,福特也曾发布过在雨雪天做自动驾驶测试的视频,他们称自家的无人车能在雨天跑了,如果雨不太大的话……



整体来看,它还是依靠激光雷达把周遭绘制成高清 3D 图像,然后认出图像中的障碍物。其中针对雨滴和雪花的识别算法做了调整。算法如果只是追踪每一个落在激光雷达摄像头上的雨滴,除了增加计算量之外,对于无人车在雨水天气中躲过障碍物毫无意义。视频中,福特那辆改装过的蒙迪欧车顶上装了 4 个 360 度旋转的 Velodyen 激光雷达。福特自动驾驶技术负责人 Jim McBride 介绍,当无人车行驶在雨雪天中,一个激光雷达的一部分总会被雨水击打。剩下的激光雷达会追踪这些雨点落在车上或者地面上的痕迹,从而绘制出水幕。那些漏掉的雨点,也能通过累积的雨雪天 3D 图像模型,逆向推测出来。至于无人车怎么拨开水幕找到前方的障碍物?McBride 表示,一条激光射线不会碰到雨点 2 次。他们把水幕去掉,障碍物就会浮现。


不过,按照其透露的几毫米城市降水量来看,算法还只是适应小雨天气。另外,福特也不确定自家的无人车能不能在雪天正确导航。这取决于积雪的厚度。这套识别算法还不那么完善。Google 和沃尔沃也都各自在探索应对雨雪天气的自动驾驶算法。


看来下雨天确实是个考验,无论对无人甚至有人驾驶的汽车。


下雨与自动驾驶汽车有什么关系?


目前,大部分自动驾驶汽车还不能在雨中驾驶。路测以及比赛的宣传视频,道路往往是干燥的,天空中没有雨云。在生活的场景中,肯定需要可以在雨中正常行驶的自动驾驶汽车。对于L5级自动驾驶汽车,也就是驾驶水平能与人类相当的自动驾驶汽车,我们希望人工智能能够根据雨天的情况自动驾驶汽车。对于L4级自动驾驶汽车来说,人工智能并不一定能够使汽车在雨中行驶,或者至少可以尝试雨中行驶,如果它在某种程度上达到了无法继续行驶的地步,它将把控制权交给汽车上的一名人类司机。


这种移交可能是危险的,因为自动驾驶汽车可能已经陷入了一场真正糟糕的大雨中,而且可能打滑并失去控制。简单地把控制权交给人类司机并不一定能解决所有问题。人类可能没有足够的时间来处理这种情况,或者可能没有任何办法来摆脱这个困境。


什么使得无人驾驶汽车在雨中的行驶变得如此困难?


让我们考虑一下与雨中驾驶相关的各个方面。


图像识别


路面积水容易形成倒影,也容易覆盖路面上的标识。降落的雨滴也会让能见度大大降低,影响车速。



摄像头


雨滴很容易附着在镜头上,造成图像扭曲。



路人


下雨时,行人的装束各种各样,雨伞也是各种各样。自动驾驶车未必都能检测出来。举着雨伞的行人也不太容易看到或者听到汽车。


路面


被雨水打湿的路面会变得很滑,这意味着汽车轮胎的抓地力会减弱。人工智能需要能够意识到道路是湿的,并决定如何平稳地转弯,或者如何最好地从静止状态继续移动,等等。如果人工智能试图像在干燥的表面那样加速,那么轮子将会旋转,或者汽车会打滑,所有这些都会导致自动驾驶汽车及其乘坐者(以及其他车辆、行人等)陷入危险处境。


积水


自动驾驶汽车上装有传感器,它们能够观察道路,并扫描积水。正如你所知道的,水坑中四处溅起的水花虽然有趣,但当中可能会隐藏有坑洞,它会损坏汽车,使驾驶陷入混乱。检测积水比想象中还要难,因为不仅要确定水的位置,还要测量水的深度。人工智能还需要考虑一些选择,比如避免积水时,它可以选择变换车道,或者采取安全措施。


有哪些解决方案?


检测路面干燥程度


-通过轮胎和路面接触的声音进行深度学习。(详见论文Detecting Road Surface Wetness from Audio: A Deep Learning Approach)

-通过24GHz雷达探测路面情况。

-通过图像分析判断路面粗糙程度。


传感器


关于无人驾驶汽车,也许人们最关心的问题之一就是传感器。传感器在下雨天还能正常使用吗?


我们都知道,下雨的时候,相机就无法正常使用了。由于雨水附着,镜头会变得模糊不清,图像可能会被扭曲,所以就不一定能收集到正常情况下所收集到的所有图像。的确,正如前面提到的,现在有一些第三方公司正在推出专门的产品来帮助保持相机镜头的清晰。这包括微型雨刷器等创新技术,采用某种加热技术,去除相机上的水珠。


不管你为了保持镜头清晰做了什么,相机还是有可能会因为下雨受到影响。正因为如此,人工智能需要处理那些部分不清晰或出现其他、问题的图像。此外,人工智能可能还需要在雨中更多地依靠其他感官设备,而不太可能只使用摄像头。神经网络被训练并用于处理图像,它也被训练来处理与降雨相关的图像(一些数据集没有降雨相关的图像,因此神经网络无法在这些图像中寻找特征),这一点非常重要。


激光雷达(LIDAR)是一种类似雷达的激光,它通常是大多数自动驾驶汽车上的一个关键传感器件。关于降雨对激光雷达的影响,有很多研究。一方面,你可能会认为发射激光的东西会在雨中遇到困难。雨滴是很小的,但可以非常有效的反射,因此可能会造成错误的读数。

研究表明,有很多方法可以解决这个问题。


例如,从统计上看,雨滴不应该在同一点上存在很长时间,因为它在下落,因此如果激光雷达发现了一些出现并很快消失的东西,那么在这种情况下,它就能识别出那是雨滴。


同时,雨滴倾向于将信号转移到地面上,因此通过观察地平面,我们就能知道雨对信号的作用。总的来说,研究似乎表明,随着降雨的增加,激光雷达的强度会降低。无论如何,在下雨的时候,肯定有一些问题需要解决,而激光雷达的进一步发展将需要提高其在雨中的性能(包括确保发射极表面不会被水滴所遮挡)。


摄像头 (大家可以想想平时是怎么吹干头发的)


-调整像头角度,尽量让雨滴自动下滑。

- 向镜头吹风,赶走雨滴。

- 迅速旋转镜头,甩掉雨滴。

- 雨刷、清洗一条龙。不但擦干雨滴,也可以保持摄像头清洁。


沾满鸟粪的传感器


保持在路中间或最高处行驶


在下雨的时候,人工智能会试图将自动驾驶汽车保持在道路的最高处或中间的位置。这是由于大部分的道路都是被设计成有一定弧度的,这能够使得水更容易从道路上流走。你经常在路边看到很多深水,部分原因是水会随重力流到这个位置。如果可行的话,人工智能会试图让自动驾驶汽车远离路边。但这并不是一个硬性规定,因为在多数情形下,路的一边是更安全的选择,因此这是依情况而定的。


雨中驾驶模式


在雨中驾驶时,如果可行的话,人工智能会试图比正常情况下慢一些。一般的经验法则是速度应该在正常速度的基础上减少大约三分之一,比如如果在路上的正常速度是每小时55英里,那么在下雨时以每小时40英里的速度为目标会比较安全。同样地,汽车之间的距离应该比正常情况下增大,允许至少三分之一的额外距离或反应时间。人工智能还需要确保汽车前灯的开启,这不仅能协助自动驾驶汽车传感器的工作,还能提醒其他司机和行人注意无人驾驶汽车的存在。


针对雨天的准备措施


当有人想要让自动驾驶汽车在雨中行驶时,人工智能需要确定自动驾驶汽车是否已经做好与雨天相关的驾驶准备。确定汽车是否准备就绪的方式之一就是检测轮胎压力。对于未来的汽车来说,将会有一种方法来检测轮胎的胎面数量(在雨中,一个裸露的胎面会很糟糕)。人工智能还可以通过传感器的诊断来确定它们是否在工作,还可以观察它们是否被雨遮挡住了。顺便说一句,你可能会发现,现在有一些公司正在制造特殊的雨刷,或者用其他方法,试图让自动驾驶汽车上的传感器不受雨、灰尘、泥土、雪等的影响。


在特殊天气条件下,自动驾驶汽车的人工智能需要仔细考虑自动驾驶汽车的行驶路线。由于下雨,通常会有其他的路线能够避免进入被淹的地区。因此,正常的最小距离或最快的路线可能不再可行。我曾多次遇到这种情况,在雨天,我按照正常的路线走,却发现这条低低的路似乎马上就被水淹了,我不得不回头去寻找另一条路,所有这些都比我从另一种方式出发的路要长得多。


车辆控制


人工智能需要意识到并能够使用汽车上的其他自动化,例如牵引力控制系统,防滑功能,以及防抱死制动系统(ABS)。这些功能在所有汽车上都有配备,包括自动驾驶汽车。这些功能被人类司机使用,同样地,人工智能也需要知道如何驾驶汽车并使用这些功能。一些人认为这些功能将会嵌入人工智能中,但现在还不太可能出现这种情况。相反,这些功能还是会像传统汽车那样,而驱动汽车的是人工智能,因此它可以决定是否需要在驾驶任务中使用这些功能。


其他汽车中的人类司机


我们不要忘记,自动驾驶汽车将会和人类驾驶的汽车一样在同一个地方行驶。我知道有些人相信乌托邦,即世界上只有自动驾驶汽车,但这在很长一段时间内都是不可能实现的。所以,人工智能需要意识到,道路上的其他车辆在某些情况下是由其他人工智能驱动的,而在某些情况下是由人工驾驶的。人工智能需要警惕那些超速行驶或过慢行驶的司机,以及司机突然转向避开水坑,以及在雨中驾驶时做最疯狂的事情的司机。


实地驾驶


降雨时,自动驾驶汽车的人工智能将试图避免被其他车辆所影响。换句话说,在高速公路上,在自动驾驶汽车的前、后、左、右,以及周围,都有很多车辆,这意味着人工智能在雨中几乎没有选择的余地。它需要尽可能多的保留选择权,这需要一些非常好的驾驶技巧。在雨中变换车道会更加困难,需要更仔细的行动。此时不建议在卡车后面行驶,因为卡车会从道路上带起大量的积水。这些都是人工智能在雨中驾驶时需要具备的能力。


与乘坐者的互动


人工智能还需要与自动驾驶汽车的使用者进行互动。坐在汽车里的人可能想知道自动驾驶汽车是如何驾驶的。他们可能想要了解,如果在正常情况下到达目的地的方法是向右的,人工智能汽车为什么要向左行驶?而且,如果人工智能确定驾驶情况极其危险,它应该与乘客互动,让他们知道,并可能提供一些选项,比如安全下车并找到一个地方停车,等待大雨停下来。


结论


正如你所看到的,自动驾驶汽车在雨中驾驶所需要的技能和人工智能有很大的关系。这并不容易,这也为什么许多自动驾驶汽车目前还无法在雨中行驶。少数能够在雨中行驶的自动驾驶汽车,在雨天会受很多限制。例如,如果遇到已经持续了一段时间的倾盆大雨,道路会被水淹没,这将超过人工智能所能处理的范围。


自动驾驶汽车的核心部件的所有方面都会受到雨水的影响,包括:


·传感器——传感器可能无法工作,或者在雨中得到不同的观测结果。


·传感器融合——在下雨时可能需要更依赖其中一些传感器。


·虚拟世界模型——由于下雨,可能很难保持外界模型的完整形状。


·行动计划——可能需要调整行动计划,超出正常行驶的范围。


·驾驶控制——可能需要用不同的方式使用油门,刹车和转向。


·战术AI——必须意识到雨况并了解与降雨相关的驾驶模式。


·战略AI——必须了解下雨时汽车的整体使用情况。


·自我意识AI——一定要知道在下雨的时候汽车能做什么。


那些新手驾驶员,比如一个在雨中开车的少年,你可以看到他们是多么的害怕。理由很充分,在雨中开车和在不下雨的干燥环境中开车是不一样的。这对于自动驾驶汽车来说是一项艰巨的任务,但这是一项“必须”的任务,因为自动驾驶汽车如果不能在雨天行驶,就不会被认为是成功的。没有人想要一款像猫一样怕雨的无人驾驶汽车——当外面下雨的时候,自动驾驶汽车拒绝离开车库。


想攻克雨中驾驶,就需要在雨中测试。


在大部分城市,下雨的时候毕竟是少数。这给收集数据带来了挑战。一些公司会特意挑选降雨比较多的地区去测试,谷歌也在自己的测试场里仿造人工降雨。


理想的降雨量是“中度”,也就是每小时0.26-0.76厘米的降雨量,并且每6分钟集中降雨不得超过0.076厘米。大雨显然不利于测试,小雨也没有太大测试价值。


推荐阅读

▎本文转自自动驾驶说和网易智能,如需转载请注明来源。

请猛戳右边二维码





公众号ID

IV_Technology

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存