汽车智能座舱系统与应用 课件 5-4 完成深度学习智能座舱开发流程的认知与实现_第1页
汽车智能座舱系统与应用 课件 5-4 完成深度学习智能座舱开发流程的认知与实现_第2页
汽车智能座舱系统与应用 课件 5-4 完成深度学习智能座舱开发流程的认知与实现_第3页
汽车智能座舱系统与应用 课件 5-4 完成深度学习智能座舱开发流程的认知与实现_第4页
汽车智能座舱系统与应用 课件 5-4 完成深度学习智能座舱开发流程的认知与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

能力模块五

掌握智能座舱中数据采集与处理技术的应用任务四

完成深度学习智能座舱开发流程的认知与实现作为智能座舱开发助理,在某次项目中,主管要求你根据项目开发要求去制定一个初版的数据开发流程,便于考核你对数据开发流程的熟悉程度。根据要求,在完成一些初步的数据处理和数据训练后,你需要根据制定的开发流程,独立完成一个小型的完整的本地部署任务。任务引入Tasktointroduce01智能座舱开发流程介绍02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现目录

CONTENTS03驾驶员状态监控本地训练部署智能座舱开发流程介绍PART0101智能座舱开发流程介绍智能座舱开发流程涉及:利用新场景、场景库进行场景定义;利用HMI设计工具进行UI/UE设计(包含界面及交互逻辑设计);利用HMI框架构建工具搭建整个交互设计平台;由开发人员基于搭建的交互设计平台进行软硬件开发;测试人员深入贯穿于整个开发过程进行阶段性单元测试和集成测试。测试结果部署于车端进行搭载。整个过程由开发设计人员进行全方面维护。

01智能座舱开发流程介绍数据开发框架

整个开发数据平台是一个全闭环流程,该闭环流程涉及四大数据处理过程,最终形成可用于训练的有效模型。01智能座舱开发流程介绍数据开发框架

查找数据缺陷重新进行数据采集进行数据标注训练数据模型数据开发框架流程01智能座舱开发流程介绍(1)数据缺陷

这一过程中,首先需要从已量产的产品中提取数据缺陷DATA-Failure;数据缺陷包含数据漏检,虚假数据,数据校验不通过部分等。(2)数据采集

针对数据缺陷需要重新进行数据采集DATA-Collection,该采集过程包含在开发阶段通过搭建的数据采集平台进行数据采集(比如可以是实车在驾驶过程中用到的驾驶舱内外行车记录仪、全景影像、前视或后视摄像头等),也包含在已经量产的车型中设置的数据埋点或影子模式方式进行。数据开发框架01智能座舱开发流程介绍(3)数据标注

采集数据进行数据标注DATA-Label,这里需要注意的是智能座舱和智能驾驶的标注方式上有所不同;如座舱主要设计图片、语音等标注,ADAS主要涉及道路环境语义(如车道线、护栏、锥桶等标注类型)等标注。(4)数据模型

对于智能座舱算法而言,最重要的是进行人工智能的机器视觉算法训练,该过程设计形成较为精准的数据模板,将标注后的数据用于进行数据模型训练DATA-Model。数据开发框架AI算法仓库主要是对数据平台中的数据模型进行有效训练,模型训练主要高中低三种渐进开发模式。高级模式:该AI算法仓库中训练模型复杂,需要耗费较多的AI算力用于权值监测、关键点检测、图像语义分割,图形骨架提取等。中级模式:算法仓库都是一些标准化模型,如安全带、座椅识别等标准件的识别等;这种类型的识别过程都是一些标准化的识别过程,甚至不包含浮点运算,都是整型运算,算法耗费算力小,效率高。低级模式:算法仓库中复杂度一般,分类较多,嵌入多模型组合进行分类,可实现诸如抽烟、打电话等驾驶员基本的操作过程识别。需要说明的是该模型对于开发团队的能力建设要求较高。01智能座舱开发流程介绍应用开发框架01智能座舱开发流程介绍应用集成框架应用集成框架平台包含利用AI应用开发中间件集成模型框架,搭建通信及底层组件开发集成过程中包含模型转换(即浮点转定点)与编译,生成标准化模型,随后通过加载模型跟配置(配置可以放到固定的地方)定义输入输出:编写过程代码(包含处理逻辑),接收函数框架,定义消息类型(自动反序列化与序列化),释放软件等过程释放软件等过程。后续可编译生成.so文件,并加载到感知管道Pipeline中案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现PART02

根据各框架的优缺点,结合应用实际我们选择paddlepaddle,paddlepaddle提供直接的生产途径。02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现深度学习框架选择不管是在服务器、边缘设备还是网络上,paddlepaddle都可以帮助我们轻松地训练和部署模型,无论您使用何种语言或平台。一、下载anaconda Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。使用Anaconda可以通过创建多个独立的Python环境,避免用户的Python环境安装太多不同版本依赖导致冲突。官网地址:/download/官方地址:/archive/清华大学镜像:/anaconda/archive/训练主机环境搭建02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现二、安装anaconda

