草庐IT

一文读懂智能汽车驾驶员监控系统

智驾最前沿 2023-03-28 原文
驾驶员监控系统,缩写DMS,是英文Driver Monitor System的缩写,即驾驶员监控系统。主要是实现对驾驶员的身份识别、驾驶员疲劳驾驶以及危险行为的检测功能。

福特DMS系统

01 法规加持,DMS进入发展快车道

在现阶段开始量产的L2-L3级自动驾驶中,其实都只有在特定条件下才可以实行,很多状况下需要驾驶员能及时接管车辆进行处置。因此,在驾驶员太信任自动驾驶而放弃或减弱对驾驶过程的掌控时可能会导致某些事故的发生。而DMS-驾驶员监控系统的引入可以有效减轻这一问题的出现。

麦格纳DMS系统,截取自麦格纳介绍视频

因此,近年来各国的政策法规等多方面开始推进DMS的上车:欧盟和中国均出台法律法规。国内已率先对“两客一危”等商用车车型安装DMS系统作出强制要求,乘用车搭载要求也在推进制定中。而欧盟则将DMS纳入Euro NCAP五星安全评级的关键要素,而且是必要条件。几乎是从2020年开始,DMS系统的装车率快速提升,行业进入发展快车道。

21年7月由工信部、公安部和交通运输部联合印发的《智能网联汽车道路测试与示范应用管理规范(试行)》强调要求智能网联汽车要具备在线监控功能,可以反映驾驶人和人机交互状态的车内视频及语音监控情况。

02 视觉方案-DMS技术方案简介

DMS的核心功能主要是疲劳监测、分心监测、危险行为监测。早期的DMS方案主要通过非生物特征的技术来实现,比如通过方向盘及转向传感器,监测任何不稳定的方向盘运动、车道偏离或无故改变速度等。但由于系统复杂,非直观感知,整体的搭载率一直很低。

早期的DMS由于非直观感知,可能会误导系统判断。来源,知乎康斯坦丁.DC

现阶段的DMS则大多是基于摄像头的面部识别和眼球跟踪技术,通过红外光等采集驾驶员面部信息再经过算法分析出人员当下的身体状态,在检测到驾驶员处于不安全状态时,再通过闪烁红光或是方向盘震动等方案对驾驶者进行提醒。整个系统的硬件部分是由摄像头+集成座舱车机/域控制器解决方案组成;软件部分则主要涉及AI视觉算法。

图片来源 Eyesight

2D/3D的摄像头配置

目前大部分用于检测驾驶员疲劳的驾驶员监测系统均采用成本较低的传统2D可见光摄像头(配合IR红外LED)。

水晶光电DMS摄像头简介

理想L9的DMS系统

2022年,理想L9搭载了Melexis的3D-ToF传感器,并将之应用DMS系统。这种采用近红外光的3D光学传感技术可以构建驾驶员头部“深度图”,通过“深度图”可以精准的分析驾驶员的独特面部特征,性能远超2D技术。除了Melexis外,NXP、艾迈斯欧司朗等也都有类似的技术方案布局。

摄像头的集成

这一摄像头主要安装在正对驾驶员的位置,包括车内后视镜/行车记录仪,方向盘、仪表中控屏以及A柱等。考虑到整体内饰的美观性,摄像头的集成也成为一个备受关注的课题。

麦格纳将摄像头集成在后视镜中

天马发布可集成DMS摄像头的挖孔屏

DMS系统的功能拓展

驾驶员监控系统的基础功能是疲劳监测、分心监测、危险行为监测。但随着2D/3D摄像头的引入以及人脸识别算法的发展,DMS系统也在融合ADAS等自动驾驶技术的发展,催生出了一些创新人机交互HMI智能化的场景应用,提升高级别自动驾驶/智能网联汽车时代的驾乘体验。

大陆集团DMS系统,来源大陆官网

作为创新人机交互的传感器,这些DMS功能的拓展功能主要是获取驾驶员信息,从而进一步完善未来汽车座舱中的新应用,并实现定制化体验:

1、面部身份识别

当用户靠近传感器时,无需动作配合,即可快速完成活体判断并进行身份识别,主动为用户打开车门,调整座椅位置,并快速登陆车机系统,保障座舱系统高效运行。

