我是靠谱客的博主 可耐饼干,最近开发中收集的这篇文章主要介绍自动驾驶领域有哪些 CornerCase 及解决方法?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

链接:https://www.zhihu.com/question/531615577

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

5ef58696cdc27fde2b6861f091ef73ae.png

自动驾驶在算法、论文、数据、软件、硬件、方法论、工具链这些领域的开放信息非常多,但是纯自动驾驶CornerCase基本上是各家厂商独立积累、开发并解决,这些也是消费级高阶自动驾驶大规模量产和广泛落地的一个主要制约因素,还没统一的平台来系统性地管理、共享、讨论自动驾驶的CornerCase及解决方法。自动驾驶在算法、论文、数据、软件、硬件、方法论、工具链这些领域的开放信息非常多,但是纯自动驾驶CornerCase基本上是各家厂商独立积累、开发并解决,这些也是消费级高阶自动驾驶大规模量产和广泛落地的一个主要制约因素,还没统一的平台来系统性地管理、共享、讨论自动驾驶的CornerCase及解决方法。

5678f7e0fe4e448c40eb434598a62547.png

作者:绣花小浣熊

https://www.zhihu.com/question/531615577/answer/2481704173

实际路测看多了issue就会看到各种你想象不到的东西:

10m/s奔驰在马路中央的树(一辆运树车违规装载,树丛把整个车身都挡住了直到地面)

会漂移的水泥墩(路政车用一根铁链子在拖行路上的水泥墩,刚好转弯减速铁链贴着地面检测不出来)

美国的路上有鹿,跑得比车还快。国内有猫,专挑你车路过时候从各种阴暗角落跳你面前。

横穿马路的老大爷在路边花坛上不去,就在边缘来回跳跃。

运车的车,上面的车车头还各不相同(法规规定一定要摆的朝向运货车头,实际嘛。)

路中央直接开车门下来骂街的大哥。

看到你是自动驾驶车,故意别你想蹭修理的祖安人士。

解决方法嘛,90%的代码都用来处理这些了,只能靠规则,恐怕不止上万个if。

作者:agent
https://www.zhihu.com/question/531615577/answer/2477808325

arxiv上前段时间放了一篇论文,华为诺亚方舟实验室发表的、关于自动驾驶中目标检测的corner case的数据集。主要目的就是为了应对没有出现类别或出现比较少的目标实例,例如下图所示的在道路上所存在的失控的轮胎、出事故侧翻的卡车等:

<img src="https://file2.kaopuke.com:8081/files_image/20230308/4001967345.jpg; data-caption="" data-size="normal" data-rawwidth="1378" data-rawheight="552" data-default-watermark-src="https://file2.kaopuke.com:8081/files_image/20230308/4001706826.jpg; class="origin_image zh-lightbox-thumb" width="1378" data-original="https://file2.kaopuke.com:8081/files_image/20230308/4001118337.jpg; 8a6aa506213e071de79acc15d267a308.png

paper:

CODA: A Real-World Road Corner Case Dataset for Object Detection in Autonomous Driving

website:

CODA coda-dataset.github.io/

CODA数据集主要是从3个目标检测数据集中提取构建的,包括KITTI、nuScenes、ONCE。从这些公开数据集中选取了1500个场景图片,包含约6000个目标级别的corner case,如下图所示为论文中展示的corner case样例:

<img src="https://file2.kaopuke.com:8081/files_image/20230308/4001924849.jpg; data-caption="" data-size="normal" data-rawwidth="1799" data-rawheight="867" data-default-watermark-src="https://file2.kaopuke.com:8081/files_image/20230308/40011845710.jpg; class="origin_image zh-lightbox-thumb" width="1799" data-original="https://file2.kaopuke.com:8081/files_image/20230308/40012049411.jpg; 6dba3d946aae3e4dcf2a686f88e4efeb.png

论文中还提供了一套构建corner case数据集的方案,分为两部分:(1)自动生成corner case候选样例——COPG;(2)手动筛选并标注。其中COPG流程如下:

<img src="https://file2.kaopuke.com:8081/files_image/20230308/40018285413.jpg; data-caption="" data-size="normal" data-rawwidth="1063" data-rawheight="605" data-default-watermark-src="https://file2.kaopuke.com:8081/files_image/20230308/40012163214.jpg; class="origin_image zh-lightbox-thumb" width="1063" data-original="https://file2.kaopuke.com:8081/files_image/20230308/40019025015.jpg; 3e023bfb41ff1bf5199bd07acc8fe158.png

