英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

英伟达Jetson Nano实用教程

主讲人 | 何琨 英伟达
量子位编辑 | 公众号 QbitAI

3月26日,英伟达图像处理系列公开课第三期线上开播,来自NVIDIA开发者社区的何琨老师,与数百位开发者共同探讨了:

  • 利用NVIDIA迁移式学习工具包构建SSD目标检测网络的推理引擎
  • 将推理引擎迁移到以Jetson Nano为核心的Jetbot智能小车上
  • 在Jetbot智能小车上部署推理引擎

应读者要求,我们将分享内容整理出来,与大家分享。直播中主要的live coding环节受限于文字描述,还请大家观看直播回放(文末附有PPT、直播回放链接) 。

以下为本次分享的内容整理:

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

大家好,我是来自NVIDIA开发者社区的何琨。我的每次分享都会给大家展示这张图。

它很好的诠释了深度学习的架构,从应用角度来说,视觉、语音识别、NLP等是目前发展较快的领域。市面上有很多框架支持这些深度学习的应用,如Caffe、TensorFlow、PyTorch等,而支撑起这些框架的基础是强大的计算能力。

NVIDIA提供了大量的GPU、边缘设备等,为深度学习框架、推理训练提供了强大的支撑能力。在英伟达CUDA生态系统上,建立了cuDNN、TensorRT、DeepStream SDK、cuBLAS等一系列工具,都是中层的框架应用的基础的内容。

今天分享的主题是“利用迁移式学习工具包加速Jetbot智能小车的推理引擎部署”,首先介绍下这两个工具。

迁移式学习工具包

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

NVIDIA迁移式学习工具包(Transfer Learning Toolkit,简称TLT)是一个基于Python的工具包,它提供了大量预先训练的模型,并提供一系列的工具,使流行的网络架构适应开发者自己的数据,并且能够训练、调整、修剪和导出模型,以进行部署。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

也就是说,我们使用TLT时,就不需要再掌握(上图)左侧这些工具了,大大提高深度学习工作流的效率和精度。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

TLT提供了很多训练好的模型,(上图)列举了30多种常用的预训练模型,后面也将推出更多预训练模型,大家可以在NGC(https://www.nvidia.cn/gpu-cloud/)上下载。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

选好预训练模型后,我们可以通过TLT对其进行训练、剪枝、再训练等。一键输出后的模型可以直接在DeepStream和TensorRT上使用;优化加速后可以部署在移动端或嵌入式产品上,比如自动驾驶汽车、无人机上。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

Jetbot智能小车

Jetbot是以Jetson Nano为计算核心的自动驾驶小车模型。Jetson Nano的体积非常小,只有巴掌大小,但是可以提供470GFLOPS的计算能力。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

Nano支持多种接口、双电源,为我们的训练与部署深度学习模型提供了便利。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

上图是我去年参加的无人车驾驶比赛的现场,大家可以看到,Jetbot小车能够识别路牌、建筑物,自己找到路径,其计算核心就是Jetson Nano。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

上图是Jetbot升级版本的赛车,可以看出它的速度非常快。我们在推理时最高达到了60FPS的速度。实际应用中,为了平衡摄像头的编解码,我们将推理速度减少到45FPS。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

上图展示了Jetbot在复杂的环境中自动避障、识别路径的过程,这些功能都是基于深度学习在视觉领域的应用。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

我们可以看到,Jetbot小车上有一个前端摄像头,几个控制接口,两个主动轮、一个从动轮,便于大家控制和实践。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

我们可以自己设置或直接使用设置好的函数。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

前端摄像头的视频接口。我们不需要考虑怎么调用前端摄像头,代码中已经设置好了。

英伟达公开课 | 手把手教你部署一辆高速目标检测Jetbot智能小车

深度学习模型推理接口。


实战:部署一辆Jetbot小车

接下来,何琨老师展示了如何用TLT训练模型,以及在Jetbot上运行模型。受限于文字描述,欢迎大家点击链接观看直播回放(第25分钟起):

直播链接:https://info.nvidia.com/303606-ondemand.html

PPT地址:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/mar26/TLT–2020.03.26.pdf

传送门

第一期课程:利用 NVIDIA 迁移式学习工具包和Deepstream实现实时目标检测

>>直播回放:https://info.nvidia.com/272903-ondemand.html

>>PPT:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/feb27/TLT–2020.02.27.pdf

第二期课程:利用TensorRT 7.0部署高速目标检测引擎

>>直播回放链接:https://info.nvidia.com/291730-ondemand.html

>>PPT:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/mar12/dev/TLT–2020.03.12.pdf

版权所有,未经授权不得以任何形式转载及使用,违者必究。