面部识别的引入,不仅提升了驾驶的舒适体验,更可以提高车辆使用安全,比如说防盗功能。

2、眼球追踪

利用摄像头进行视野追踪、头部姿态跟踪技术,识别出驾驶员注视的区域(主驾挡风玻璃、副驾挡风玻璃、左后视镜……)。这一功能可以与当前热门的HUD抬头显示系统联动,可以实时调整并为驾驶员提供更合适的显示画面。

松下AR HUD

3、手势识别

手势识别,基于视觉手势识别技术,与车机系统相连,提供新的结合方式,通过车载摄像头完成全部功能。如做了相应手势之后,主机会进行歌曲切换或静音等操作,具体定义由各个主机厂自己定义。

手势交互方案属于在传统触摸控制方案之外的新交互方案,在宝马上已经应用多年。这个摄像头与DMS系统也可以产生一定联动。

4、表情识别,情绪感应

通过创新AI算法,识别出驾驶员当下的情绪,可以联动氛围灯、香氛系统。这种应用丰田在CES 2019上有展示。

丰田纺织的 AceS概念

5、娱乐互动

自动驾驶技术研发商MINIEYE在其I-CS座舱感知量产方案中创新性地打通了前后排的互动空间,借助视线、手势、头部动作等多种自然身体语言的交互方式,可实现多人多位置便捷互动。

图源MINIEYE

6、座舱乘员检测OMS

将专门对应驾驶员的摄像头拓展到整个座舱内部,可以进一步提升整体车内的安全性。

通过位于车顶的摄像头,并结合毫米波雷达的感知数据,系统可以综合分析人脸属性、人体骨骼比例以及身长信息,能够准确判断成人与儿童。当识别到儿童,系统将主动触发儿童看护功能,持续对儿童进行状态、行为监测,并实时反馈给前排家长,提醒其采取必要措施。

有关一文读懂智能汽车驾驶员监控系统的更多相关文章

  1. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  2. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  3. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  4. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  5. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  6. ruby - 以毫秒为单位获取当前系统时间 - 2

    在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:

  7. ruby-on-rails - 如何构建复杂的 Rails 系统 - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我们有以下(以及更多)系统,我们将数据从一个应用推送/拉取到另一个:托管CRM(InsideSales.com)Asterisk电话系统(内部)横幅广告系统(openx,我们托管)潜在客户生成系统(自行开发)电子商务商店(spree,我们托管)工作板(本土)一些工作网站抓取+入站工作提要电子邮件传送系统(如Mailchimp,自主开发)事件管理系统(如eventbrite,自主开发)仪表板系统(大量图表和

  8. ruby-on-rails - Rails 3,在RAILS_ROOT上方显示来自本地文件系统的jpg图片 - 2

    我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。

  9. ruby - 我可以从 Ruby 中的系统调用中获得连续输出吗? - 2

    当您在Ruby脚本中使用系统调用时,您可以像这样获得该命令的输出:output=`ls`putsoutput这就是thisquestion是关于。但是有没有办法显示系统调用的连续输出?例如,如果您运行此安全复制命令,以通过SSH从服务器获取文件:scpuser@someserver:remoteFile/some/local/folder/...它显示随着下载进度的连续输出。但是这个:output=`scpuser@someserver:remoteFile/some/local/folder/`putsoutput...不捕获该输出。如何从我的Ruby脚本中显示正在进行的下载进度?

  10. u盘安装系统(win10为例) - 2

    下载微PE工具箱进入官网下载微PE工具箱-下载 安装好后,打开微PE工具箱客户端,选择安装PE到U盘 PE壁纸可选择自己喜欢的壁纸,勾选上包含DOS工具箱,个性化盘符图标 下载原版系统进入网站下载镜像NEXT,ITELLYOU如果没有账号,注册一下就好进入选择开始使用选择win10 这里我们选择消费者版,用迅雷把BT种子下载下来 下面的两个盘符,是PE工具箱安装进U盘后,分成的盘符,注意EFI的盘符,这里面不能删东西,也不能添东西,另一个盘符可以当做正常的U盘空间使用,我们现在需要把下载下来的景象文件复制到正常的U盘空间中去 这个时候我们的系统U盘就只做好了 安装系统我们将U盘插入电脑,开机,

随机推荐