训练主机环境搭建02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现数据集采集与制作

图像数据采集图像预处理图像标注数据集预划分数据集采集与制作流程02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现(1)图像数据采集

由于我们的应用为驾驶员抽烟状态检测,而网络上没有免费公开的驾驶员抽烟面部姿态数据集,所以我们将利用摄像头或者网上爬虫来获取数据。(2)图像预处理

利用OpenCV对采集到的视频以每秒10帧进行面部截取,并将截取到的图片保存至相应文件夹中。数据集采集与制作02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现(3)图像标注

目标检测数据的标注推荐使用LabelMe标注工具,具体方法可以查看能力模块五任务二“实现数据的采集与标注”。(4)数据集划分

转换完数据后,为了进行训练,还需要将数据划分为训练集、验证集和测试集,我们可以使用数据集划分工具将数据划分为70%训练集,20%验证集和10%的测试集。数据集采集与制作02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现PaddleX目前提供了FasterRCNN和YOLOv3两种检测结构,多种backbone模型,可满足开发者不同场景和性能的需求。我们选择YOLOv3-MobileNetV3,优点是模型小,移动端上预测速度有优势。模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现

定义训练和验证时的transforms #API说明 https://paddlex.readthedocs.io/zh_CN/develop/apis/transforms/det_transforms.html模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现

定义训练和验证所用的数据集 #API说明: https://paddlex.readthedocs.io/zh_CN/develop/apis/datasets.html#paddlex-datasets-vocdetection模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现#初始化模型,并进行训练 #可使用VisualDL查看训练指标,参考 https://paddlex.readthedocs.io/zh_CN/develop/train/visualdl.html模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现 #API说明: https://paddlex.readthedocs.io/zh_CN/develop/apis/models/detection.html#paddlex-det-yolov3模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现 #API说明: https://paddlex.readthedocs.io/zh_CN/develop/apis/models/detection.html#paddlex-det-yolov3 #API说明: https://paddlex.readthedocs.io/zh_CN/develop/apis/models/detection.html#id1模型训练02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现 #各参数介绍与调整说明: https://paddlex.readthedocs.io/zh_CN/develop/appendix/parameters.html模型裁剪

02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现模型裁剪可以更好地满足在端侧、移动端上部署场景下的性能需求,可以有效地降低模型的体积,以及计算量,加速预测性能。PaddleX集成了PaddleSlim的基于敏感度的通道裁剪算法,开发者可以在PaddleX的训练代码里轻松使用起来。模型裁剪训练

02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现在前两步,我们得到了正常训练保存的模型output/yolov3_mobilenetv3/best_model和基于该保存模型得到的参数敏感度信息文件yolov3_mobilenetv3.sensi.data,接下来则是进行模型裁剪训练。模型部署导出

02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现

检查你的模型文件夹,如果里面是model.pdparams、model.pdopt和model.yml3个文件时,那么就可以使用下列命令进行模型导出。视频预测

02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现视频预测

02案例:基于卷积神经网络的驾驶员舱内抽烟行为检测系统流程的分析与实现驾驶员状态监控本地训练部署PART03一、软件连通

点击汽车智能座舱系统实训台中的教学系统,选择“驾驶员状态监控单元”,进入模块页面后,点击实例测试,选择模型为默认模型(256_best_Reset50_model.h5),打开摄像头,点击“建立通讯连接”,将软件与python进行通讯连接。软件连接与内置数据集实例测试03驾驶员状态监控本地训练部署二、内置数据集实例测试

在软件内部,已经嵌入与驾驶员状态监控相关的10类常见行为的数据集,具体包括:与乘客说话,右手发短信,右手打电话,喝水,安全驾驶,左手发短信,左手打电话,手伸向后座,操作收音机,调整脸部。在连通成功后可以直接点击“运行”按钮进行测试。软件连接与内置数据集实例测试03驾驶员状态监控本地训练部署一、制作数据集

单个行为数据集的制作过程是:①打开摄像头②填写该行为的名称(如打哈欠)③对展示行为进行拍照,截取该照片,截图将显示在右侧④数据类别默认放置在train中⑤点击“确认使用改数据”。自主创建与训练模型03驾驶员状态监控本地训练部署二、数据集管理

新创建的图片数据可以在“数据集管理”页面中观察到,新增的图片数据存储默认路径:DataBase->DNS->train->(新创建的行为名称)->图片名称。三、训练模型

与手势识别自主训练相似,驾驶员状态监控自主训练模型也是需要进行如图所示的参数配置:①选择优化器位adam;②确定训练次数为100;③填写数据种类数量(默认10,若有自主新增行为类型N类,实际种类数量为10+N);④建立通讯连接;⑤点击运行。点击运行后就进入到自主训练模型的过程。自主创建与训练模型03驾驶员状态监控本地训练部署自主创建与训练模型03驾驶员状态监控本地训练部署四、模型训练测试

测试环节与内置的数据集测试的操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论