论文还对比测试了当前一些表现SOTA的目标检测器在CODA数据集和常规数据集上的表现,测试发现所有检测器在CODA上都有30%~50%的性能下降。

<img src="https://file2.kaopuke.com:8081/files_image/20230308/40012529817.jpg; data-caption="" data-size="normal" data-rawwidth="1054" data-rawheight="590" data-default-watermark-src="https://file2.kaopuke.com:8081/files_image/20230308/40017512418.jpg; class="origin_image zh-lightbox-thumb" width="1054" data-original="https://file2.kaopuke.com:8081/files_image/20230308/40016125019.jpg; 9213632eeb78312852a3bad68e484e45.png

另外,在论文的相关工作中,也提到了一些corner case数据集的工作,也可以参考一下。

<img src="https://file2.kaopuke.com:8081/files_image/20230308/40016087721.jpg; data-caption="" data-size="normal" data-rawwidth="1060" data-rawheight="406" data-default-watermark-src="https://file2.kaopuke.com:8081/files_image/20230308/40018074822.jpg; class="origin_image zh-lightbox-thumb" width="1060" data-original="https://file2.kaopuke.com:8081/files_image/20230308/40012857423.jpg; 882b56d7b2670b70afb18e429518ca9d.png

作者:茶色
https://www.zhihu.com/question/531615577/answer/2477592006

谢邀,看了很多大佬们的回答,我觉得都非常的正确,但是如果对于一个非技术的人来看并不是非常容易理解,

所以我这个回答主要针对于对自动驾驶有兴趣,但是是非技术人员!
首先Corner Case指什么,在自动驾驶中,主要指边界情况,而这里的边界情况也就是指一些在日常驾驶种难以遇到的情况
(这一段可以在看完后回头再看,可以有助于理解)
在理解Corner Case之前,我们再提一出一个长尾效应:从人们需求的角度来看,大多数的需求会集中在头部,而这部分我们可以称之为流行,而分布在尾部的需求是个性化的,零散的小量的需求。而这部分差异化的、少量的需求会在需求曲线上面形成一条长长的“尾巴”,而所谓长尾效应就在于它的数量上,将所有非流行的市场累加起来就会形成一个比流行市场还大的市场。

在自动驾驶中,举一个简答的例子,就是目前自动驾驶能够解决日常且普通驾驶问题,但是对于一些少见的问题,例如鬼探头怎么去解决,鬼探头的案例相信有一定驾龄的司机都遇见过,但是绝对不是每天都会遇见,但是,我们遇到的鬼探头的方式都一样吗?
比如,鬼探头的方式:左边、右边、正面、超速。鬼探头的客体:大人、小孩、骑行、滑板。鬼探头的情景:雨天、傍晚、大雾。

你会发现,仅仅是一个鬼探头就有无数种可能性,这就是为什么通过工程化的数据输入与输出去抉择无法解决这个问题,而是通过数据迭代的深度学习方式成为了目前自动驾驶的主流。

而根据长尾效应,你也会发现,这个不常见的Corner Case及时少见,但是通过无数种可能的变化最终累计的数量可能比正常行驶所需的数据多得多。

回到题主的问题,Corner Case本身就是一个很抽象的理解,它会包含很多的场景,甚至可以用无数种来说,而解决方法就目前来看,就是数据迭代。

作者:质海无涯
https://www.zhihu.com/question/531615577/answer/2485805066

NIO撞车事件的极端场景:

1.道路救援车辆在前方爆闪时,人眼的识别都会受限,车端摄像头功能完全尚失。

2.道路救援时摆在前方的路障,因是静态障碍物,识别受限,没有正常回波。

3.下雨的时候雨雾导致的摄像头遮挡,会使系统受限。

以上几个场景行业技术水平受限,没有好的解决方案。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

680de71f34483f6d0a3c5361eb43c04b.png

最后

以上就是可耐饼干为你收集整理的自动驾驶领域有哪些 CornerCase 及解决方法?的全部内容,希望文章能够帮你解决自动驾驶领域有哪些 CornerCase 及解决方法?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部