首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UX框架下的ICW智能驾驶算法,看用户体验如何颠覆人工智能!

在汽车行业,“用户体验”这个词也算出现了一段时间。然而,在绝大部分工程师眼里,“用户体验”不过是找用户填填调查问卷、设计车载显示屏这种“半辅助性”的工作,跟核心的人工智能算法完全搭不上边。

但是,作为UX设计师,我认为,“用户体验”不仅与人工智能算法有关,而且是人工智能的灵魂——没有考虑用户体验的AI根本谈不上真正的“智能”。

下面我就用UX的思维框架来讨论智能驾驶的一个场景应用——交叉路口碰撞预警,进而展示用户体验在人工智能应用设计中的核心作用。

提示:我选的这个应用较为简单,且我不会在技术上过于深入,因此即便你没有人工智能相关的经验,应该也是能看懂个大概,请放心食用。

什么是交叉路口碰撞预警

交叉路口碰撞预警(Intersection Collision Warning,ICW)说得简单一点,就是当你开车快到十字路口,如果路口左右开过来的车和你有碰撞危险,你的车就会报警提示这个风险。

说白了,ICW就是你的车能自动帮你识别路口的危险——怎么样,是不是觉得还挺高大上?现在“是什么”的问题解决了,让我们看看它是怎么实现的。

目前常见的ICW算法

ICW首先有个前提:两车都是网联汽车,也就是都能连接到互联网并且能交换信息——这样你才能知道另一辆车的具体状况。

现在常见的算法大概有这么几个步骤:

1. 筛选出你前方十字路口两侧一定范围内的车辆作为监测对象;

2. 确定两侧开过来车辆的位置和速度等信息;

3. 根据这些信息做一些计算,比如这些车开到路口需要多少时间等等;

4. 根据计算的结果判断你和这些车相撞的风险大不大(比如你和另一辆车都要在15秒左右之后到路口,车速又较快,那么相撞的风险就很大);

4. 如果有风险,则你的车会报警(比如指示灯闪烁、方向盘震动等)。

简单来说,就是根据你俩的情况判断你俩在路口能不能撞上,能撞上就报警。

听起来还不错?是的,从算法逻辑上来说没什么问题。在很多工程师眼里,实现ICW功能并不难——毕竟只要上面的这几个步骤和一些简单的计算就够了。

然而,如果将这种算法应用到现实中,效果也许并不理想——甚至可能反而会导致更严重的交通事故!这可能和你的直觉相悖,别急,下面我们来好好讨论一下。

传统ICW算法中的错误假设

前述的算法有什么问题吗?是的,它忽略了一个极为重要的因素——人,即坐在车里的驾驶员。任何事情,只要有“人”的因素掺和其中,复杂性都会陡增。

工程师在设计此类智能驾驶算法的时候,会形成一个假设——即假设驾驶员在看到警报时候会减速以规避碰撞。然而,不同的人对警报的反应并不都是相同的。也就是说,并不是每个人在看到警报后都会减速。

让我们来看两个现实中的例子

第一个例子是关于驾驶的。当我们开车接近有红绿灯的十字路口时,倒计时或黄灯提示我们——马上变红灯,你应该减速了。这时,尽管有些人知道继续穿过十字路口碰撞风险很高,但他们依旧会选择加大油门冲过路口。

如果说这个例子是“鲁莽行事”,那接下来的例子则相当文明。

想象一下,当你走路时,前方左侧或右侧走过来一个人,如果保持当前速度,你们一定会撞上,那么你会怎么做呢?

如果你仔细回忆你平时的行为,你可能会发现,你经常会选择“快走两步”来避免撞人。很少有人会因为看到侧面走来一个人而停下,然后耐心等待另一个人走过去再继续前进。毕竟相比停下,“快走两步”也是一种规避风险的策略,而且效率往往更高。

如此,你应该明白,“看到警报—减速”这组对应关系是不存在的。面对可能的碰撞风险,保守的驾驶员会减速,而激进的驾驶员可能反而会加速,同时,也会有人无动于衷。

毁灭性的后果

在这个场景中,工程师通常会把关注点放在你的车上(现在开始我叫它““主车”),而忘记了一个重要的事实——另一辆车(我叫它“远车”,就是远处开来车)也是智能汽车。换句话说,如果主车报警了,那么远车当然也会报警——它的驾驶员也会对警报产生反应!

像我们刚刚讨论的,驾驶员对警报的反应可能截然不同。那么,当远车驾驶员选择加速时,情况会怎样呢?

按照前述的算法,当远车驾驶员加速时,若主车驾驶员减速或保持原速,那么警报就会解除。然而,当主车驾驶员也选择加速时,由于算法中对时间的判断通常是基于一个范围(比如两车到达路口的时间差小于1秒),若两车加速的量级相当(如都加速20%左右),则两车将依然被判定为可能相撞,进而继续报警。

如此问题就来了——主车驾驶员并不知道远车在加速!此时,作为一名激进的驾驶员,他很可能认为是自己的速度不够快,进而选择继续加速。当两车都选择继续加速时,后果将是灾难性的!

在这个案例中,问题在于,我们只向用户反馈了对方的“状态”(有相撞风险),而没有反馈对方的“反应”或“变化”(加速)。

这种情况很少见吗?想象一下两个骑自行车的人在狭窄的路上相遇,两个人都希望规避碰撞,但由于不知道对方的想法,结果都向同一侧调整方向,经过几次“默契的配合”,最终撞在了一起。在现实中,这种情况并不罕见——也许你自己就亲身经历过。

