自动驾驶说
如果和做无人车的朋友聊一聊就会发现,不管是谷歌的Waymo,优步,还是丰田,都无一例外的对一种人才求贤若渴:仿真工程师(simulation engineer)。小编搜集了现在招聘市场上对仿真工程师的基本要求。看起来很难,但小编会为大家解释仿真技术原理,并分享学习仿真技术的资源干货!
点击关注“自动驾驶说”微信公众号,了解更多小编在硅谷的工作心得。
各大公司的职位要求
* Nvidia 英伟达(老牌智能芯片公司):熟悉工业界各种仿真器以及各自的软件构架
* Drive.ai(吴恩达老婆的公司):3年仿真器或者3D游戏编写经验
* Toyota Research Institute丰田美国研究所:会使用OpenGL或Direct3D获得实时数据
* Uber优步:熟练运用C++11、C++14语言
为什么不直接上路测试,而要仿真驾驶?
一辆无人车必须保证在任何意外情况下,都比真人司机做出更好的判断,才算是安全,才会被允许上路。而想要得出这个结论,一辆无人车需要驾驶上亿英里,才能通过统计意义的考验(statistical significance),被证明为比真人可靠。美国兰德智库公司研究显示,如果想做到低于每一千万英里1.09的死亡率(95%的置信区间),需要测试行驶2千多万英里,耗时12.5年。如此漫长的测试时间,各大公司怎么耗得起?
秒懂仿真技术
利用模拟环境下驾驶产生的数据,我们就可以在短时间内达到需要的里程测试标准。我们用电脑仿造出各种特殊情况,比如恶劣天气,训练无人车应对这些情况,然后将训练好的数据模型运用于真实驾驶过程中。NVIDIA的自动驾驶论文中详细阐述了端到端深度学习的仿真原理,其主要过程如下:
1. 架构:设计深度卷积神经网络(CNN),包括标准化层,卷积层,全连接层,输入为道路影像图片,输出为方向盘控制角度。
2. 训练:仿真器根据之前准备好的由前置摄像头拍摄的道路影像,每一帧图片对应的人类司机操控方向盘的旋转角度作为真实参考值,用于校正CNN的输出角度,利用这些数据对CNN进行训练,使输出角度和真实角度的平均平方误差到达最小。
3. 数据处理:对于每一帧图片,随机移动、翻转、扭曲、遮挡、改变亮度等,并相应改变方向盘的真实角度,用于模拟汽车的不同位置和环境,以期达到正态分布的仿真情境。
4. 测试:训练好的CNN可以实时通过图像输出方向盘角度,可以直观的看出汽车在仿真器道路上的行驶状态。
现在动手,自己做一次仿真自动驾驶
Udacity(美国在线课程网站)刚刚在GitHub上开放仿真平台,里面提供各种仿真道路和路况。点击链接,按照步骤搭建,你也可以做出自己的仿真自动驾驶车!
点击关注“自动驾驶说”微信公众号,了解更多小编在硅谷的工作心得。