一种基于人工智能平台的电动车自动驾驶方法与流程

文档序号:15593004发布日期:2018-10-02 19:10阅读:339来源:国知局

总的而言本发明涉及图像处理,特别涉及一种基于人工智能平台的电动车自动驾驶方法。



背景技术:

目前石油以及天然气等传统车用能源在燃烧过程中会给大气带来严重的污染,为了大幅降低车辆给环境带来的污染,依靠电能行驶的电动车辆顺应而生。近年来,自动驾驶受到了越来越多的关注,被认为是缓解交通拥堵,减少交通事故和环境污染的重要技术。当前,电动车自动驾驶技术已有了长足发展,但依然存在诸多技术问题有待克服。目前自动驾驶电动车一般具有各种传感器用于检测车外道路环境,但关键时刻依然需要驾驶员介入,这些关键时刻一般包括例如电池电量低、驱动系统故障、交叉路口、无法完成道路识别等等。而目前自动驾驶系统并不对驾驶员的当前状况等方面进行检测,例如驾驶员疲劳时,其不能及时对危险情况进行人工干预,自动驾驶系统会对车内乘员构成严重威胁。随着计算机技术的发展,通过人脸进行年龄识别、身份识别已越来越成熟,人脸识别技术与无人驾驶技术的融合对于解决上述问题提供了一种新的途径。



技术实现要素:

针对现有技术的缺陷,本发明提供了一种基于人工智能平台的电动车自动驾驶方法。

一种基于人工智能平台的电动车自动驾驶方法,包括以下步骤:s100,检测驾驶员是否进入车内;s200,当判定驾驶员进入车内后,对驾驶员进行人脸检测,判断其与预存储的驾驶员面部特征是否匹配;s300,匹配成功后,根据获取到的起点与终点位置,进行路径规划,进入自动驾驶模式;s400,定时抓取驾驶员面部表情特征,根据面部表情判断驾驶员是否疲劳。

可选的,在采集到人脸图像数据后,通过服务器发送到人工智能云平台,云平台内置的深度学习引擎训练数据,获得在车内识别人脸及判断疲劳状态的算法模型,利用该优化的算法模型进行人脸检测、面部特征识别,以及根据面部表情判断驾驶员是否疲劳。

可选的,所述步骤s100包括:存储单元中预存储压力阈值,当座位下的压力传感器检测到压力值大于设定的压力阈值后,通过ecu唤醒车内摄像头,通过车内摄像头进行驾驶员的人脸识别。所述步骤s200包括人脸检测与面部特征识别两个部分,通过多级模型进行人脸检测,除输入级模型以外的每一级模型以其前一级模型的输出为输入,采用卷积神经网络来实现上述每一级的模型,由前级模型对人脸的旋转角度进行粗略的分类,由后级的模型依据更加精细的角度进行分类。所述步骤s200包括:利用静态匹配与动态匹配相融合的方法进行面部特征识别。所述步骤s400包括:s410,提取人脸图像中人脸关键点,对人脸图像进行对齐;s420,矫正倾斜头像:s430,判断左、右眼及嘴部状态;s440,检测驾驶员是否处于疲劳状态。

本发明的有益效果是:将人脸识别技术应用到电动车自动驾驶中,大大提高了驾驶员识别的精度,确保了驾驶员为适格的驾驶员,根据面部表情进行疲劳检测,防止疲劳驾驶,使得在自动驾驶模式中驾驶员可以对紧急情况及时做出干预,提高了自动驾驶的安全性。

附图说明

图1为本发明电动车系统的结构示意图;

图2为本发明自动驾驶方法的流程图;

图3为本发明人脸识别的流程图;

图4为本发明疲劳检测的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明,使本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按比例绘制附图,重点在于示出本发明的主旨。

参阅图1,首先对本发明的电动车系统做简要介绍。图1示意性的画出了无人驾驶电动车的主要组成部分,包括动力电池组、ecu(电子控制单元)、车外检测单元、车内检测单元、以及驱动单元等等。其中动力电池组为电动车的动力来源,用于为系统提供电力;ecu为车辆的核心控制部分,通过其完成车内人员识别、车外道路识别、各种逻辑控制、控制驱动单元驱动电机运行等等;路径规划单元用于根据输入的起点和终点进行路径规划,找到最优路径;车外检测单元指的是布置于驾驶室之外的各种检测元件,这些元件可以包括例如测量电池组电压的电压传感器,测量电池组温度的温度传感器,测量车速的速度传感器,获取道路图像的车外摄像头等等;车内检测单元指的是布置于驾驶室之内的各种检测元件,这些元件可以包括例如用于对车内人员进行人脸识别的摄像头,温度传感器,布置于座椅之下的压力传感器等等;驱动单元通常采用逆变器,其根据ecu的指令,以pwm(脉宽调制)的方式将动力电池组输出的直流电转换为频率与幅值变化的交流电提供给电机,驱动电动车辆运行。

