阿里云机器学习PAI平台在驾驶行为识别上的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2020-09-13
基金项目:福州职业技术学院校级科研项目(FZYKJJJB201901).
作者简介:林峰,福建漳州人,福州职业技术学院工程师;刘永志,福州职业技术学院教授(福建福州350108).
阿里云机器学习PAI 平台在驾驶行为识别上的应用
林
峰,刘永志
摘要:随着具有车内外双拍摄功能行车记录仪的普及,如何通过分析车内驾驶人员实时影像,
识别驾驶者状态,对分心驾驶、疲劳驾驶等危险行为进行及时预警已成为近年来研究的热点问题之一.该文基于阿里云机器学习PAI 平台,利用Auto Learning 自动学习模块,对1100张含10种驾驶状态的车内影像数据构建了线上深度学习模型,模型训练耗时约11分钟,识别准确率可达99.08%,并通过与传统本地线下模型训练方式的对比,验证了基于PAI 平台方案的可行性,为基于图像识别的驾驶行为检测提供了一种新的参考方法.
关键词:PAI 平台;Auto Learning ;驾驶行为;机器学习中图分类号:TP181
文献标志码:A
文章编号:1008-7974(2021)04-0085-05
DOI :10.13877/22-1284.2021.04.014
2020年4月,中国社会福利基金会等机构发布了《道路交通安全调研报告——2019年
度:不良驾驶行为》.报告指出分心驾驶、疲劳驾驶等不良驾驶行为是造成2019年度中国道路交通事故的最主要原因.因此如何有效识别车辆司机驾驶状态,对分心驾驶、疲劳驾驶等危险行为进行及时预警,对减少车辆交通事故的发生具有重大意义[1].
近年来,随着行车记录仪的普及,通过对
驾驶人员实时影像检测,快速识别不良行为并告警已逐渐成为解决不良驾驶行为的主流
方案[2-3].在该方案中,基于深度学习的图像
识别技术被广泛使用,并已在实践中被证实具有较高的性能和准确性[4].但是传统的深度学习图像识别技术存在以下不足:一是需要开发人员掌握深度学习相关理论知识,能够熟练使用Keras 、TensorFlow 等第三方代码库,并具备手工搭建多层人工神经网络模型的能力;二是深度学习模型训练的过程往往需要消耗大量的计算资源,若开发人员硬件资源受限,将无法进行大规模图像识别模型的构建;三是图像识别模型一旦训练完成后,缺
2021年第4期
第42卷总第313
期
学报
2021年
第4
期
学报
乏便捷的手段将其快速部署,实用性不强[5-8].
机器学习PAI 平台是阿里云计算有限公
司开发的一款在线机器学习平台.基于阿里云自身丰富的技术积累和强大的云计算资源,开发者只需准备训练数据集,PAI 平台可提供数据预处理、数据分析、数据可视化、模型评估、模型发布等一站式服务.Auto Learning 自动学习模块是机器学习PAI 平台中的重要组件之一.在图像识别问题上,只要训练集数据质量得到保证,Auto Learning 自动学习模块就能快速训练足够精确的模型,并提供一键发布模型的服务[9].鉴于此,本文利用阿里云机器学习PAI 平台,结合Auto Learning 自动学习模块,构建了线上驾驶行为识别模型,并进行了相关验证和发布试验.
1机器学习PAI 平台
机器学习PAI 平台(Platform of Artificial In⁃
telligence )是一款阿里云人工智能平台,提供
了一站式的机器学习解决方案.PAI 平台起初仅服务于阿里巴巴集团内部业务,致力于让阿里巴巴集团内部开发者能够高效、简洁、标准地使用人工智能技术.随着平台技术的不断积累,2018年机器学习PAI 平台正式商业化,目前已积累了数万企业客户和个人开发者,是国内领先的线上机器学习平台之一.机器学习PAI 平台具有如下优点:①支持一站式机器学习,使用者只需要准备好训练数据(注意:数据通常存放在阿里云OSS 或MaxCom⁃pute 系统中),数据上传、数据预处理、特征工程、模型训练、模型评估及模型部署等环节均
可在阿里云PAI 平台中操作实现.②对接阿里云DataWorks 大数据平台,支持SQL 、UDF 、UDAF 、MR 等多种数据处理方式,灵活性较高.③生成模型的实验流程支持DataWorks 平台周期性调度,且调度任务可区分生产环境和开发环境,确保数据安全性.
机器学习PAI 平台主要提供了可视化建模PAI-Studio 、交互式AI 研发PAI-DSW ,以及自动化建模Auto Learning 三种使用模式.其中Auto Learning 模式提供了自动机器学习服务,支持在线标注、自动模型训练、超参优化及模型评估等常见机器学习操作.使用者只需准备少量标注数据,设置训练时长,就可以得到深度优化的人工智能算法模型.
2
基于机器学习PAI 平台的驾驶行为
识别
2.1
数据准备
本文实验数据来源于大数据算法竞赛平
台Kaggle (赛题:State Farm Distracted Driver De⁃tection ),涉及26位司机、10种驾驶行为,合计22424张图片.每张图片尺寸均为640×480,约占40KB 存储空间.原始数据集体量较大,为方便实验,抽选了具有代表性的两名司机(司机编号:p021、p022)的样本数据,并随机拆分为训练集(图片数量:1100)和测试集(图片数量:220).其中图片示例如图1所示,数据集分布见表
1.
图1训练样本示例
林峰,等:阿里云机器学习PAI平台在驾驶行为识别上的应用表1数据集分布
类别代码c0 c1 c2 c3 c4 c5 c6 c7 c8 c9合计
驾驶行为说明
normal driving
texting-right
talking on the phone-right
texting-left
talking on the phone-left operating the radio
drinking
reaching behind
hair and make up
talking to passenger
训练集
200
100
100
100
100
100
100
100
100
100
1100
测试集
40
20
20
20
20
20
20
20
20
20
220
合计
240
120
120
120
120
120
120
120
120
120
1320
阿里云PAI平台中图像识别模型依赖的训练数据需存储于OSS平台中.OSS(Object Storage Service,对象存储服务)平台提供面向海量数据规模的分布式存储服务,具有稳定、可靠、安全、低成本的特点.在OSS平台中创建存储空间(亦称之为Bucket),新建目录,并通过专用客户端工具oss-browser,将1100张训练集图片进行上传.值得注意的是,需要创建相应的RAM角色(角色名:AutoLearningRole),并赋予AliyunOSSFullAccess权限,阿里云PAI 平台才能访问OSS平台图像数据用于模型训练.具体角色创建及赋权操作可见阿里云相关帮助文档,此处不作赘述.
2.2创建Auto Learning实例
进入阿里云机器学习PAI平台,在“自动学习(Auto Learning)”栏目中,创建实例.其中在“创建实例”对话框中,选择实例类型为“图片分类”,并设置标注配置文件OSS路径.标注配置文件为CSV文本文件,需手工生成,用于指定训练集中各图片所属类别.文件内容包含样本ID、图片文件OSS路径,以及类别标注等信息,内容格式如下所示:
0,{"tfspath":"oss:/// distracted_driver_detection/train/img_58285.jpg"},{"option":"c0"}
2.3模型训练及评估
在Auto Learning自动学习页面中,通过随机抽查,确认训练图片标注无误后,即可进入模型训练及评估阶段.点击页面下方“完成标注”按钮,弹出“开始训练”对话框.配置最大训练时长为60分钟后,点击“开始训练”按钮.截止本文撰写时,阿里云PAI平台Auto Learn⁃ing自动学习模块仍处于公测阶段,配置参数
“最大训练时长”不能超过60分钟,对训练模型所消耗的阿里云计算资源无需付费.经过约11分钟时长的训练,驾驶行为识别模型指标数据已达到预期:准确率99.08%,模型训练结束.
2.4模型部署和测试使用
模型训练完毕后,可进行EAS部署.阿里云EAS(Elastic Algorithm Service,弹性算法服务)支持将所训练的模型发布为在线预测服务,通过RESTful API形式供第三方系统或平台使用.本文以流行的Python编程语言作为实例,本地测试客户端通过阿里云提供的eas-prediction库,进行模型在线接口调用,核心代码如下所示.
#引入模块
from eas_prediction import PredictClient
from eas_prediction import StringRequest
#初始化客户端
client=PredictClient("接口公网URL地址")
client.set_token("接口TOKEN码")
client.init()
#构造请求参数
request=StringRequest('{"image":"待预测图片base64编码"}')
#预测
response=client.predict()
print(response.response_data.decode())
在线预测服务返回的结果为JSON字符串,提供了上传图片所属各类别的概率,形如:{"class_probs":{"c9":2.4398683962090217e-08,"c8":
2021年
第4
期
学报
1.7996175074586063e-06,……},"success":true ,"request_id":"ff281367-4d25-435b-8cca-69b653ed5e48","class_name":
"c6","probs":[3.242876633891001e-09,5.356615773166595e-08,……],"predictions":3,"class":3}
通过使用PAI 平台在线预测服务,结合上
述核心Python 代码,对含220张驾驶图片的测试集进行了预测分析,比对真实情况,220张图片驾驶行为均被准确识别,准确率为100%.同时经过测试,平均每张图片预测耗时1160毫秒,不超过1.5秒,满足驾驶行为检测性能要求.
3传统本地线下模式比对
为与机器学习PAI 平台方式进行对比分
析,本文使用Python 编程语言,依托深度学习开源库Keras (版本号:2.2.5)、TensorFlow (版本号:1.15.3),开发了CNN 卷积神经网络模型.所设计的本地模型包含了卷积层、池化层、全连接层等结构,合计参数12946890个.使用上述与机器学习PAI 平台方式相同的1100张图片进行模型训练,在个人计算机中(CPU :1.8GHz 、4核,内存:10GB 、DDR3)耗时约222分钟(3.7小时),模型准确度及损失函数(cate⁃gorical_crossentropy )逐渐收敛,如图2所示
.
图2
线下模型准确度、损失函数收敛曲线
通过对含220张图片的测试集进行测试,成功预测193张图片所属驾驶行为,准确率为87.73%,此外平均每张图片预测耗时43毫秒.结合模型训练耗时、测试集准确率、平均每帧图片预测耗时及费用等因素,将本地开发模式与在线PAI 平台模式进行对比,具体情况见表2.基于PAI 平台Auto Learning 模式的方法
表2
两种模型训练模式对比
项目训练耗时/min 训练集准确率/%测试集准确率/%每帧识别耗时/ms
模型发布主要工作内容
费用
机器学习PAI 平台模式
1199.081001160支持一键自动发布
数据准备
①OSS 存储(标准型):0.12元/GB/月;
②Auto Learning 训练:公测阶段免费;
③EAS 服务(1CPU 核心+4GB 内存):0.4元/小时.
传统本地线下模式
22298.7387.7343
需要代码开发支持
数据准备、代码开发、模型评估等
基于第三方开源平台,免费使用
林峰,等:阿里云机器学习PAI平台在驾驶行为识别上的应用
具有如下特点:①操作人员不需要掌握额外的编程方法和深度学习技术,能够将主要精力集中于训练数据的采集和标注上.②依托阿里云IT技术积累,图像分类模型准确率较高.③可弹性提供模型训练依赖的计算资源.
④易于将模型发布为线上服务,方便其他系统或平台使用.⑤资费合理,使用者无需承担过高的费用,即可享受机器学习模型的训练、测试、发布等一站式服务.
4结语
本文基于阿里云机器学习PAI平台,结合Auto Learning自动学习模块,利用1100张含10种驾驶状态的车内影像数据,构建了一个高性能的线上驾驶行为识别模型.该方案解决了传统本地线下模型训练方式深度依赖开发能力和计算资源的缺陷,后续计划将进一步丰富数据集,提升模型在多场景、多尺度情况下驾驶行为识别准确率.
参考文献:
[1]崔健,赵建有.驾驶分心对隧道段行车安全
影响分析[J].安全与环境学报,2016,16(6):174-178.
[2]陈军,陆娇蓝,刘尧,等.基于云计算的多特征疲劳驾驶检测系统研究与设计[J].计算机测量与控制,2015,23(10):3341-3343.
[3]张辉,钱大琳,邵春福,等.驾驶人分心状态判别支持向量机模型优化算法[J].交通运输系统工程与信息,2018,18(1):127-132.
[4]RAO X,LIN F,CHEN Z,et al.Distracted driv⁃ing recognition method based on deep convolutional neural network[J].J Amb Intel Hum Comp,2019(8):193-200.
[5]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36.
[6]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017(6):1-23.
[7]李林,张盛兵,吴鹃.基于深度学习的实时图像目标检测系统设计[J].计算机测量与控制,2019(7):15-19.
[8]邢艳芳,段红秀,何光威.TensorFlow在图像识别系统中的应用[J].计算机技术与发展,2019,29(5):192-196.
[9]焦嘉烽,李云.大数据下的典型机器学习平台综述[J].计算机应用,2017,37(11):3039-3047,3052.
(责任编辑:王前)
Application of Aliyun PAI Platform in Driving Behavior Recognition
LIN Feng,LIU Yong-zhi
(Fuzhou Polytechnic,Fuzhou350108,China)
Abstract:With the popularization of driving recorders with dual camera function,how to analyze the real-time images of the driver in the car to identify the driver's state and provide timely warning of dangerous behaviors such as distracted driving and fatigue driving has become a hot research topic in recent years. Based on the PAI platform,this article uses the Auto Learning module to construct an online deep learn⁃ing model on1100in-car image data containing10driving states.The model training takes about11 min,and the recognition accuracy is up to99.08%.In addition,this paper verifies the feasibility of the PAI platform solution based on the comparison with the traditional local offline model training method,and provides a new reference method for driving behavior detection based on image recognition. Keywords:PAI platform;Auto Learning;driving behavior;machine learning。