DMS技术详解 一

DMS技术详解

DMS(Driver Monitor System)——驾驶员监控系统

DMS概述

DMS系统最开始的应用是监控驾驶员的状态,以防止驾驶员疲劳,分神等危害驾驶过程的行为发生。随着计算机视觉技术的发展,现在DMS系统基本涵盖了整个车载视觉解决方案。

传统DMS功能分为:

1、疲劳驾驶检测

2、分心驾驶检测

当前车厂提出的需求:

1、司机视线检测

2、手势识别(与车机交互)

3、人脸识别(不同的驾驶员调整座椅高度等个性化设置)

4、表情识别


疲劳检测

何谓疲劳?百度百科上这样解释的

疲劳是一种主观不适感觉,但客观上会在同等条件下,失去其完成原来所从事的正常活动或工作能力

从我们主观感受来看,判断一个人是否疲劳,也就是这个人是否打哈欠了,是否闭眼了。从而转换到计算机视觉中,就是检测闭眼动作和打哈欠动作了,打哈欠也就是张嘴动作。

那么,闭眼和张嘴动作如何识别?

目前常用的有两种方法,第一种是人脸landmark,第二种是图像分类

人脸landmark如下图所示

DMS技术详解 一_第1张图片

对于眼睛来说,根据眼睛上眼睑、下眼睑,左右眼角的landmark坐标来计算眼睛的开合程度

对于嘴巴亦是如此。

使用landmark方法,其优点就是思路比较简单,只需要根据landmark的坐标计算即可,其缺点也显而易见,此算法精度跟landmark定位精度息息相关,如果landmark定位很准,那么最终计算结果就很准。

使用图像分类方法

DMS技术详解 一_第2张图片

此类方法对landmark的精度要求不是很高,这里常用方法是收集正负样本,训练一个鲁棒性比较强的分类器来对状态进行判断。直接由分类器来输出最终的结果。

分心驾驶检测

在驾驶过程中,一切注意力不在驾驶上的行为都被称为分心行为。例如,低头找东西,看窗外的风景,接打电话,喝水,等等。所以在分心驾驶检测算法中,就要对这些出现的动作全部检出。

对于这些异常情况,可以将其分为两种。例如低头或者看窗外都是跟人头有关,如果能够得到人头姿态角度,那么问题就可以解决;喝水,打电话等动作,都属于动作识别,设计一个动作识别的算法也可以解决。

人头姿态角算法

得到人头姿态角度,一般有两种方法。第一种是上文中提到的landmark,人脸上关键点的坐标全部已知,使用PnP算法可以直接拟合出人头三维角度;第二种是使用标记好的yaw,pitch,roll三个角度的人脸图片直接训练一个小型网络,网络输出层直接回归三个float量,简单粗暴,精度较高,训练数据集直接使用开源人脸数据集,无需标注。

动作识别算法

在DMS应用中,一般需要识别出打电话动作,喝水动作,抽烟动作。如果单纯地将其是作为动作行为识别,使用LSTM或者3D-Conv算法,其计算消耗资源很严重,杀鸡焉用牛刀?所以,一般有两种比较简单的方法。第一种是将此类的动作识别视为目标检测问题,例如打电话识别,就将手机视为待检目标,喝水检测就将水杯视为待检目标。这种方法思路很简单,但是有一个缺点就是,例如DMS摄像头装在汽车A柱,司机右手打电话,这时候成像画面中是看不到手机的,所以这种场景下检出率不高。另一种方法是将动作识别视为单帧图像分类任务,采集多种动作行为下的图片,人工标注监督信号进行训练,使用分类器判断最后的动作分类。

视线检测

司机在驾驶过程中,其注视方向,也是一个值得关注的问题。

DMS技术详解 一_第3张图片

你可能感兴趣的:(目标检测,经验,深度学习)