ecu(电子控制单元)还连接有无线接口,通过服务器连接人工智能云平台。车内检测单元在采集到人脸图像数据后,ecu通过服务器发送到人工智能云平台,云平台内置的深度学习引擎训练数据,获得在车内识别人脸及判断疲劳状态的算法模型,人工智能云平台并将优化后的算法模型发送到ecu,利用该优化的算法模型进行人脸检测、面部特征识别,以及根据面部表情判断驾驶员是否疲劳。

本发明中的自动驾驶方法,大致包含如下几个步骤:s100,检测驾驶员是否进入车内;s200,当判定驾驶员进入车内后,对驾驶员进行人脸检测,判断其与预存储的驾驶员面部特征是否匹配;s300,匹配成功后,根据获取到的起点与终点位置,进行路径规划,进入自动驾驶模式;s400,定时抓取驾驶员面部表情特征,根据面部表情判断驾驶员是否疲劳。下面分别对各个步骤进行详细介绍。

对于步骤s100而言,驾驶员的检测可以由车内摄像头完成,即车内摄像头持续对驾驶位进行拍摄,当检测到人员后,进行人脸识别。然而,对于电动车而言,动力电池组的电量是宝贵的,应该减少任何不必要的电能消耗,持续的图像采集会耗费相当一部分电力。为此,本发明通过驾驶位下的压力传感器进行驾驶员是否存在的检测,具体而言,存储单元中预存储压力阈值,当座位下的压力传感器检测到压力值大于设定的压力阈值后,通过ecu唤醒车内摄像头,通过车内摄像头进行驾驶员的人脸识别,这一方案中,ecu仅需要向压力传感器提供微弱的工作电力即可,车内摄像头不必持续工作,从而节省了电力消耗。

车内摄像头唤醒后,首先要确认驾驶位存在适格的驾驶员,此处适格的驾驶员指的是驾驶员的身份、年龄等符合预设的驾驶员要求,例如,对于身份而言,可以将预先采集到的适格驾驶员的面部图像存储于存储单元中,当车内摄像头采集到的驾驶员面部图像与预存储的图像相符合时,则判定该驾驶员为适格的驾驶员。对于年龄而言,可以在存储单元中预存储适格驾驶员的年龄阈值,这一阈值例如可以是:18岁<适格驾驶员<60岁,即要求驾驶员的年龄介于18岁至60岁之间,车内摄像头获取到驾驶员的面部图像后,进行年龄识别,通过识别的年龄,判断当前驾驶员的年龄是否位于阈值内,当位于阈值内时,则判定驾驶员的年龄是适格的。

步骤s200中进行驾驶员身份识别,这一过程包括人脸检测与面部特征识别两个部分,下面对这两个部分分别进行详细介绍。人脸检测指的是判断由车内摄像头所采集到的图像中人脸是否存在人脸/人脸所在区域,以便后续在面部特征识别中对该区域进行进一步的处理。人脸检测的结果直接影响了面部特征识别的准确性。然而当驾驶员进入驾驶位后,其头部一般不会保持不动,驾驶员通常会进行例如打开收音机、取放眼镜、与后排乘客交谈等动作,在这一过程中,驾驶员的面部通常会上/下/左/右转动,这样摄像头所捕捉到的人脸通常不是正面像,捕捉到的人脸图像与水平方向存在夹角,例如存在侧脸、头顶朝下等情况,这要求在对驾驶员进行人脸检测时消除上述影响。对此,本发明通过多级模型来进行人脸检测,通过多级模型进行多次旋转/校准,使得经过上述调整之后再由下一级模型对校准后窗口进行进一步的人脸识别,由此逐渐地缩小人脸的最大旋转角度,有利于模型做出更准确的人脸与非人脸筛选。

具体而言,人脸检测运用多级模型,多级模型至少包括两级模型,除输入级模型以外的每一级模型以其前一级模型的输出为输入,采用卷积神经网络来实现上述每一级的模型,这是由于卷积神经网络在实施人脸检测以及分类时可以获得非常好的效果。由此,由前级的模型依据可能存在的人脸的旋转角度进行粗略的分类,由后级的模型依据更加精细的角度进行分类,具体检测流程包括以下步骤。

