分享

如何将深度学习模型部署到实际工程中?(分类 检测 分割)

 mynotebook 2022-05-05 发布于湖南
应用背景介绍

早在遥远的1989年,一家叫做ALVIVN的公司首次将神经网络用在汽车上,进行车道线检测和地面分割。时至今日,深度学习已经应用在自动驾驶系统的多个分支领域。首先是感知领域,常用的传感器有相机、激光雷达和毫米波雷达。深度学习利用二维图像或三维点云作为输入,对其中的障碍物进行检测、识别、分割、跟踪和测距。

图片Mask RCNN

图片

M3DSSD: Monocular 3D Single Stage Object Detector

图片

PointPillars: Fast Encoders for Object Detection from Point Clouds

图片

其次是定位领域,自动驾驶通常需要厘米级的定位精度,这就使得传统高精地图在许多场景下不十分可靠。近年来一些方法使用在线地图学习,基于车载传感器观测,动态地构建高清地图,是一种比传统的预标注高清地图更可扩展的方式,为自动驾驶车辆提供语义和几何先验。

图片

HDMapNet: An Online HD Map Construction and Evaluation Framework

再次是预测规划,使用深度学习方法可以更好的预测障碍物的轨迹,甚至有的方法把感知-预测结合来解决问题。

图片

PnPNet: End-to-End Perception and Prediction with Tracking in the Loop

正因为深度学习算法在自动驾驶中的广泛应用,使得模型部署工程师炙手可热,大多数公司既要求算法工程师设计算法,又要部署移植,同时具备两项技能的人才一直是自动驾驶公司优先录取的对象,对应的薪资也是非常可观。

如何入门学习?
无论是分类、检测或分割任务,大多数深度学习算法都有对应的开源实现,通常基于python,然而如何将模型部署到C/C++工程中并没有系统的教程,导致很多童鞋停留在模型的调参与优化上,为此我们推出了国内首个面向工业级实战类教程:《自动驾驶中的深度学习模型部署实战》,一线大厂算法工程师带队,10年工程化经验,帮助大家快速进步,少走弯路。
目前大多数自动驾驶硬件平台采用英伟达的GPU方案,无论是工控机平台上,还是嵌入式平台。软件方面,Nvidia则提供了丰富的SDK来帮助开发者使用GPU,比如适用于模型部署的TensorRT,适用于数据处理的NPP和NvMedia等,还有cuDNN和cublas等基础库可供使用,甚至可使用cuda c更方便的进行扩展。本课程主要讲解如何使用TensorRT进行模型部署,以及使用NPP和cuda进行数据预处理,其中TensorRT和cuda是本课程的两个重点,cuda则是其中相对的难点。课程大纲如下:

图片
讲师介绍
课程讲师为毕业于哈尔滨工业大学的硕士,有10年C++编程经验,2018年开始接触深度学习模型部署,2019年加入一家大型自动驾驶公司。对TensorRT和GPU并行编程有深入理解。本课程将以深度学习模型部署为主线,带领大家掌握TensorRT的使用和cuda编程。
课程亮点
本课程将采用理论和实践相结合的思路,首先对TensorRT的编程模型以及GPU/cuda的相关知识进行讲解,带领大家达到知其所以然的程度;之后课程将用分类、检测、分割三个例子来展示详细编程流程,并给出相关代码,达到真正能落地的工业级分享。
学后收获
1.能够熟悉掌握模型部署的预处理、后处理流程;
2.对TensorRT框架的整体结构有较深理解,能够实现自定义层;
3.掌握分类、检测、分割模型的部署流程,能够将产品模型部署到硬件中;
4.面向企业级的岗位技术栈要求;
课程要求和面向对象
1.计算机视觉相关方向,具备一定Python或者C/C++的编程基础;
2.需要自备GPU或网上租赁服务器;
3.对自动驾驶领域有着强烈兴趣的本科生研究生,从事模型部署相关工作的人员


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多