文档章节

树莓派上利用Tensorflow实现小车的自动驾驶

Timthony
 Timthony
发布于 11/12 15:32
字数 980
阅读 3895
收藏 94

先抛出大家最关心的——代码地址:

github传送门:https://github.com/Timthony/self_drive

码云传送门:https://gitee.com/tiantianhang/self_drive

基于树莓派的人工智能自动驾驶小车

# 整体流程
电机控制    
摄像头调试    
道路数据采集    
搭建深度学习模型,参数调试    
自动驾驶真实道路模拟    
参数最终调试    

使用方法:    
1. 先将树莓派小车硬件组装好
2. 使用zth_car_control.py来控制小车的前后左右移动,配合zth_collect_data.py来人工操作,使小车在自己制作的跑道进行数据采集。(该过程在树莓派进行)
3. 数据采集完成以后使用zth_process_img.py来对采集的数据进行处理,之前当前先完成一些数据清洗的工作。(电脑上执行)
4. 使用神经网络模型对数据进行训练zth_train.py,得到训练好的模型。(电脑上执行)
5. 在树莓派小车上使用zth_drive和训练好的模型,载入模型,即可实现在原先跑道的自动驾驶。(树莓派上执行)    
注意:只需要使用上述提到的代码即可,别的都是一些初始版本或者正在增加的一些新模块。    

 


# 注意事项:
1. 赛道需要自己制作,很重要,决定了数据质量。(我是在地板上,贴的有色胶带,然后贴成了跑道的形状)。
2. 赛道的宽度大约是车身的两倍。
3. 大约采集了五六万张图像,然后筛选出三四万张。
4. 摄像头角度问题

# 具体制作流程: 
1. 小车原始模型,某宝购买玩具车即可,比如:有电机,有自带电池盒(给电机供电)
2. 树莓派,摄像头,蓄电电池组(用于树莓派供电)
3. 使用一些螺栓,螺柱,亚克力板将树莓派,蓄电电池固定在小车上(具体方法,看手头的工具吧)
4. 组装好以后,树莓派通过VNC连接电脑,登陆树莓派,在树莓派安装keras环境,以便最后调用训练好的模型。
5. 关于小车的控制(电机控制,摄像头采集数据),都在源文件,有注释,大致思路就是通过方向键AWSD来控制方向,使用了pygame的工具包。
6. 通过电脑端的wasd方向键手动控制小车(已经VNC连接好)在制作好的赛道上进行图像采集,直线部分按w,左拐弯按a,右拐弯按d等,建议采集50000张以上。
(采集的图像命名要求为,0_xxxx,1_xxxx,其中首位字母就代表了你按下的是哪个键,比如图像是0开头,那么这张图像就是直行,按下的是w键,这些0,1,2,3,4 数字就相当于数据的标签值)
7. 将图片从树莓派拷贝下来,进行数据清洗,使用电脑端的深度学习环境进行模型训练,使用的模型可以自行定义。
8. 将训练好的模型文件.h5拷贝到树莓派,然后通过树莓派调用载入模型,即可处理实时的图像,并且根据图像预测出是0,1,2,3,4等数字,也就表示了树莓派该怎么移动,通过树莓派控制电机即可。


# 正在进行一些改进:    
1.使用迁移学习进行fine-tuning是否可以提高精度    
2.处理光照问题    
3.处理数据类别不平衡的问题    
欢迎交流讨论    

© 著作权归作者所有

共有 人打赏支持
Timthony
粉丝 9
博文 1
码字总数 980
作品 0
天津
私信 提问
加载中

评论(14)

Timthony
Timthony

引用来自“代号997”的评论

博主,你好,请问一下你采集的摄像头数据之后,要自己手工标记数据还是可以通过程序自动标记数据?如果手工标记数据,那工作量是不是太大了,那可是几万张照片的命名。。
采集数据的时候程序里自动标注的
代号997
代号997
我也准备做一个这个东西,希望博主可以指点指点,在此感谢了
代号997
代号997
博主,你好,请问一下你采集的摄像头数据之后,要自己手工标记数据还是可以通过程序自动标记数据?如果手工标记数据,那工作量是不是太大了,那可是几万张照片的命名。。
Timthony
Timthony

引用来自“亓斌哥哥”的评论

你好,我也在做这个东西,但是我采集不到这么多数据,请问你是怎么在这么小的赛道下采集到这么多数据的?
我铺的赛道大概有2.5*1.5米,多跑一些圈采集,太少的话再进行一些图片的旋转等操作扩充数据集就可以。
亓斌哥哥
亓斌哥哥
你好,我也在做这个东西,但是我采集不到这么多数据,请问你是怎么在这么小的赛道下采集到这么多数据的?
dingdayu
dingdayu
请问

backMotorEn = 12 #使能端口1
frontMotorEn = 16 #使能端口2

这两个使能端口是控制哪的啊?方向的舵机?感觉不像啊
久永
久永
NB啊!
红薯
红薯

引用来自“红薯”的评论

引用来自“Timthony”的评论

引用来自“红薯”的评论

代码托管到码云吧,我们推荐一下:)
好的,已上传https://gitee.com/tiantianhang/self_drive

已在码云推荐,链接加多一个码云的链接呗,嘿嘿

引用来自“Timthony”的评论

已增加,谢谢😀
star 数虽然不多,已超过 github 啦,记得保持更新哦:)
Timthony
Timthony

引用来自“红薯”的评论

引用来自“Timthony”的评论

引用来自“红薯”的评论

代码托管到码云吧,我们推荐一下:)
好的,已上传https://gitee.com/tiantianhang/self_drive

已在码云推荐,链接加多一个码云的链接呗,嘿嘿
已增加,谢谢😀
Timthony
Timthony

引用来自“27号”的评论

能发下你组装这个小车的硬件教程不?谢谢。
某宝的玩具车,有电机就行,自己拆下壳子,加装树莓派和摄像头就行了
业界 | TensorFlow 1.9终于对树莓派张开了怀抱:加入官方支持

  选自TensorFlow博客   作者:Pete Warden   机器之心编译      TensorFlow 1.9 早已发布并在各大平台上运行,如 Linux、苹果、安卓等系统。然而,不论用户们如何努力,在树莓派上...

机器之心
08/03
0
0
如何利用树莓派打造一款机器人

作者/刘端阳,清华大学aminer.org研究者社交网络系统的R&D,参与过智谷睿拓公司(已经被小米收购)的专利挖掘,在大数据征信领域创业过,出过一本叫做《树莓派机器人蓝图权威宝典》的书,如今主...

p23onzq
2017/12/09
0
0
怎样在树莓派上轻松实现深度学习目标检测?

本文为 AI 研习社编译的技术博客,原标题 How to easily Detect Objects with Deep Learning on Raspberry Pi,作者为 Sarthak Jain。 翻译 | 小哥哥 狒狒 校对 | 老赵 整理 | 凡江 这个现实...

AI研习社
09/03
0
0
Google工程师:教你用树莓派+Arduino+TensorFlow搭建图像识别小车

雷锋网按:本文作者赵智沉,Google软件工程师。来自知乎专栏:赵智沉的作坊。雷锋网(公众号:雷锋网)获授权转载。 从买第一个Arduino套装开始,我接触机器人有好几年了,但直到最近才开始做完...

x32sky
2017/04/07
0
0
TensorFlow应用实战-15-强化学习常用环境

使用TensorFlow开发会开赛车的AI 进行游戏领域 第一个我们使用了 RNN 和 LSTM 开发作曲智能应用。 深度卷积的生成对抗网络,帮我们开发能够制图的AI DeepMind 的 AlphaGo 围棋人工智能 Alph...

天涯明月笙
06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Netty handle方法周期 (三)

写了一个练习之后,发现自定义的助手类每次肯定是必须的,对于不同的业务逻辑需求,会写相对应的逻辑 最简单的查看Handle生命周期的方式,就是重写上级方法,看名字差不多应该可以知道方法的作用 ...

_大侠__
3分钟前
0
0
vue主动刷新页面及列表数据删除后的刷新实例

1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.reload(),或者...

前端小攻略
13分钟前
0
0
闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想想,这么大的并发与...

James-
18分钟前
1
0
Emacs 系列:让我们拥抱 Emacs 和 org 模式

导读 我必须承认,在使用了几十年的 vim 后, 我被 Emacs 吸引了。长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD 和 ZTD 之类的方法,但是像邮件或是大型文件这样的事务真的很...

问题终结者
19分钟前
2
0
解析Node.js通过axios实现网络请求

本次给大家分享一篇node.js通过axios实现网络请求的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 1、使用Npm 下载axios n...

前端攻城老湿
32分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部