nvidia jetson nano,nvidia jetson

前一篇从 Jetson Projects 所挑选的“TRANSFER LEARNING WITH JETBOT & TRAFFIC CONES”新项目,是持续避撞运用应用深度神经网络的图像分类技术性,让 Jetbot 完成循路的作用,这类“定速”种类的操作方法通常较为倾向于“找路”“走迷宫游戏”的运用。

假如要朝向“跑道”类的竞技型的循路运用,那麼 Jetbot 案例中的road_following新项目会更为合适,这一新项目应用图象重归(Image Regression)的机器学习技术性,是一种应用统计学上十分有效的数学分析模型。

多元回归分析(Regression Analysis)在数据分析中是一种预测性的模型技术性,科学研究自变量(总体目标)和变量(预测器)相互关系,通常用以分析预测、时间序列模型及其发觉自变量间的逻辑关系,例如驾驶员的莽撞安全驾驶与道路交通事故总数相互关系。

在 2018 年有一篇通称为 LDDMM(large deformation diffeomorphic metric mapping,大形变全微分同胚衡量投射)的根据多元回归分析的深度神经网络实体模型毕业论文(请参照https://arxiv.org/abs/1808.07553),这类摘抄创作者全文的翻泽如下所示:

“文中指出了一种根据大形变差分信号对称性衡量投射(LDDMM)和深度神经网络的竖向缺少图象预测分析回归分析。大家的实体模型并不是立即预测分析图象扫描仪,反而是预测分析与基准线图象有关的矢量素材动量矩编码序列。该动量矩编码序列在 LDDMM 架构中参数化设计初始图象编码序列,并坐落于基准线图象的断线室内空间中,该断线室内空间是欧几里德的。含有长时短记忆力(LSTM)模块的递归法互联网对矢量素材动量矩编码序列的時间转变开展编号,卷积神经网络(CNN)对矢量素材动量矩的基准线图象开展编号。由 LSTM 和 CNN 获取的特点被送进编解码互联网,复建矢量素材动量矩编码序列,根据 LDDMM 拍照使基准线图象形变,用以图象编码序列预测分析。为了更好地解决一些时间点的缺少图象,我们在损害测算中选用了二值子网掩码来忽视其复建。试验结果显示,无论竖向图象编码序列产生大的或微小的转变,这两个数据信息集中化的时光转变全是有期待的预测分析。”

这类优化算法在深度神经网络行业中的泛用性并不高,可是在解决智能小车循路的运用中则是较为常见的,由于“根据时光编码序列的图象来预测分析时间序列分析上缺少图象”的优化算法,蛮合适跑道型这类不用过高精准度的迅速测算。

这一工程的实行脚本制作在jetbot/notebooks/road_following下边,一样也必须通过“数据采集”、“实体模型练习”与“当场演试”三个流程,如今就简易将这三个流程的关键关键点明确提出来表明一下。

1.数据采集:data_collection.ipynb 或 data_collection_gamepad.ipynb

这里有2个收集的脚本制作,前面一种是应用电脑鼠标来标明座标、后面一种则是应用前边应用过的游戏摇杆来选择座标,二者之间没有什么差别,但是强烈推荐用电脑鼠标来开展就可以。

前一个循路运用是根据图像分类的方法,对“一整张图型”开展鉴别来做为管理决策的根据,尽管最后能呈现找路的作用,但实质上或是“避撞”的同样基本原理。而这儿应用的图象回归算法,则要在图像中找到“下一步前去的总体目标点”,因而在这儿仅有“选座标”的流程而沒有“归类”的全过程。

有实力的用户可以浏览http://www.youtube.com/embed/FW4En6LejhI的短视频,会更清晰这一数据采集的全过程。下面的图是实行 data_collection.ipynb 采集数据的时候会表明的交互页面,左侧的图象栏是与 Jetbot 的 CSI 画面同歩的界面,大家的任務便是用电脑鼠标在左边图象中点一下“下一步要前去”的总体目标点,随后右侧便会提取这一图象,并且用翠绿色圈标志出大家所点一下的部位。

下面便会在 dataset_xy 文件目录里存进一个以“xy_x座标_y坐标_uuid.jpg”的位图文件,随后在互动交流页面下面的“count”栏里升级数据的总数。

下边 6 组案例截屏是在印着“中心线”的跑道拼凑板上开展收集,这类跑道的采点相对性非常容易,只需点一下适合的中心线部位就可以。

下边的 6 组案例截屏则是在“沒有中心线”的跑道收集,例如用跳棋盘、精准定位胶布所生成的跑道,这类就必须自主寻找大概的部位就可以了。

对于采点的“近远”问题,就得看所在的“弯度”而定,如果是在平行线跑道的位子可以挑选很远的间距,假如在弯度比较大的区域就挑选近一点的间距,留意线路不必导致 Jetbot 车轱辘碾过边框线就可以。

每一次用点一下左侧图象框时,便会提取一张含有座标为档名的图象,必须留意的一个关键点,假如全过程中有一不小心误点的图型,最好是马上将它删掉掉,由于大家难以在过后依据图象去辨别什么图象是不太好的,难以实行数据预处理的工作,而这种不好的图象会影响到最后实体模型的鉴别实际效果。

如果是应对比较繁杂的跑道(如下图所示中),最好是全过程顺时针方向与反方向方位都经历一遍,收集充足的图象;如果是周期性较高的跑道(如下图所示右),就只需收集 1/4~1/2 的跑道图象也类似,全部收集量大概在 50~100 张图片就充足。

2.实体模型练习:train_mode.ipynb

这一部分也强烈推荐立即在 Jetson Nano(含2GB)上开展就可以,通过检测在 Jetson Nano 2GB 上对 100 张图片开展 70 连击练习的时长也就 30 分鐘上下,并不艰难,这一脚本制作一样会挑选精确度最大的存成 best_steering_model_xy.pth 实体模型文档,大概 42MB 上下,比前边2个应用图像分类技术性的实体模型要小许多。

全部练习脚本制作中,除开外置工作必须分析图象文件夹名称所包括的 x, y 座标信息内容,也有这儿所挑选采用的神经网络模型是 ResNet18,其他解决关键与之前的避撞新项目几乎完全一致,没什么特别之处。

3.当场演试:live_demo.ipynb

此前应用图象分析法的避撞与找路2个新项目,全是归属于“定速型”的运用,而且会以本身轴心为关键原地不动转动。而 road_following 新项目则是让 Jetbot 不顾一切地向前冲,全过程中还能够依据跑道弯度去调整 Jetbot 的速率(speed)与拐角(steering),这也是更为贴近大家安全驾驶机动车辆的真实情况。

这儿应用“占比/全微分操纵(proportional/derivative control)”优化算法去动态性调整上下电动机的转速比,这也是智能车行业中非常常见的一种调整行驶效率与视角的方式,是个十分完善的优化算法,关键点请自主在网络上搜索计算方法。

脚本制作中一开始导进深度神经网络实体模型的实际操作,与之前的避撞运用是一致的,这儿也不反复讲解,较为独特的位置是在脚本制作中给予三个主要参数调整滚轮,关键如下所示:

speed gain速率收获滚轮:承担操纵行驶速率,包含要运行 JetBot 逐渐奔波,也是通过这一滚轮来完成实际操作。Steering Gain转为收获滚轮:假如 JetBot 行驶时出现晃动的情况,就通过这一滚轮减少这一值,直到 Jetbot 能畅顺向前才行。Steering Bias转为误差滚轮:假如 JetBot 有偏移到运动轨迹的最右边或最左边,就操纵此滚轮,直到 JetBot 逐渐追随核心的平行线或运动轨迹才行。

下面的图是 live_demo.ipynb 实行后,通过调节輸出部位的手机截图,图左是 Jetbot 的实行情况,在其中 x 与 y 值表明当今界面所预测分析的总体目标部位,speed 表明 Jetbot 的平行线行驶速率为满速的百分数,最下边的 steering 表明转为的速率。

图中正中间便是 CSI 监控摄像头所看见的当今界面,最右侧便是可调整的操纵滚轮,一开始的情况下 speed 值尽可能小一点,防止让 Jetbot 由于爆冲而毁坏,假如沿途运作时的上下晃动力度很大,可以减少 steering 的值。

实际上这一使用的最后目地,便是未来可以更新到 JetRacer 这种的竟速主要用途智能小车(如下图),由于 JetRacer 所采用的方法与这一 road_following 是完完全全一样的,包含从数据采集、实体模型练习到当场演试的脚本制作。

但 JetRacer 的机电工程操纵更为繁杂,总体成本费与拼装难度系数也比 Jetbot 高于很多,因而可以先用这一新项目去了解竟速车的实施步骤与调节关键点,将来要提升到 JetRacer 时就能简单入门,就算不更新硬件配置,也可以用 Jetbot 去体会一下竟速车的快乐。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

 Theme By 优美尚品

每日搜寻全球各个角落的热点新闻,锁定小童说事网,多一点惊喜与感动!