Py学习  »  机器学习算法

如何利用深度学习知识--快速部署高速目标检测智能小车?

小白学视觉 • 2 年前 • 252 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

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

  • 利用NVIDIA迁移式学习工具包构建SSD目标检测网络的推理引擎

  • 将推理引擎迁移到以Jetson Nano为核心的Jetbot智能小车上

  • 在Jetbot智能小车上部署推理引擎

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

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

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

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

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

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

迁移式学习工具包

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


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

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

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

Jetbot智能小车

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

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

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

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

上图展示了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


END


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/125135
 
252 次点击