0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow Lite 构建的无人驾驶微型汽车

工程师 来源:TsinghuaJoking 作者:TsinghuaJoking 2020-10-19 11:27 次阅读

今天在 Tensorflow公号看到推文Pixelopolis:由 TensorFlow Lite 构建无人驾驶微型汽车 ,作者介绍了他们在今年Google I/O大会上展示的TensorFlot Lite构建的无人驾驶微型汽车的展品:Pixcelopolis。

▲ TensorFlow Lite构建的无人驾驶微型车

每辆微型汽车都装配有一部 Pixel 手机,使用手机上的摄像头检测和理解周围的信号。手机使用了 Pixel Neural Core 边缘计算芯片( Edge TPU 支持的机器学习),可感应车道、避免碰撞和读取交通标志。

相比于基于云计算来实现视频处理和物体检测,边缘计算可以减少延迟对控制的影响(也许在5G下延迟影响小一点)。

▲ 通过手机识别各种目标的Pixelpolis

下图是整个展品的布局,模仿了一个小型城镇广场周围的交通环境。参观者可以通过手机端的一个应用模拟“站点”来选择出现的目的地。展品中的微型车就可以驾驶到目的地,整个过程用户可以查看车辆周围以及所检测到的物体。

▲ 演示区的道路设计

车模所有对外界的感知都来自于微型车膜前面的手机摄像头,有它获取前方的图片并手机内部署的神经网络完成车道保持、停车定位、障碍检测等。通过手机底部的USB-C接口扩展来与底层控制板通讯,完成电机控制等。

▲ 手机应用程序与Pixelopolis交互

▲ 手机端可以查看车辆周围所检测到的物品

展品作者采取了与 论文:End-to-end Learning for Self-Driving Cars中相类似的技术录像,使用卷积神经网络(CNN)来检测每帧图像内的交通指示线,并给出方向盘的调整量。增加了LSTM利用前期拍摄的多个图像帧进行改进。

▲ CNN 模型的输入和输出

控制器的模型很简单,下面代码就给出了网络的结构构成。

net_in = Input(shape = (80, 120, 3))x = Lambda(lambda x: x/127.5 - 1.0)(net_in)x = Conv2D(24, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x) x = Conv2D(36, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x)x = Conv2D(48, (5, 5), strides=(2, 2),padding=“same”, activation=‘elu’)(x)x = Conv2D(64, (3, 3), padding=“same”,activation=‘elu’)(x) x = Conv2D(64, (3, 3), padding=“same”,activation=‘elu’)(x)x = Dropout(0.3)(x)x = Flatten()(x)x = Dense(100, activation=‘elu’)(x)x = Dense(50, activation=‘elu’)(x)x = Dense(10, activation=‘elu’)(x) net_out = Dense(1, name=‘net_out’)(x)model = Model(inputs=net_in, outputs=net_out)

一个神经网络是否能够达到很好的性能,关键在于如何准备好让它学习的训练样本。为此。作者使用Unity, Udacity来构建了模拟器,自动生成训练车辆的图像数据。

通过在轨道上设置多个路径点, 微型汽车 可以行驶到不同的地点,并从中收集数据。在此模拟器中,我们每 50 毫秒收集一次图像数据和转角数据。

▲ 模拟器中的轨道中上设有多个路径点

大家都知道,软件虚拟出的场景图片和实际拍摄到的图片会有很大的差别,包括光线、周围环境以及其他的噪声。为了使得训练的神经网络能够适应实际要求,需要对数据进行增强。

他们将以下变量添加到场景中:随机的 HDRI 球体(具有不同的旋转模式和曝光值)、随机的环境亮度和颜色以及随机出现的车辆。

▲ 各种环境下的数据增强

下图给出了经过训练之后,卷积神经网络的第一层对于输入图片的输出。可以看出,它已经能够很好地将图片中道路信息边缘信息能够很好的提取,对于背景可以进行有效的压制。

▲ 第一层神经网络的输出

使用神经网络进行控制的一个最大的问题,就是车模有时会出现莫名其妙的动作。比如下面这个场景,明明已经成功的拐过弯道,进入平坦顺直的道路,车模则抽风地冲出跑道了。

这主要是因为所训练的样本没有能够均匀包含各种道路情况,模型比较脆弱。

▲ 早期版本中玩具车偏离了轨道

为此,在场景中添加了各种形状的曲线,以丰富原来训练数据库中大多数的直线轨道数据。

▲ (左)方形轨道与(右)弯曲轨道

