基于Keras的自动驾驶技术的车轮转向角度的可视化

This post is about understanding how a self driving deep learning network decides to steer the wheel.

NVIDIA published a very interesting paper(https://arxiv.org/pdf/1604.07316.pdf), that describes how a deep learning network can be trained to steer a wheel, given a 200x66 RGB image from the front of a car.
This repository(https://github.com/SullyChen/Nvidia-Autopilot-TensorFlow) shared
a Tensorflow implementation of the network described in the paper, and
(thankfully!) a dataset of image / steering angles collected from a
human driving a car.
The dataset is quite small, and there are much larger datasets available like in the udacity challenge.
However
it is great for quickly experimenting with these kind of networks, and
visualizing when the network is overfitting is also interesting.
I ported the code to Keras, trained a (very over-fitting) network based on the NVIDIA paper, and made visualizations.

I
think that if eventually this kind of a network will find use in a real
world self driving car, being able to debug it and understand its
output will be crucial.
Otherwise the first time the network decides
to make a very wrong turn, critics will say that this is just a black
box we don’t understand, and it should be replaced!

First attempt : Treating the network as a black box - occlusion maps


The
first thing we will try, won’t require any knowledge about the network,
and in fact we won’t peak inside the network, just look at the output.
We”l
create an occlusion map for a given image, where we take many windows
in the image, mask them out, run the network, and see how the regressed
angle changed.
If the angle changed a lot - that window contains information that was important for the network decision.
We then can assign each window a score based on how the angle changed!

We
need to take many windows, with different sizes - since we don’t know
in advance the sizes of important features in the image.

Now we can make nice effects like filtering the occlusion map, and displaying the focused area on top of a blurred image:

链接(需FQ):
http://jacobcv.blogspot.jp/2016/10/visualizations-for-regressing-wheel.html

代码链接:
https://github.com/jacobgil/keras-steering-angle-visualizations

原文链接:
http://weibo.com/5501429448/EeBRKc9pl?ref=collection&type=comment

时间: 2024-10-05 04:41:16

基于Keras的自动驾驶技术的车轮转向角度的可视化的相关文章

丰田研发部门建立区块链联盟,致力于自动驾驶技术

丰田研究所(TRI)提出了一个大胆的莱特币区块链战略. 昨日在2017共识大会上,丰田研究所公布了一系列合作伙伴关系,并发表了一份愿景,广泛概述了区块链技术可以如何推动这家汽车行业巨头的未来发展.而丰田研究所已经与麻省理工媒体实验室共同合作研究了区块链可以给汽车数据交换带来怎样的影响,甚至是如何为下一代自动驾驶车辆提供支持. 丰田研究所的合作伙伴包括巨链数据库(BigchainDB).Oaken Innovations.Commuterz以及Gem,每一个都正在与丰田汽车北美子公司合作研究探索这

宏旺半导体为自动驾驶技术带来全方位的存储解决方案

新冠肺炎疫情爆发后,不少地区都采用了无人机.智能机器人进行医疗协助和疫情防控,有效减少了人与人之间的接触,将疫情传播的可能性降到了最低.同时,在病情较为严重的地区,自动驾驶技术进行的无人配送成为了取代人力的好方式.在2019年进入寒冬的自动驾驶技术,随之又一次成为了人们关注的焦点. 随着在当今道路上开展的真实试验,自动驾驶汽车必须支持的功能在不断扩展,其复杂程度也在迅速增大.这些自动系统将对性能.功耗.安全性.安全保障和可靠性的要求不断提高,而这也需要更快.更可靠和性价比更高的存储芯片. 宏旺半

团队项目推荐:基于社交网络的自动音乐推荐系统——by ZhongXia

来到微软亚洲研究院不知不觉已近两个月,大家都在慢慢适应这紧凑的研究氛围,常听师兄提及的高级软件工程(ASE)也如期开始.上周课后我们完成了组队,而经过初步的调研与思考,我推荐“基于社交网络的自动音乐推荐系统”作为我们团队项目的题目. 音乐是我们生活中重要的一部分,工作中,我们可能需要轻音乐让自己静下心来保持专注:下班后,我们可能需要舒缓的音乐全方位的放松身心.开心时,我们乐于听到一些欢快的乐曲:悲伤时,我们可能需要一些悲伤之音宣泄自己:低潮时,我们想用激昂的声音振奋自己.可见,一个人所处的状态和

struts基于ognl的自动类型转换需要注意的地方

好吧,坎坷的过程我就不说了,直接上结论: 在struts2中使用基于ognl的自动类型转换时,Action中的对象属性必须同时添加get/set方法. 例如: 客户端表单: <s:form action="registPro"> <s:textfield name="user.id" label="id"/> <s:textfield name="user.name" label="用户

基于Jenkins的自动构建系统开发_android总结

持续集成相关理论 1.1 极限编程的概述 1.1.1 极限编程的产生 2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作.响应变化能力的价值观和原则,他们称自己为敏捷联盟.敏捷开发过程的方法很多,主要有:SCRUM,Crystal,特征驱动软件开发(Feature Driven Development,简称FDD),自适应软件开发(Adaptive Software Development,简称ASD),以及最重要的极限编程(

推荐一款超强大的基于Angularjs的自动完成(Autocomplete)标签及标签组插件–ngTagsInput

前言 今天利用中午午休时间,给大家分享推荐一款基于Angularjs的自动完成(Autocomplete)标签及标签组插件--ngTagsInput,功能超强大的.不信,你试试就知道^_^... AutoComplete-- 自动完成对开发人员来说应该不会太陌生,特别是前端开发者.即用户在文本框中输入内容或者当文本框获得焦点时智能提示与用户输入有关的建议内容.最常见的 百度(baidu.com).谷歌(google.com)等的搜索框就是这样来设计的.目的是为了给用户提供一个更好的输入体验. 在

基于mysqldump编写自动全备增备的shell脚本

基于mysqldump编写自动全备增备的shell脚本 在线上MySQL数据库备份分为全备和增备,而xtrabackup备份已经支持了增量备份了,但是mysqldump就不支持增量备份,所以我们需要写一个shell脚本对于mysqldump来自动全备和增备. 一下脚本要求我们做一个全备的策略,然后如何做增量备份,自动完成每天执行增量备份,每个星期天执行全备.备份完删除二进制文件,减低磁盘压力. [[email protected] ~]# cat mysqlback.sh #!/bin/bash

基于 Keras 用 LSTM 网络做时间序列预测

基于 Keras 用 LSTM 网络做时间序列预测 本文主要参考了 Jason Brownlee 的博文 Time Series Prediction with LSTM Recurrent Neural Networks in Python with Keras 原文使用 python 实现模型,这里是用 R 时间序列预测是一类比较困难的预测问题. 与常见的回归预测模型不同,输入变量之间的"序列依赖性"为时间序列问题增加了复杂度. 一种能够专门用来处理序列依赖性的神经网络被称为 递归

[AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).windows上该环境的搭建 :) 前面三篇博客代码实现均基于该环境(开发或者测试过): [AI开发]Python+Tensorflow打造自己的计算机视觉API服务 [AI开发]基于深度学习的视频多目标跟踪实现 [AI开发]视频多目标跟踪高级版 运行环境 1) centOS 7.5 ,不要安装GUI桌面: