项目目标
利用车载摄像头获取车辆前方的图像信息,采用人工神经网络分析图像数据,控制车辆转向和速度,使车辆平稳、快速到达终点。
基本要求
采用人工智能算法
利用Matlab等编程工具
基于视觉图像实现车辆方向控制
考核方式
每5人为一组,组内各成员协作;
根据是否能到达终点、运行速度等确定成绩。
每两组一套小车
1#小车: 第1组-第2组
2#小车: 第3组-第4组
…
10#小车:第19组-第20组
每套小车包括:
小车(含控制器)一辆
摄像头一个
操纵杆一个
充电器一个
赛道一张
• 使用事项:
安全使用事项
• 禁止在宿舍给电池充电;
• 禁止将电池充电、放电口对插;
• 小车不能边充电边使用;
• 电池充电时,充电器指示灯亮红灯,充满时亮绿灯,充电完成后应及时拔掉充电器和电源,避免电池损坏;
小车电池采用直插式充电,充电器接口直接插入电池的充电接口即可充电;
各小车略有差异,可采用自己训练时的小
车参加比赛
有任何问题及时与助教、老师联系爱护教学设施,人为损坏需照价赔偿
Step1:掌握图像获取、转向控制等基本操作
Step2:根据采集到的图像,并利用操纵杆操纵,获取训练样本
Step3:设计神经网络控制结构,训练神经网络
Step4:利用神经网络算法进行控制
Step1:基本操作
小车使用
• 小车开机30秒后,搜索WIFI,连接Auto_CAR_n(n表示第几号小车),密码:123456789
• 成功连接后,即可通过计算机接收摄像头采集到的图像,并发送小车运动指令。
Step1:基本操作
Matlab相关操作
• 需使用Matlab 2016及以后版本,建议使用Matlab 2018版;
• 安装支持包——在MATLAB 附加功能
中 获取附加功能 MATLAB Support
Package for IP Cameras
Matlab相关操作
• 获取操纵杆数据:
Ø创建操纵杆对象
joy = vrjoystick(1) %根据系统硬件情况或许是其他值
Ø获取操纵杆某一轴的值%为-1~1的一个浮点数
axis(joy,1)
Ø获取操纵杆某一按键的值%1为按下,0为释放
button(joy, 1)
Step3:训练网络
根据训练函数需求,设置训练参数,准备输入输出数据
• 训练目标最小误差
• 训练次数
• 学习速率
• 使用函数
• oneVsAll(X, y, num_labels, lambda)
• Matlab神经网络工具箱
Step4:利用神经网络算法进行
初始化摄像头连接
初始化小车控制连接
初始化操纵杆
将图像数据输入神经网络
将神经网络输出作为方向控制数据发送到小车
• PREDICT(Theta1, Theta2, X);%outputs the predicted label of X given the trained weights of a neural network (Theta1, Theta2)
• sim(net,input); %调用matlab神经网络工具箱自带的sim函数得到网络的预测值
注意事项:
• 数组、向量维度、数组向量的转置操作
• 神经网络的输入输出与操纵杆输入、小车控制数据的格式要匹配
如何设计机器学习系统或者提升机器学习系统的性能?
机器学习算法诊断与评估
• 通过执行测试,深入了解学习算法是否有用,以及如何去提升算法的性能。
注意:
算法的诊断需要较长时间,但能指导算法调试的方法。
模型偏差、方差评估
Ø 偏差
根据样本拟合出的模型的输出预测结果的期望与样本真实结果的差距,度量了学习算法的期望预测与真实结果的偏离程度, 即᧿述了学习算法本身的拟合能力。
Ø 方差
述的是样本上训练出来的模型的表现,度量了同样大小的训练集的变动所导致的学习性能的变化, 即述了数据扰动所造成的影响。
采用已由正则化线性回归方法预测
• 更多的训练实例——解决高偏差
• 减少特征数量——解决高偏差
• 获得更多特征——解决高方差
• 增加多项式特征——解决高方差
• 减少归一化程度 λ——解决高方差
• 增加归一化程度 λ——解决高偏差
对新样本的偏差较大,如何改进算法的预测性能?
完整的pdf格式文档51黑下载地址(共41页):
机器学习应用系统设计.pdf
(13.17 MB, 下载次数: 48)
|