功夫不负有心人,修正数据集不均衡的问题后,车辆便开始能够在弯道处正确转向。

▲ 车辆在弯道可以成功转弯

似乎理性的增加数据可以提高车模的性能,但有时候仅仅采用小的技巧便可以解决大问题。比如当微型车模运行到展品边缘时,就会看到很多展台外面的场景。外面的场景多变,很难通过数据来表征这些变化。怎么办?

作者就用了一个字:切!

将输入图像的下面四分之一切出来,送入神经网络进行训练,就有效化解了上述的问题。

▲ 展品上的轨道,以及在展品边缘看到的图像

为了能够进行车辆定位以及检测其它干扰车辆,在手机Pixcel 4上的Neural Core Edge TPU上运行了 ssd_mobilenet_edgetpu 模型,这是来自 TensorFlow 目标检测模型库 。每帧检测时间仅用6.6毫秒,在实时应用中游刃有余。

为了是检测神经网络模型能够适应展品场景需要,作者同样使用了模拟器和真实场景中的数据来训练模型。为了提高检测鲁棒性,使用了 Unreal Engine 4 来随机生成物体和背景。使用 labelImg 工具进行对样本进行了手动标注。

▲ 进行目标识别的数据库

使用神经网络最大的工作量是在准备训练数据集合。之后的网络搭建和训练则非常容易,分分钟搞定。检查一下,网络识别交通标志的效果还是很不错的。

▲ 网络识别效果

最后一个工作,就是需要将网络部署到手机平台上。这需要借助于TensorFlow Lite 将模型进行个数转换,并在Android下编写相应的Python脚本来进行部署。

作者还设想着,通过视觉SLAM能够为他们的这个展品增加车辆全程定位。真的是一个手机平台可以练习很多算法

▲ 视觉SLAM定位

为了实现一个顶着手机运行的微型车膜,作者也是费力不断改进机械结构,经过了五代设计最终得到了一个合理的机械设计。可以将手机、控制板、电池、电机等集成在一个小巧乖致的微型车模中。

▲ 第一代设计

▲ 第二代设计

▲ 第三代射击

▲ 第四代设计

▲ 第五代设计

下面给出了嵌入在车体内部的控制板、电机、电池等配件。

▲ 底层运动控制单片机板

▲ (左)屏蔽罩和电机,(右)电源插座、电源开关、电机启动按钮、电机重置按钮、开发板状态 LED、电机状态 LED

▲ 3000mAh 锂离子电池(左)与 18650 锂离子电池(右)

的确,一辆小小的微型车模,包括了计算机视觉深度学习传感器融合、定位、路径规划、控制、系统集成等多个学科内容。通过这个环节几乎可以将一个专业所需要学习的多个课程集成在一起。这不,在Udacity平台上,还真的提供了无人驾驶汽车纳米学位项目 供希望获得全面培训的工程师和学生学习。

教育部自动化类高等教学委员会在清华召开了院长会议,其中李少远老师对今年大学生学科竞赛实践教学进行了总结。以在刚刚过去的暑期中,新冠疫情影响下,成功举办的全国大学生智能车竞赛为例,探索面向未来实践发展。希望智能车竞赛为工科学生的大学期间专业课程实践提供更好的锻炼平台。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 锂电池
    +关注

    关注

    256

    文章

    7636

    浏览量

    163257
  • 芯片
    +关注

    关注

    446

    文章

    47705

    浏览量

    408884
  • 网络
    +关注

    关注

    14

    文章

    7248

    浏览量

    87410
  • 无人驾驶
    +关注

    关注

    97

    文章

    3874

    浏览量

    118958
  • TensorFlow Lite
    +关注

    关注

    0

    文章

    27

    浏览量

    541
