论文部分内容阅读
摘要:本文致力于设计一款以行车记录仪为载体的基于车联网V2P的行人检测安全预警行车辅助系统。该系统配备对外、对内两个摄像头:对外摄像头应用人体检测算法,通过驱动LED灯和扬声器提示驾驶员车辆前方行驶方向范围内出现的行人信息;对内摄像头应用人脸识别算法,通过驱动扬声器提醒车内防盗、驾驶员疲劳驾驶、注意力不集中等信息。
关键词:行车记录仪;车联网;V2P;行人检测;人脸识别
中图分类号:U471文献标识码:A
基金项目:2019年省级大学生创新创业训练计划项目《基于车联网V2P的行人检测安全预警行车辅助系统设计》,项目编号为S201913235005。
0 引言
自动驾驶如今已经成为众多车企坚定不移的未来重点研发方向。然而在现阶段的技术、社会背景下,自动驾驶技术更多的停留在概念与测试阶段,其实际应用还有很长的路要走[1]。因此,将未来可期的自动驾驶技术以智能辅助驾驶系统的方式逐步引入汽车现有的配置中,提高驾驶安全系数,简化驾驶过程,是现今的主流趋势。
所谓车联网,指的是通过汽车上集成的GPS定位,RFID识别,传感器、摄像头和图像处理等电子组件。按照约定的通信协议和数据交互标准,在V2V、V2P、V21等之间,进行无线通信和信息交换的大系统网络。车联网技术不仅可以改善道路通行效率,解决交通拥堵,还能提高交通安全水平,是未来智慧交通的重点发展方向[2]。由于缺乏可行的沟通渠道,V2P安全系统的发展并未达到与V2V和V21同等的高度[3]。
本文设计的系统就是在这种理念下,将自动驾驶中的一项关键技术:行人检测功能应用到已经普遍配备于汽车上的行车记录仪上。同时增加对车内驾驶员情况的监督功能,达到提示驾驶员车辆非行驶或行驶状态下可能遇到的与行人相关的危险情况以及车辆盗窃、疲劳驾驶和注意力不集中等车内情况。
1 系统组成及功能
1.1 系统组成及功能概述
本系统在硬件结构组成上可以分为3个部分:控制模块、行人检测模块和驾驶员监督模块。其中控制模块由树莓派和音频输出模块组成;行人检测模块包含一个带有夜视功能的摄像头和三色LED灯发光模块;驾驶员监督模块则包含一个带有夜视功能的摄像头。
1.2 控制模块
系统的控制器为8G内存版本的树莓派4B,该控制器配备ARM Cortex-A72 1.5GHz(四核)内核,8GB运行内存,支持有线/WiFi/4G网络连接,40个外接I/O引脚,能够运行基于Linux内核的Raspbian系统,并能够连接显示器、鼠标和键盘等外部设备直接进行桌面可视化操作。以上特性为系统的功能实现提供了硬件支持,并且极大程度的简化了系统的研发、提高了项目设计和程序调试的效率。
在样机开发、调试过程中,音频输出模块使用了可同时支持3.5 mm音频输入连接和蓝牙连接的可充电便携式扬声器,可分别实现与控制器的有线/无线连接。该模块的主要功能是完成系统中包含的全部语音提示功能,具体有:在检测到汽车行驶方向范围内出现行人时,提示行人所在的方向和大致距离;在检测到驾驶位置上出现非授权使用者時发出警告音;车辆行驶中,在检测到驾驶员出现面部特征识别不清时提示注意安全驾驶[4]。
1.3行人检测模块
行人检测模块由带有夜视功能的摄像头(图2)和三色LED模块(图3)组成。由于车辆行驶过程及停车后环境光线可能存在较暗的情况,本系统采用带有夜视功能的摄像头以增强视频、图像的采集质量。除传统行车记录仪必备的车辆行驶过程录制功能外,摄像头模块的另一个重要功能是每隔一定时间间隔截取一帧图像,应用人体检测算法,得到汽车行驶方向范围内行人的位置和距离,并通过语音提示驾驶员。同时,点亮对应方向的LED,经由特制反光板反射在仪表台上,既起到提示驾驶员的作用,又不至于影响正常驾驶的视野。
1.4 驾驶员监督模块
驾驶员监督模块包含一个带有夜视功能的摄像头。由于夜晚行车时容易出现疲劳驾驶的情况,而这种条件下车内的光线普遍不足,对内摄像头采用的仍然是与对外模块相同的带有夜视功能的摄像头。对内摄像头每隔一定时间间隔会对驾驶员面部方向拍摄一帧图像,应用人脸识别算法,得到驾驶员的人脸信息,并实现2个功能。
(1)当驾驶员不属于授权人员时,通过扬声器发出警告。
(2)当车辆行驶过程中出现面部特征识别不清时,提示驾驶员注意安全驾驶。
2 系统关键技术研究
2.1 系统关键技术概述
系统关键技术分为3个部分:第一,用于实现行人检测的人体检测算法;第二,用于实现驾驶员监督的人脸识别算法;第三,用于提示驾驶员的语音合成算法。由于前两者(视频/图像处理)需要的硬件资源支持要求较高,这里对部署算法方式的可行性分析着重考虑系统关键技术中的第一点和第二点。
本系统选择的控制器树莓派4B的性能参数足以支撑部署在本地的图像处理算法,同时该控制器支持有线/WiFi/4G网络连接,所以备选的算法部署方案有以下2种。
(1)本地部署OpenCV库,应用python编程实现上述三个部分的算法设计。其优点为不需要依赖网络,缺点为图像处理较大的运算量对整个系统的硬件资源占用率较高、对系统实时性的影响较为明显。
(2)本地采集视频/图像信息,经由网络连接上传至智能云应用相应算法后返回处理结果,再由本地根据返回值执行后续操作。其优点为本地硬件资源占用率低、系统实时性较好,缺点为对网络连接的依赖较强且受网络信号强度、智能云服务质量等因素制约[5]。
由于本系统为汽车智能辅助驾驶系统,对实时性的要求较高,且系统设计基于智能车联网平台,网络连接功能应处在一个符合上述要求的条件下,所以本系统选择上述方案中的后者,即采用智能云计算的方式部署系统关键算法。市面上常见的可以为本项目研发提供技术支持的智能云计算包含百度云、华为云、阿里云等品牌,本文选择了百度智能云作为解决方案,算法名称与官方网站提供的在线算法名称保持一致。 2.2 人体检测
人体检测功能的实现过程如下(经由python代码实现)。
(1)本地对外摄像头采集车辆行驶路径方向前方的图像并保存至本地目录。
(2)连接百度智能云服务器上传拍摄图像。
(3)从百度智能云服务器得到该上传图像应用人体检测算法后的返回结果(图4),包含检测到人体所在的位置长方形边框左上角端点的坐标。
(4)根据拍摄图像像素点将图片区域划分为左、中和右三个部分。以1080P图像为例:横坐标1-640属于左侧区域;641-1280属于中间区域;1281-1920属于右侧区域。
(5)根据步骤(3)中百度智能云返回的坐标值判断行人出现的区域,经由I/O口驱动对应三色LED灯点亮。左侧区域,红色LED点亮;中间区域,黄色LED点亮;右侧区域,绿色LED点亮,提示驾驶员注意避让。
(6)生成对应语音提示语句,经由在线语音合成功能提示驾驶员注意避让。
2.3 人脸识别
人脸识别功能包含车辆防盗和疲劳驾驶及注意力不集中提醒两部分,分别对应汽车非行驶状态与行驶状态两种情况[6]。当汽车属于非行驶状态时,车辆防盗功能的实现过程如下。
(1)摄像头采集驾驶员面部方向的图像并保存至本地目录。
(2)连接百度智能云服务器上传拍摄图像。
(3)从服务器得到该上传图像应用人脸识别算法后的返回结果(图5),包含检测到人脸所属用户组姓名信息。
(4)此时若返回信息中人脸所属用户姓名为unknown,则表示此时驾驶员不是用户授权的车辆使用者。
(5)生成提示语句,经在线语音合成功能提示停止操作车辆。此时非授权车辆使用者的面部信息已存储至本地目录,可根据需要进一步选择提醒车主车辆非授权使用状态的方式。
当汽车属于行驶状态时,疲劳驾驶、注意力不集中提醒功能的实现过程如下(经由python代码实现)。
(1)~(3)同上。
(4)此时若返回信息:未检测到人脸,则系统判定出现低头、扭头等影响驾驶安全的行为出现,对内摄像头进入连续拍照模式。参照预先设定的阈值时间,当超过该时间的情况下仍然返回信息:未检测到人脸时,判定驾驶员出现疲劳驾驶、注意力不集中的情况。
(5)生成对应语音提示语句,经由在线语音合成功能提示驾驶员注意安全驾驶。
2.4 在线语音合成
在线语音合成功能的实现过程如下(经由python代码实现)。
(1)本地生成需要播放的语句的字符串。
(2)连接百度智能云服务器上传字符串。
(3)从百度智能云服务器得到返回的机器合成语音音频文件。
(4)由树莓派4B驱动扬声器播放音频文件,达到提示驾驶员的目的。
3 结束语
本文设计了一款以行车记录仪为载体的基于车联网V2P的行人检测安全预警行车辅助系统。该系统实现了3个方面的主要功能:通过三色LED灯光、语音两种方式提示车辆行驶方向上出现的行人及其所在位置;非授权人员驾驶车辆监控;通过语音方式对驾驶员疲劳驾驶、注意力不集中的行为进行提醒。该系统的设计基于车联网V2P理念,并结合了在线智能云技术,达到了智能辅助驾驶的目的。该项目得到了《2019年省級大学生创新创业训练计划项目》的支持,团队设计的样机经测试能够达到预期效果。
[参考文献]
[1] 来飞,黄超群,胡博,智能汽车自动驾驶技术的发展与挑战[J].西南大学学报(自然科学版),2019,41(08):124-133.
[2] 彭理群,何书贤,贺宜,等.基于车联网V2P的行人碰撞风险辨识研究[J].交通运输系统工程与信息,2018,18(01):89-95.
[3] 王超凡,基于V2P的避撞算法研究[D].重庆邮电大学,2018.
[4] 王飞跃,曹东璞,李升波,等,自动驾驶技术的挑战与展望[J].人工智能,2018(06):111-119.
[5] 崔兴文,基于行车记录仪的汽车辅助驾驶策略[J].电子技术与软件工程,2019(12):94.
[6] 王新雨,汪驰升,舒齐奇,等,深度学习目标检测算法在行车记录仪上的应用[J].智能城市,2019,5(14):4-8.
作者简介:
康之讷,硕士,助教,研究方向为单片机。
关键词:行车记录仪;车联网;V2P;行人检测;人脸识别
中图分类号:U471文献标识码:A
基金项目:2019年省级大学生创新创业训练计划项目《基于车联网V2P的行人检测安全预警行车辅助系统设计》,项目编号为S201913235005。
0 引言
自动驾驶如今已经成为众多车企坚定不移的未来重点研发方向。然而在现阶段的技术、社会背景下,自动驾驶技术更多的停留在概念与测试阶段,其实际应用还有很长的路要走[1]。因此,将未来可期的自动驾驶技术以智能辅助驾驶系统的方式逐步引入汽车现有的配置中,提高驾驶安全系数,简化驾驶过程,是现今的主流趋势。
所谓车联网,指的是通过汽车上集成的GPS定位,RFID识别,传感器、摄像头和图像处理等电子组件。按照约定的通信协议和数据交互标准,在V2V、V2P、V21等之间,进行无线通信和信息交换的大系统网络。车联网技术不仅可以改善道路通行效率,解决交通拥堵,还能提高交通安全水平,是未来智慧交通的重点发展方向[2]。由于缺乏可行的沟通渠道,V2P安全系统的发展并未达到与V2V和V21同等的高度[3]。
本文设计的系统就是在这种理念下,将自动驾驶中的一项关键技术:行人检测功能应用到已经普遍配备于汽车上的行车记录仪上。同时增加对车内驾驶员情况的监督功能,达到提示驾驶员车辆非行驶或行驶状态下可能遇到的与行人相关的危险情况以及车辆盗窃、疲劳驾驶和注意力不集中等车内情况。
1 系统组成及功能
1.1 系统组成及功能概述
本系统在硬件结构组成上可以分为3个部分:控制模块、行人检测模块和驾驶员监督模块。其中控制模块由树莓派和音频输出模块组成;行人检测模块包含一个带有夜视功能的摄像头和三色LED灯发光模块;驾驶员监督模块则包含一个带有夜视功能的摄像头。
1.2 控制模块
系统的控制器为8G内存版本的树莓派4B,该控制器配备ARM Cortex-A72 1.5GHz(四核)内核,8GB运行内存,支持有线/WiFi/4G网络连接,40个外接I/O引脚,能够运行基于Linux内核的Raspbian系统,并能够连接显示器、鼠标和键盘等外部设备直接进行桌面可视化操作。以上特性为系统的功能实现提供了硬件支持,并且极大程度的简化了系统的研发、提高了项目设计和程序调试的效率。
在样机开发、调试过程中,音频输出模块使用了可同时支持3.5 mm音频输入连接和蓝牙连接的可充电便携式扬声器,可分别实现与控制器的有线/无线连接。该模块的主要功能是完成系统中包含的全部语音提示功能,具体有:在检测到汽车行驶方向范围内出现行人时,提示行人所在的方向和大致距离;在检测到驾驶位置上出现非授权使用者時发出警告音;车辆行驶中,在检测到驾驶员出现面部特征识别不清时提示注意安全驾驶[4]。
1.3行人检测模块
行人检测模块由带有夜视功能的摄像头(图2)和三色LED模块(图3)组成。由于车辆行驶过程及停车后环境光线可能存在较暗的情况,本系统采用带有夜视功能的摄像头以增强视频、图像的采集质量。除传统行车记录仪必备的车辆行驶过程录制功能外,摄像头模块的另一个重要功能是每隔一定时间间隔截取一帧图像,应用人体检测算法,得到汽车行驶方向范围内行人的位置和距离,并通过语音提示驾驶员。同时,点亮对应方向的LED,经由特制反光板反射在仪表台上,既起到提示驾驶员的作用,又不至于影响正常驾驶的视野。
1.4 驾驶员监督模块
驾驶员监督模块包含一个带有夜视功能的摄像头。由于夜晚行车时容易出现疲劳驾驶的情况,而这种条件下车内的光线普遍不足,对内摄像头采用的仍然是与对外模块相同的带有夜视功能的摄像头。对内摄像头每隔一定时间间隔会对驾驶员面部方向拍摄一帧图像,应用人脸识别算法,得到驾驶员的人脸信息,并实现2个功能。
(1)当驾驶员不属于授权人员时,通过扬声器发出警告。
(2)当车辆行驶过程中出现面部特征识别不清时,提示驾驶员注意安全驾驶。
2 系统关键技术研究
2.1 系统关键技术概述
系统关键技术分为3个部分:第一,用于实现行人检测的人体检测算法;第二,用于实现驾驶员监督的人脸识别算法;第三,用于提示驾驶员的语音合成算法。由于前两者(视频/图像处理)需要的硬件资源支持要求较高,这里对部署算法方式的可行性分析着重考虑系统关键技术中的第一点和第二点。
本系统选择的控制器树莓派4B的性能参数足以支撑部署在本地的图像处理算法,同时该控制器支持有线/WiFi/4G网络连接,所以备选的算法部署方案有以下2种。
(1)本地部署OpenCV库,应用python编程实现上述三个部分的算法设计。其优点为不需要依赖网络,缺点为图像处理较大的运算量对整个系统的硬件资源占用率较高、对系统实时性的影响较为明显。
(2)本地采集视频/图像信息,经由网络连接上传至智能云应用相应算法后返回处理结果,再由本地根据返回值执行后续操作。其优点为本地硬件资源占用率低、系统实时性较好,缺点为对网络连接的依赖较强且受网络信号强度、智能云服务质量等因素制约[5]。
由于本系统为汽车智能辅助驾驶系统,对实时性的要求较高,且系统设计基于智能车联网平台,网络连接功能应处在一个符合上述要求的条件下,所以本系统选择上述方案中的后者,即采用智能云计算的方式部署系统关键算法。市面上常见的可以为本项目研发提供技术支持的智能云计算包含百度云、华为云、阿里云等品牌,本文选择了百度智能云作为解决方案,算法名称与官方网站提供的在线算法名称保持一致。 2.2 人体检测
人体检测功能的实现过程如下(经由python代码实现)。
(1)本地对外摄像头采集车辆行驶路径方向前方的图像并保存至本地目录。
(2)连接百度智能云服务器上传拍摄图像。
(3)从百度智能云服务器得到该上传图像应用人体检测算法后的返回结果(图4),包含检测到人体所在的位置长方形边框左上角端点的坐标。
(4)根据拍摄图像像素点将图片区域划分为左、中和右三个部分。以1080P图像为例:横坐标1-640属于左侧区域;641-1280属于中间区域;1281-1920属于右侧区域。
(5)根据步骤(3)中百度智能云返回的坐标值判断行人出现的区域,经由I/O口驱动对应三色LED灯点亮。左侧区域,红色LED点亮;中间区域,黄色LED点亮;右侧区域,绿色LED点亮,提示驾驶员注意避让。
(6)生成对应语音提示语句,经由在线语音合成功能提示驾驶员注意避让。
2.3 人脸识别
人脸识别功能包含车辆防盗和疲劳驾驶及注意力不集中提醒两部分,分别对应汽车非行驶状态与行驶状态两种情况[6]。当汽车属于非行驶状态时,车辆防盗功能的实现过程如下。
(1)摄像头采集驾驶员面部方向的图像并保存至本地目录。
(2)连接百度智能云服务器上传拍摄图像。
(3)从服务器得到该上传图像应用人脸识别算法后的返回结果(图5),包含检测到人脸所属用户组姓名信息。
(4)此时若返回信息中人脸所属用户姓名为unknown,则表示此时驾驶员不是用户授权的车辆使用者。
(5)生成提示语句,经在线语音合成功能提示停止操作车辆。此时非授权车辆使用者的面部信息已存储至本地目录,可根据需要进一步选择提醒车主车辆非授权使用状态的方式。
当汽车属于行驶状态时,疲劳驾驶、注意力不集中提醒功能的实现过程如下(经由python代码实现)。
(1)~(3)同上。
(4)此时若返回信息:未检测到人脸,则系统判定出现低头、扭头等影响驾驶安全的行为出现,对内摄像头进入连续拍照模式。参照预先设定的阈值时间,当超过该时间的情况下仍然返回信息:未检测到人脸时,判定驾驶员出现疲劳驾驶、注意力不集中的情况。
(5)生成对应语音提示语句,经由在线语音合成功能提示驾驶员注意安全驾驶。
2.4 在线语音合成
在线语音合成功能的实现过程如下(经由python代码实现)。
(1)本地生成需要播放的语句的字符串。
(2)连接百度智能云服务器上传字符串。
(3)从百度智能云服务器得到返回的机器合成语音音频文件。
(4)由树莓派4B驱动扬声器播放音频文件,达到提示驾驶员的目的。
3 结束语
本文设计了一款以行车记录仪为载体的基于车联网V2P的行人检测安全预警行车辅助系统。该系统实现了3个方面的主要功能:通过三色LED灯光、语音两种方式提示车辆行驶方向上出现的行人及其所在位置;非授权人员驾驶车辆监控;通过语音方式对驾驶员疲劳驾驶、注意力不集中的行为进行提醒。该系统的设计基于车联网V2P理念,并结合了在线智能云技术,达到了智能辅助驾驶的目的。该项目得到了《2019年省級大学生创新创业训练计划项目》的支持,团队设计的样机经测试能够达到预期效果。
[参考文献]
[1] 来飞,黄超群,胡博,智能汽车自动驾驶技术的发展与挑战[J].西南大学学报(自然科学版),2019,41(08):124-133.
[2] 彭理群,何书贤,贺宜,等.基于车联网V2P的行人碰撞风险辨识研究[J].交通运输系统工程与信息,2018,18(01):89-95.
[3] 王超凡,基于V2P的避撞算法研究[D].重庆邮电大学,2018.
[4] 王飞跃,曹东璞,李升波,等,自动驾驶技术的挑战与展望[J].人工智能,2018(06):111-119.
[5] 崔兴文,基于行车记录仪的汽车辅助驾驶策略[J].电子技术与软件工程,2019(12):94.
[6] 王新雨,汪驰升,舒齐奇,等,深度学习目标检测算法在行车记录仪上的应用[J].智能城市,2019,5(14):4-8.
作者简介:
康之讷,硕士,助教,研究方向为单片机。