s210:输入级模型对待检测图像进行人脸检测,对筛选出的可能包含人脸的窗口根据人脸的角度进行分类,根据分类对窗口进行第一次校准。例如对于大多数情况下,驾驶员进入驾驶位置后,其头部运动为左、右运动,车内摄像头所抓拍到的人脸角度基本为向左、向右,这样可以通过输入级粗略地将人脸的旋转角度划分2类。通过这样的方式,可以将检测到的可能包含人脸的窗口全部划分到同一个分类中,即使得各个窗口中的可能的人脸与参考方向之间的夹角均在(-90°,90°]的范围内,并且该同一个分类更加接近于人脸检测的算法的参考方向,有利于在随后的步骤中通过继续执行人脸检测来获得准确的识别结果。

s220:中间级模型对由输入级模型输出的窗口进行人脸检测,针对进一步筛选出的可能包含人脸的窗口根据人脸的旋转角度进一步进行分类划分,并根据所划分的类别对该可能包含人脸的窗口的角度范围进行进一步的校准。中间级仅对在步骤s100中实施过校准的窗口进行人脸检测,以提高计算效率。例如,人脸检测算法的参考方向为竖直向上,将旋转角度在[-90°,-45°)的范围内的窗口划分到“朝左”的分类、将旋转角度在[45°,90°]的范围内的窗口划分到“朝右”的分类、将旋转角度在[-45°,45°]的范围内的窗口划分到“暂时无需校准”的分类。这里,可以将划分为“朝左”的窗口顺时针旋转90°,将划分为“朝右”的窗口逆时针旋转90°,从而将全部窗口中可能的人脸的旋转角度校准到[-45°,45°]的范围内。

s230:通过输出级输出人脸检测的结果至面部特征识别模块。对于输出级而言,也可以执行与s210或s220相似的操作,以将各个窗口中人脸的旋转角度校准到更小的范围内。

s240:利用主成分分析法、独立成分分析法和线性判别方法相结合,从s230输出的结果中获取人脸的轮廓特征,利用梯度图像算法处理前述的人脸的轮廓特征,从而得到高维特征数据,利用二值法对人脸的轮廓特征进行处理,变换得到低维特征数据。

s250:将高维特征数据与低维特征数据与预存储的图像数据进行相似度度量,即特征匹配,得到静态特征匹配结果。

s260:动态匹配,对通过车内摄像头获取的视频流,提取视频流中的动态特征,确定目标区域,从目标区域中选取所需要的脸部窗口,建立局部窗口,将局部窗口的图像进行二值化,提取动态的轮廓特征,采用滑动窗算法将所得到的轮廓特征信息变换为动作序列,从而构建表情动作序列,将前述的表情动作序列生成用于匹配的动作向量信息。

s270:将静态特征匹配得到的结果与动态匹配得到的动作向量进行结果集融合,利用动态结果集对静态结果集进行校验,将错误结果进行剔除,得出最终识别结果并给出识别的置信度,完成识别操作。基于动静特征融合的人脸识别方法,是一种结合空间和时间提出的新的人脸识别方法,在空间维度上,将所得图像用人脸轮廓进行表达,在时间维度上,把人的表情抽象成向量信息,对这两组信息进行匹配与计算,可以大大提高人脸识别的准确率。

s300:匹配成功后,根据获取到的起点与终点位置,进行路径规划。在该步骤中,驾驶员通过例如语音等方式,将起点与终点位置输入路径规划单元,对于起点而言,可以通过车载gps获得当前车辆位置坐标作为起点位置坐标。路径规划包括全局路径规划与局部路径规划,现有技术中已存在多种规划方法,本发明对此不再赘述。

虽然在自动驾驶模式中,一般情况下无需人工干预,但在紧急情况下依然需要驾驶员的人工介入,当驾驶员疲劳时,将会导致驾驶员不能及时的进行人工干预,极易造成安全事故。

为此,本发明在步骤s400中,通过车内摄像头定时抓取驾驶员面部表情特征,根据面部表情判断驾驶员是否疲劳。

具体而言,s410:提取单位时间t内驾驶员驾驶时包含整个面部表情的视频流;获取每一帧中人脸图像的人脸关键点,利用回归方法实现当前人脸图像中的人脸对齐,设第k个人脸关键点在正常人脸形状上的坐标为在当前人脸图像中的坐标为k=1,2,…,n;通过回归的方法,将回归到上实现人脸对齐;