在没有ICW功能时,人们到十字路口前往往会降低车速、提高警惕、左右张望。但拥有ICW功能后,由于人们获得了“预知”车辆的能力,他们的精神将更加松懈,也更少地依靠自己的视野来观察其他车辆。

如此一来,对另一辆车状态的“自信”鼓励了激进的驾驶员,进而产生更多的加速行为——其后果很可能比没有ICW功能时严重得多。

而另一方面,即便两辆车都减速了,问题依然存在。

假如两车驾驶员看到警报后都踩了刹车,但减速的量级大致相当——与加速时同理,两车将依然被判定为可能相撞,进而继续报警——这将迫使驾驶员进一步采取减速措施。最糟糕的情况是,两驾驶员“配合默契”(就像前边自行车的例子),两车不断减速,最终不得不停下。

减速后警报依然存在,这对于用户来说是一件很崩溃的事情——他们采取了措施,但并没有让风险消失。他们会变得沮丧、焦虑,甚至做出一些极端行为,比如猛踩刹车。如此一来,整个交通系统的效率会大大降低,同时追尾等交通事故的发生率也可能因此增加。

当我们考虑了“同时加速”和“同时减速”两种情况后,便可以看到,本来预期会让出行更安全的ICW功能很可能无法达到目的,甚至反而会增加事故发生的概率和严重度。

UX框架下的ICW算法

前述算法的根本问题在于,它将“报警”作为算法的目的(发现风险报警了,任务就完成了),而没有考虑“报警”这个事件对驾驶员的一系列影响。

要解决这个问题,必须将用户作为核心要素包含进AI算法的设计之中。正如我之前提到的,在当前算法下驾驶员只知道远车的“状态”,而不知道其“反应”。

因此,一种比较简单的解决方案是(与前述算法重复的部分已省略):

1. 在判断碰撞可能性的同时,监控两车的速度变化;

2. 若两车收到警报后同时加速,则将此信息反馈给驾驶员(如通过语音 “右侧车辆已加速,有碰撞风险,请减速!”);

3. 若两车收到警报后同时减速,则同样将信息反馈给驾驶员(如“左侧车辆正在减速”)。

简而言之,在两车采取行动却仍有碰撞风险时,将远车的行动反馈给主车驾驶员,来帮助其进行下一步决策。

当然,作为一种人工智能算法,我依然觉得这样太low了——为什么还需要人来决策呢?为什么不一开始就帮两位驾驶员将操作规划好呢?

一个更好的ICW算法可能是这样的:

1. 判断两车相撞的可能性;

2. 若有相撞可能,先向其中一辆车(如远车)发出警报,并监测其驾驶员的反应;

3. 若远车驾驶员立即采取加速或减速策略,使风险消除,则解除远车警报;若远车驾驶员未做任何操作,则一段延迟(如2秒)后向主车也发出警报;

4. 若主车驾驶员采取行动使风险消除,则解除两车警报;

5. 若两车同时报警后,同时采取相同的行动(加速或减速)导致风险依然存在,则向两车驾驶员反馈另一辆车的状况(如“远车也在加速”)并对两车提出有效的建议(如让主车减速,同时让远车保持)。

简单来说,就是先只告诉其中一辆车,若其调整则到此为止,若不得已通知了两辆车,则在两车同时加速或减速的时候分别给两车提供不同的策略,以防止两车相撞。

如此一来,之前提到的灾难性后果便可能有效避免。除此之外,由于开始只通知一辆车,这种算法还大大减少了报警的频率。这在UX框架下非常重要,因为有这样一条原则——一直报警等于没有报警(关于这个问题我会在以后的文章里专门讨论)。

结束了吗?

现在我们有了一个基于UX框架的AI算法,这样问题就解决了吗?远远没有!

首先,这种设计是否真的能有效指导用户我们仍然是不确定的——这需要使用科学的方法去研究和测量(这个话题很大,以后我们慢慢讨论)。有一点很重要:技术可以“假设”,但人不行。即便是我刚才基于UX理念提出的算法,除非经过检验,否则也可能会导致失败。

另外,从UX的视角来看,这个问题还有太多的细节没有解决。比如我们该如何划分危险等级?如何将风险有效地告知用户?预警会扰乱用户的正常驾驶进而产生其他风险吗?在这些问题被解决之前,算法终究难以应用于现实生活。

小结

可以看到,仅仅是一个“简单”的ICW算法,想将其应用于实际也需要大量的研究、讨论、设计和验证。可以预料到,最终的算法应该会非常复杂,因为人本就是一种复杂的动物。

当考虑到人的因素,情况瞬间就复杂了——车与车之间的冲突变成了人与人之间的博弈——而这正是用户体验设计希望也能够解决的问题。

如今,很多打着“人工智能”旗号的汽车技术公司都宣称“可以实现各种智能驾驶功能”。但正如你看到的,无论是不考虑人的算法还是UX框架下的算法,都可以叫做“实现功能”,但其背后投入的工作量和算法的质量却天差地别。功能只是躯体,用户体验才是灵魂,一个空有躯壳的算法如何能称之为“拥有智能”?

我在之前一篇关于HMI的文章中说过,功能的实现只是用户体验设计的开始,而用户体验设计才是决定产品优劣的关键(链接:汉莎航空HMI分析 | 优秀的HMI是怎样炼成的?)。这在AI算法上同样适用。

为什么这些没有考虑“人”的算法能被接受呢?因为当前,智能驾驶还没有投入到实际使用。

当智能驾驶的时代真正到来,这些算法也就高下立见了。

(本文为原创文章,欢迎分享,转载请与作者联系,谢谢!)

阅读后有何感想,欢迎留言讨论~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G1R7Y100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券