人类驾驶员的感知与感知系统的区别与联系。
小感知与大感知的关系。在这个领域里软件开发也要适配硬件,所以软件硬件都要了解才能做得更好。
①激光雷达(Lidar):激光头发射,打到障碍物以后返回,接收器接受到的时间乘以光速除以2。
优点:自带光源,昼夜都能使用,而且测距很准,厘米级精度。
缺点:多线激光雷达还是很稀疏,测距可以但是识别困难。激光雷达是主动式有功率限制,所以有感知距离限制:64线在六十到七十米。
②相机(Camera):
缺点:相机是被动式,受光照条件影响大。
优点:稠密感知可以做识别,感知距离远,测距没有Lidar精确。
③毫米波雷达(Radar):发射毫米波(主动式感知)
优点:测距和测速很准
缺点:噪点非常多,金属反射强度大,但对非金属材质的召回比较低。稀疏识别,无法做识别。
④超声波传感器(Ultrosonic):
倒车停车用的多,感知距离十分有限且粗糙,只能感知一个3米左右(金属3米,人1到2米)的扇形距离。
⑤高精地图:
优点:可以无差错地精细感知,减轻线上感知依赖。
缺点:增加了对高精度地图和高精度定位的依赖。
传感器的安装位置。
传感器的参数标定,即是说获取传感器之间的相对位置,每种的标度方式都有差异,不存在一套方法解决所有标定的设定。
标定场景:标定间标定(标定方便,对算法依赖性不强)、在自然场景标定(对算法依赖性强)。在场景 标定中,需要找到一些边缘(比如交通标志牌),边缘作为点云和图像对齐的指标,从而对齐两个传感器(Sensor)。
两种感知算法:启发式方法和Deep Learning方法。Deep Learning方法:围绕着一个圆柱面,将点云投影到圆柱面上形成矩阵,设置一些特征(Feature),进行深度学习训练。有时候数据量不够会导致模型效果不好,这是在实验室的常见问题。确定问题后,搜集大量数据,把市面上的主流方法搜集组合后做精密实验,然后得出结果。
目前视觉感知的常见技术路线是:深度学习+后处理计算,也就是模型高层语义加上一些低层几何方面的计算。
该计算路线带来的变化:
①汽车计算硬件迫切升级
②海量的数据需求
③如何评估模型的安全
CNN检测:
computer vision里的检测(Deteciton)和Autonomous Driving里的Detection还是有不同的:
①所有视觉感知的相机都是夹在车上,第一视角。所以自动驾驶的感知具有更多的几何关系约束。
②AD里的Detection Model的任务更多,除了输出常规的Detection结果,还需要持续输出3D信息,障碍物的尺寸、朝向。
CNN分割:
监测和分割:粗细粒度的刻画,方法趋同。
场景分割:适合多传感器融合。
可行驶区域:障碍物的互补问题、非结构化道路和结构化道路:可行驶区域是一个和道路相关的时变信息。在常规道路上有车道线检测等,不会过多考虑,但在空旷区域需要规划可行驶区域。
车道线:分割与检测。首先将图像做binary的segmentation。车道中有mark的部分作为正样本,其他部分作为background,得到一个binary的mask,mask的正1部分全是车道有mark的部分。然后做后处理,把mask的边缘提取出来。从而知道了那些mask点是车道线,再做一个曲线拟合,得到车道线方程。把车道线方程交给pnc,同时要把车道线投到3D里去。
深度学习后还需要后处理:
①2D到3D的几何变换:相机pose的影响、接地点、2D框、绝对尺寸、有多条路径回3D、稳定性至关重要
②时序信息的计算:Tracking:对相机帧率、延时有要求,所以算法必须轻量化,不能复杂而耗时
③多相机环视融合:环视布局非常影响融合策略,所以要把视野重叠做好。
三者密不可分,团队成员要互相沟通。
红绿灯检测的难点
红绿灯检测的技术路径
无人驾驶的测试是一个open set问题:两种思路是:要么将模型的泛化能力做得足够好,要么在场景限制的足够好,把偶然事件减到最低。
不能仅仅是深度学习算法,还要融合模型和其他启发式算法的结果。
感知的未来
课后思考
apollo平台具有得天独厚的全栈学习环境,无人驾驶往往是要从全栈地系统进行考虑,单一模块联系少往往会有安全隐患。日积月累一天看一点会有一个质变。