收藏 人收藏

    评论

    相关推荐

    用于自动驾驶,无人驾驶领域的IMU六轴陀螺仪传感器:M-G370

    用于自动驾驶,无人驾驶的IMU惯导模块六轴陀螺仪传感器:M-G370。自2020年,自动驾驶,无人驾驶已经迎来新突破,自动驾驶
    发表于 04-02 11:44 0次下载

    吉利汽车成功完成全球首个无人驾驶漂移!

    吉利汽车成功完成全球首个无人驾驶漂移!
    的头像 发表于 03-27 14:17 500次阅读
    吉利<b class='flag-5'>汽车</b>成功完成全球首个<b class='flag-5'>无人驾驶</b>漂移!

    32.768K晶振X1A000141000300适用于无人驾驶汽车电子设备

    科技的发展带动电子元器件的发展电子元器件-“晶振”为现代的科技带来了巨大的贡献,用小小的身体发挥着大大的能量。近两年无人驾驶汽车热度很高,不少汽车巨头都已入局。但这项技术的难度不小,相信在未来几年
    发表于 03-20 14:21 0次下载

    无人驾驶汽车,不听指挥,只看路灯?

    无人驾驶洞见分析
    电子发烧友网官方
    发布于 :2024年02月02日 18:04:30

    沉重一击!通用汽车暂停无人驾驶业务

    Cruise表示将花费时间检查流程、系统和工具,并思考如何优化运营方式以重建公众对其的信任。不过,Cruise将继续运行配备安全驾驶员的无人驾驶汽车,并在其他城市进行开发工作。
    的头像 发表于 10-30 16:21 775次阅读

    无人驾驶技术有哪些关键技术?

    无人驾驶汽车是一种智能汽车,也可以称之为轮式移动机器人,主要依靠车内的以计算机系统为主的智能驾驶仪来实现无人驾驶
    发表于 10-16 11:26 1005次阅读
    <b class='flag-5'>无人驾驶</b>技术有哪些关键技术?

    无人驾驶汽车的安全挑战及其影响

    无人驾驶汽车在实现自主驾驶的过程中面临。着许多安全挑战,如环境感知不准确、障碍物识别错误、路径规划不合理、系统故障等。这些安全问题可能导致无人驾驶
    发表于 10-16 11:21 244次阅读
    <b class='flag-5'>无人驾驶</b><b class='flag-5'>汽车</b>的安全挑战及其影响

    工业路由器助力无人驾驶方案解析

    随着无人驾驶技术的发展,越来越多的企业和组织开始部署无人驾驶车辆来提高运输效率和安全性。在这些方案中,工业路由器被广泛应用于建立稳定、安全和高效的通信网络。在本篇文章中,我们将分享一个真实的无人驾驶
    的头像 发表于 09-15 10:46 255次阅读

    无人驾驶汽车的路径规划与跟随控制算法案例

      无人驾驶汽车是集多种技术于一体的复杂系统,其中路径规划与跟随控制是 无人驾驶技术的重要组成部分。路径规划是汽车实现自动驾驶的基础,跟随控
    发表于 07-19 11:22 1次下载

    5G工业路由器赋能无人驾驶技术发展,车联网无线应用方案

    随着无人驾驶技术进入大众视野,5G技术已广泛应用在各行各业中,无人驾驶也成了汽车自动化发展的核心趋势。无人驾驶技术需要满足低时延、高效率、大带宽、稳定性等硬性要求,工业路由器IR273
    的头像 发表于 07-10 18:04 480次阅读
    5G工业路由器赋能<b class='flag-5'>无人驾驶</b>技术发展,车联网无线应用方案

    友道智途获全国首批无人驾驶路测牌照

    友道智途获全国首批无人驾驶路测牌照 上海临港发放了全国首批无驾驶人路测牌照,友道智途获全国首批无驾驶人路测牌照。友道智途作为首批被授予无驾驶人智能网联
    的头像 发表于 06-13 16:19 582次阅读

    如何使用pycoral、tensorflow-lite和edgetpu构建核心最小图像?

    如果您能告诉我们如何使用 pycoral、tensorflow-lite 和 edgetpu 构建核心最小图像,我们将不胜感激。
    发表于 06-05 10:53

    自动驾驶、自主驾驶无人驾驶有什么区别

    自动驾驶、自主驾驶无人驾驶有什么区别?应该如何理解?汽车行业嵌入式网络技术解决方案开发商ELIPT(EB)已达成与全球最大的汽车半导体供应
    发表于 06-02 16:38 0次下载
    自动<b class='flag-5'>驾驶</b>、自主<b class='flag-5'>驾驶</b>、<b class='flag-5'>无人驾驶</b>有什么区别

    如何使用meta-imx层中提供的tensorflow-lite编译图像?

    我们正在尝试使用 meta-imx 层中提供的 tensorflow-lite 编译图像。我们没有任何 自定义更改/bbappends (Highlight to read)sources
    发表于 05-29 06:55

    无人驾驶的定义 简述无人驾驶的工作原理 无人驾驶汽车的利与弊

    无人驾驶技术的核心是以感知处理与智能决策为主要的核心技术路线,采用高级感应技术、语言识别技术、机器视觉技术、圆点云技术等重要技术手段,构建智能感知与决策控制系统,以实现车辆感知、决策和行驶的自动化
    发表于 04-26 10:24 3770次阅读