其中,表示第k个人脸关键点在正常人脸形状上所对应的sift特征,h()表示非线性特征提取函数,表示第k个人脸关键点在正常人脸形状上的坐标位置;δxk表示第k个人脸关键点在正常人脸形状上和当前人脸图像上的坐标差值;||||2表示求二范数;在对齐后的当前人脸图像中提取人脸关键点:

其中,φk-1=h(d(xk-1))是上一组人脸关键点提取出的sift特征,h、jh分别是xk-1的海森矩阵和雅可比矩阵。sdm方法使用梯度下降向量rk和重缩放因子bk更新xk,使xk成功收敛为得到第k个人脸关键点坐标;xk=xk-1+rk-1φk-1+bk-1

同理,按照上述方法依次提取出当前帧中剩余n-1人脸关键点坐标;将32个人脸关键点用向量表示为n=(n1,n2,…,n32),对提取的n=32个人脸关键点进行标注,其中,将n1~n6个人脸关键点标注为左眼关键点,将n7~n12个人脸关键点标注为右眼关键点,将n13~n32个人脸关键点标注为嘴部关键点。

s420:根据标准三维模型与二维投影之间的关系,将倾斜的头像进行矫正:

其中,(α,β,γ)表示标准三维模型中人脸姿态的三个旋转角度,qk表示当前人脸图像中第k个人脸关键点的位置向量,pk表示标准三维模型中第k个人脸关键点的位置向量,r代表旋转矩阵,τ为空间偏移向量,c为伸缩因子;

其中,旋转矩阵r三个矩阵相乘得到:

s430:根据左右眼关键点的坐标位置,分别计算出左、右眼两个眼角关键点间的距离d1、d2,以及左、右眼四个眼睑关键点间的距离,其中,左眼中上下对称的两组眼睑关键点间的距离为d3、d4,右眼中上下对称的两组眼睑关键点间的距离为d5、d6;判断左眼是否闭合:用左眼中眼角关键点间距离d1除以眼睑关键点间距离d3、d4之和,得到比值δd1,再将δd1与左眼闭合阈值t1=3.3比较,如果δd1>t1,则表明左眼闭合,反正则表示左眼未闭合;判断右眼是否闭合:用右眼中眼角关键点间距离d2除以眼睑关键点间距离d5、d6之和,得到比值δd2,再将δd2与右眼闭合阈值t2=3.4比较,如果δd1>t2,则表明右眼闭合,反正则表示右眼未闭合。

在嘴部关键点中,选取上、下嘴唇正中间各一个关键点,并计算这两个关键点间距离d;再将距离d与嘴部开合度阈值ζ=40比较,如果d>ζ,表示嘴部张开程度大于正常情况,反正则表示嘴部闭合或正常张嘴。

s440:利用peclos方法来检测是否处于疲劳状态,在单位时间t内,以每一分钟为单位,利用peclos方法统计一分钟内驾驶员左右眼睛闭合次数,以及眼睛闭合时所占的时间比例,如果每分钟内左右眼睛闭合次数在10次以内,且眼睛闭合时所占的时间比例在4s以内,则判定该驾驶员在本分钟为正常眨眼,否则判定该驾驶员在本分钟内为疲劳驾驶;如果单位时间t内疲劳驾驶的分钟数大于阈值σ,则判定该驾驶员在该时间段t内为疲劳状态;利用peclos方法统计一分钟内驾驶员嘴部张开程度大于正常情况的次数,以及嘴部张开程度大于正常情况时所占的时间比例,如果嘴部张开程度大于正常情况的次数在2次以内,且嘴部张开程度大于正常情况时所占的时间比例在2s以内,则判定该驾驶员在本分钟为正常张嘴,否则判定该驾驶员在本分钟内为疲劳驾驶;如果单位时间t内疲劳驾驶的分钟数大于阈值ρ,则判定该驾驶员在该时间段t内为疲劳状态。

本发明先提取单位时间内驾驶员驾驶时包含整个面部表情的视频流,再对视频流中的每一帧图像进行处理,通过每一帧图像中人脸关键点来判断每一帧图像中是否存在眼睛闭合或嘴部张开过大等情况,最后利用利用peclos方法来检测单位时间内视频流中出现眼睛闭合或嘴部张开过大的次数,从而判断驾驶员是否出现疲劳驾驶,具有非常好的扩展性和灵活性。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请的方法实施例而言,由于其与装置实施例基本相似,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。

在以上的描述中阐述了很多具体细节以便于充分理解本发明。但是以上描述仅是本发明的较佳实施例而已,本发明能够以很多不同于在此描述的其它方式来实施,因此本发明不受上面公开的具体实施的限制。同时任何熟悉本领域技术人员在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1