基于深度学习框架设计的货运管家(功能总结)

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于深度学习框架设计的货运管家(功能总结)相关的知识,希望对你有一定的参考价值。

项目背景:

在快递行业发达的今天,有数不胜数的货运公司、快递公司,这些公司都有自己的运输车辆,请师傅开车送货。

比如:快递公司、烟草运输公司、货物运输公司等等。 为了能方便管理货车,了解车辆行驶路线(是否是公司规定的路线)、行驶过程中是否违规吸烟、疲劳驾驶、未系安全带等等。根据需求开发了这一套智能货运管家系统。

功能框架:

货运管家的车载主机–显示屏界面:

下面介绍这套货运管家系统功能实现的技术指标:

1 识别过程原理

通过采集数据,做二值化分类,给神经网络输入正向的图片(例如抽烟)和负向的图片(例如不抽烟),进行训练学习。神经网络会把这个特征学会。神经网络并不知道某个行为是什么意思。但是通过卷积神经网络学到了这个特征。所以过程需要采集各类正负向图片。

识别的思路,首先需要先识别图像中是否有人体,若检测到至少1个人体,将目标最大的人体作为驾驶员,进一步识别驾驶员的属性行为,再逐步分析识别是否使用手机、抽烟、未系安全带、双手离开方向盘、视线未朝前方、未佩戴口罩、闭眼、打哈欠、低头等典型行为姿态。 通过分析人体行为的这项技术还可以针对出租车、客车、公交车、货车等各类营运车辆,实时监控车内情况,识别驾驶员抽烟、使用手机、未系安全带、未佩戴口罩、疲劳、视线偏离等违规行为,及时预警,降低事故发生率,保障人身财产安全。

识别的图像需要提前使用算法训练得到模型,深度学习算法里面的基本模型大致分为了3类:多层感知机模型;深度神经网络模型和递归神经网络模型。其代表分别是DBN(Deep belief network) 深度信念网络、CNN(Convolution Neural Networks)卷积神经网络、RNN(Recurrent neural network) 递归神经网络。

2 动作定义

对于某些“动作”其实可以理解为单帧图片识别。例如,抽烟这个动作。我们对抽烟的严谨定义就是,一个张图片里只要嘴巴位置叼着烟就是吸烟。宽松定义就是,图片中的嘴巴位置出现烟,或者手上出现烟就认为这个特征是吸烟。

再宽松一点,图片中的嘴巴位置或者手上的位置出现类似烟的东西(例如白纸),就认为是抽烟。

3 单个动作识别和连续动作识别

单个动作识别就是只需要对任意一帧图片进行识别,便可以得出该帧图片到底是包含还是不不包含某个特征。它和前后帧没有多大联系。例如,抽烟、未系安全带、打电话等,基本通过单帧图像识别。

而对于疲劳驾驶,则要求更复杂一些,因为某些情况下一帧图片(例如张嘴)不能代表疲劳。它也有可能表示正常的张嘴。此时需要对连续动作进行识别,根据前后帧的结果进行计算。来判断当前连续动作是否属于疲劳的范畴。

4 一些要求

1 自带NPU的芯片。

2 采集摄像头要带有夜视功能。

5 识别抽烟

类别:单帧图像识别。

识别率:85%

6 识别未系安全带

类别:单帧图像识别。

识别率:85%

7 识别打电话

类别:单帧图像识别。

识别率:85%

8 识别疲劳驾驶

疲劳驾驶主要是通过检测眼睛的闭合频率来识别的,眼睛闭合的频率和持续时间在某种程度上可以反映疲劳的状态。卡内基梅隆研究所经过反复试验和论证,提出了度量疲劳的物理PERCLOS。PERCLOS定义为一定时间内眼睛的闭合程度,它已经成为度量疲劳状态的一种科学有效的方法。

当一定时间间隔内眼睛闭合所占的时间比例超过15%时即认为是疲劳状态。PERCLOS方法通过眼睛闭合所占的时间比例进行疲劳驾驶的判定。但是,眼睛的大小因人而异,眼睛的面积因受所在场景和头部运动的影响也是动态变化的,眼睛的睁开程度是相对于自身的最大睁开状态而言的。当然,时间可以转换为视频帧数,在判断眼睛的状态特征时我们使用的是类PERCLOS的方法。

目前,PERCLO方法有三种判断疲劳的不同准则,分别E准则、P70准则、P80准则。其具体含义如下:

EM准则:瞳孔被眼睑覆盖超50%的面积,则认为眼睛是闭合的;

P70准则:瞳孔被眼睑覆盖超70%的面积,则认为眼睛是闭合的;

P80准则:瞳孔被眼睑覆盖超过80%的面积,则认为眼睛是闭合的。

当人注意力特别集中或处在沉思状态时可能也会有眼睑覆盖瞳孔超过50%甚至70%的可能,所以系统采用的是P80准则。

正常情况下,人在一分钟之内要眨十次左右的眼睛,每次需要0.30.4秒左右,两次眨眼之间的间隔约为2.84.0秒。然而,由于管制员工作性质的不同,需要其在工作中注意力高度集中,所以眨眼次数略少,约5~10次。眼睛闭合的频率以及闭合时间的长短与疲劳有密切联系,如果连续监测到管制员的PERCLOS>30%且平均闭眼时长>0.25s,就判定管制员处于疲劳状态,并发出报警。

类别:连续

帧识别。

识别率:80%~85%。

动作定义:

①连续n秒内取出x帧画面出现y次张嘴动作(涉及张嘴幅度的计算)

n取3-5,是一个根据反馈调节的参数。

x取10~25,是一个根据反馈调节的参数。

y取10~25。

②连续n秒内取出x帧画面出现y次眼睛闭合动作(涉及闭眼幅度的计算)。

n取3-5,是一个根据反馈调节的参数。

x取10~25,是一个根据反馈调节的参数。

y取10~25。

以上是关于基于深度学习框架设计的货运管家(功能总结)的主要内容,如果未能解决你的问题,请参考以下文章

毕业设计 : 基于机器学习的驾驶疲劳检测

毕设 深度学习疲劳驾驶检测 opencv python

利用深度学习框架Tensorflow做图像识别(基于阿里云PAI)

毕业设计疲劳驾驶检测系统 - 机器学习 机器视觉 OpenCV python

毕业设计深度学习疲劳检测 驾驶行为检测 - python opencv cnn

自动化学科前沿讲座作业 基于深度学习的工厂人员监测系统设计