具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例,车载设备指的是车辆相关的设备,如车载中控设备、车载导航设备、能够提供车辆行驶所需功能的手机、平板电脑等移动设备、车辆后视镜***设备等,其中,车辆行驶所需功能包括但不限于导航、定位等功能。
在车辆行驶过程中监控驾驶行为,对于异常的驾驶行为进行提示能够提高驾驶安全。其中,驾驶行为指的是驾驶用户在驾驶过程的行为,本申请实施例中,驾驶行为可包括正常驾驶行为和异常驾驶行为,异常驾驶行为指的是可能引起安全问题的驾驶行为,例如疲劳驾驶、驾驶过程中吸烟、打电话等。
为了便于检测驾驶用户的驾驶行为,提供驾驶安全,本申请实施例在车载设备的操作***中设置一服务进程,该服务进程为操作***的常驻进程,能够进行驾驶行为的检测。其中,一种实现方式是在操作***中封装驾驶行为检测的模块,从而能够在***中产生该服务进程。从而车载设备中运行的软件程序能够调用服务进程检测驾驶行为并依据检测结果进行提示。
如图1所示的驾驶行为检测示意图。车载设备中运行有服务进程和软件程序,车载设备还设置或连接有图像采集设备,其中图像采集设备如摄像头等,软件程序为导航、地图等各种软件程序,该软件程序可为***软件也可为第三方软件,本申请实施例对此不做限制。车辆行驶过程中,软件程序在步骤102中调用服务进程,如依据进程标识调用服务进程。其中,软件程序和服务进程可通过进程间通信机制进行通信。
一个可选实施例中,操作***中封装采用C/S(Client/Server,客户端/服务端)架构的检测模块,则服务进程可作为服务端Server。软件程序中可设置驾驶行为检测组件,该驾驶行为检测组件作为客户端Client与服务进程进行交互。其中,组件是软件程序的基本构建块,组件可作为***和软件程序交互的入口,可以帮助定义软件程序的整体行为。
然后在步骤104中服务进程可从图像采集设备获取图像数据,以便基于图像数据进行驾驶行为检测。其中,若未获取到图像数据,服务进程可生成图像数据异常对应的检测结果,如检测结果为未获取到图像数据,或者服务进程分析未获取到图像数据的原因,如图像采集设备未启动等,作为检测结果。
服务进程获取到图像数据后,可在步骤106中依据该图像数据进行驾驶行为检测,并得到相应的检测结果,将检测结果返回给软件程序。其中,对于未获取到图像数据对应生成的检测结果也可在步骤106中反馈给软件程序。
本申请实施例中,服务进程对软件程序反馈的检测结果包括:检测成功的检测结果和检测失败的检测结果。其中,对于图像数据获取、解码分析、处理过程中出现异常的情况,可生成检测失败的检测结果;对于从图像数据中提取到所需的特征数据进行驾驶行为分类,得到相应的驾驶行为类别可生成检测成功的检测结果。
一个可选实施例中,所述服务进程依据驾驶用户的图像数据进行驾驶行为检测,获取对应的检测结果,包括:所述服务进程依据驾驶用户的图像数据进行驾驶行为检测,并在检测过程中判断是否出现异常;若检测过程中出现异常,则分析异常原因生成检测失败的检测结果;若检测过程中未出现异常,则依据检测的驾驶行为类别生成检测成功的检测结果。服务进程对于驾驶用户的驾驶行为检测可依据行驶过程中采集的驾驶用户图像数据执行,在检测过程中可判断是否出现异常,如图像异常、人脸识别异常、面部特征异常等多种异常问题。本申请实施例中,所述检测失败的类型包括以下至少一种:图像异常类、人脸异常类、面部特征异常类。图像异常类为图像采集、解码过程中出现的异常,如未获取到图像数据,图像数据解码失败等。人脸异常类指的是对图像数据进行人脸识别出现的异常,如未识别到人脸,未识别到全脸等。面部特征异常类指的是对人脸图像提取的面部特征出现异常,如未提取到眼镜、嘴巴等五官的特征点,未检测到脸部轮廓特征数据等。
如表1所示的检测失败的异常示例:
表1
上述是一种异常类别和异常原因的示例,可基于图像数据确定出上述异常类别,并分析出对应的异常原因。实际处理还可能由于检测方式、设备的区别导致出现不同的异常类别及其异常原因。例如若图像采集设备采用红外摄像图采集图像数据,则戴墨镜就不会影响检测,也就是说用户佩戴墨镜时采用红外摄像头仍然可以采集到眼部特征点的数据。
若检测过程中出现异常,则分析异常原因生成检测失败的检测结果,如图像异常可能是因为图像采集设备未启动、图像解码失败等原因导致的;人脸识别异常可能是由于未拍摄到人脸或全脸等导致的;面部特征异常可能是因为眼镜、嘴巴等被遮挡造成的,从而依据检测异常的原因添加到检测失败的检测结果中,便于后续进行提示。若检测过程中未出现异常则提取到的面部特征数据可进行驾驶行为的识别,如识别驾驶行为类别等,然后依据驾驶行为类别生成检测成功的检测结果。
从而在检测出现异常时,能够分析出异常原因作为检测结果,便于提示用户消除异常的问题。现有技术中若检测出现异常如未检测到人脸,面部特征数据补全等,会直接进行下一帧图像数据的检测,而忽略到异常问题,导致异常得不到解决,无法准确的检测疲劳驾驶的问题。与现有技术相比,本申请实施例能够分析出异常原因并进行提示,从而用户可通过调整自己或座椅位置等消除异常问题,提高了驾驶行为检测的准确性,也提高了驾驶的安全性。
在正常检测的过程中,可基于面部特征数据进行驾驶行为类别的识别,其中,所述驾驶行为类别包括以下至少一种:正常驾驶类、异常驾驶类;所述异常驾驶类包括疲劳驾驶和/或其他驾驶类。在未检测到用户的异常行为、面部特征后可确定用户在正常驾驶,得到正常驾驶类的检测结果。在检测到驾驶用户出现疲劳驾驶的相关行为、面部特征后,可确定为疲劳驾驶类,如闭眼时长超过2秒、张嘴打呵欠,仰头、不停点头等,可确定用户出现疲劳驾驶的行为,确定分类为疲劳驾驶类,其中,疲劳驾驶类包括一级或多级疲劳驾驶行为,例如检测到用户频繁眨眼、张嘴打呵欠等行为可确定为一级疲劳驾驶或轻度疲劳驾驶,又如检测到驾驶用户出现不断仰头、点头的行为可确定为二级或重度疲劳驾驶。还可以检测到用户的其他驾驶行为确定为其他驾驶类如吸烟、打电话等。
服务进程进行驾驶行为检测并得到成功或失败的检测结果,一个可选实施例中可采用如下步骤:所述服务进程依据驾驶用户的图像数据进行驾驶行为检测,获取对应的检测结果,包括:服务进程判断所述驾驶用户的图像数据是否符合图像检测条件;若所述图像数据不符合图像检测条件,分析图像异常原因并确定对应检测结果;若所述图像数据符合图像检测条件,依据所述图像数据对驾驶用户进行面部检测,生成对应的检测结果。所述依据所述图像数据对驾驶用户进行面部检测,生成对应的检测结果,包括:对所述图像数据进行人脸识别;若人脸识别失败,则分析人脸识别失败的原因并确定对应检测结果;若人脸识别成功,则提取对应的面部特征数据,依据所述面部特征数据确定生成对应的检测结果。所述依据所述面部特征数据确定生成对应的检测结果,包括:判断所述面部特征数据中是否包含目标面部特征点;若不包含目标面部特征点,分析缺失原因并确定对应检测结果;若包含目标面部特征点,则依据所述面部特征数据分析驾驶行为类别,依据所述驾驶行为类别检测结果。
如图2所示的服务进程检测驾驶行为的示意图中,可在检测过程中发现异常问题并识别异常原因生成检测结果,也可正常执行检测生成检测结果。
步骤202,服务进程判断所述驾驶用户的图像数据是否符合图像检测条件。
服务进程依据软件程序的调用,可向图像采集设备获取图像数据,以便于检测。该过程中可判断驾驶用户的图像数据是否符合图像检测条件。其中,图像检测条件包括:获取到图像数据且图像数据解码成功,因此若未获取到图像数据,则不满足图像检测条件;在获取到图像数据后对图像数据进行解码,若图像数据解码失败,则仍然可判断不符合图像检测条件。在获取到图像数据并且获取的图像数据解码成功后可确认符合图像检测条件。
若是,即符合图像检测条件执行步骤206;若否,即不符合图像检测条件,执行步骤204。
步骤204,分析图像异常原因。
在判断不符合图像检测条件后,判断出现图像异常的问题,因此可分析图像异常的原因,如未获取到图像数据导致的异常,则可分析图像数据未获取的原因,例如图像采集设备未启动,图像采集设备故障等,又如对于图像数据解码失败导致的异常,可能是由于图像采集设备故障、图像数据损坏等导致的,从而得到图像异常原因。
步骤206,对所述图像数据进行人脸识别。
步骤208,判断人脸识别是否成功。
判断图像数据符合图像检测条件后,可以基于该图像数据进行人脸识别,人脸识别方法可依据需求设定,然后依据识别结果判断人脸识别是否成功。其中,可将完成识别到驾驶用户的人脸作为识别成功的标志,则通过是否识别到人脸,以及识别到的人脸是否为完整的脸部区域等可判断人脸识别是否成功。
在人脸识别的过程中,若未从图像中识别到人脸,则判断人脸识别失败;若识别到人脸,则基于识别到的人脸判断脸部区域是否完整;若识别到多张人脸,可将最大的人脸作为驾驶用户的脸部,从而识别出驾驶用户,然后判断该脸部区域是否完整,若脸部区域不完整,则人脸识别失败。若从图像数据中识别到完整的驾驶用户的人脸可判断人脸识别成功。其中,对于识别到的人脸还可基于大小、位置等判断是否为驾驶用户的人脸。
若是,即人脸识别成功,可执行步骤212;若否,即人脸识别失败,可执行步骤210。
步骤210,分析人脸识别失败的原因。
在判断人脸识别失败后,可分析人脸识别失败的原因,例如未识别到人脸则可能是图像采集设备的位置有问题,又如未识别到完整的人脸,则可能是座椅的角度超出了拍摄范围。后续用户可通过调整座位的角度、图像采集设备等来解决人脸拍摄的问题。
步骤212,提取对应的面部特征数据。
步骤214,判断所述面部特征数据中是否包含目标面部特征点。
人脸识别成功后,可提取所识别人脸的面部特征数据,其中,所提取的面部特征数据包括并不限于脸部纹理、脸部轮廓、脸部主要器官的位置以及轮廓,包括眼睛、眼珠、眉毛、鼻子、嘴的位置以及边缘轮廓等特征的数据。对于面部特征数据可基于人脸的面部特征点进行提取,如识别驾驶用户的面部特征点,然后将面部特征点的坐标等数据作为面部特征数据,以及依据肤色识别、边缘识别等确定出脸部纹理、脸部轮廓等面部特征数据。
判断所述面部特征数据中是否包含目标面部特征点,其中,目标面部特征点可依据需求设定,如将驾驶行为分类识别必须的面部特征点作为目标特征点,又如将容易被遮挡的面部特征点作为目标特征点等。一个示例中可将眼部、嘴部的特征点作为目标特征点。判断提取的面部特征数据中是否包含目标面部特征点。
若是,即面部特征数据包含目标面部特征点,可执行步骤218;若否,即面部特征数据不包含目标面部特征点,可执行步骤216。
步骤216,分析缺失面部特征点的原因。
判断面部特征数据不包含目标面部特征点后,可分析缺失面部特征点的原因,可将缺失的面部特征点被遮挡作为缺失面部特征点的原因,也可基于缺失的面部特征点在图像数据中识别对应位置的内容,例如嘴上戴了口罩、头上带了帽子、眼部被帽檐遮挡等,基于对应位置的内容生成缺失面部特征点的原因。
步骤218,依据所述面部特征数据分析驾驶行为类别。
对于正确提取的面部特征数据后,可基于面部特征数据分析驾驶行为类别。例如基于机器学习、神经网络等数学模型构建分类器,从而可将面部特征数据输入到分类器中,得到对应的驾驶行为类别。所述驾驶行为类别包括正常驾驶类、异常驾驶类;所述异常驾驶类包括疲劳驾驶和/或其他驾驶类等。
其中,分类器也可称为数据分类集合、分类模型等。其中,数学模型是运用数理逻辑方法和数学语言建构的科学或工程模型,数学模型是针对参照某种事物***的特征或数量依存关系,采用数学语言,概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻画出来的某种***的纯关系结构。数学模型可以是一个或一组代数方程、微分方程、差分方程、积分方程或统计学方程及其组合,通过这些方程定量地或定性地描述***各变量之间的相互关系或因果关系。除了用方程描述的数学模型外,还有用其他数学工具,如代数、几何、拓扑、数理逻辑等描述的模型。数学模型描述的是***的行为和特征而不是***的实际结构。
步骤220,生成检测结果。
对于驾驶行为检测失败的情况,可基于图像异常原因、人脸识别失败的原因或缺失面部特征点的原因生成失败的检测结果。对于驾驶行为检测成功的情况可基于驾驶行为类别生成成功的检测结果。将检测结果返回给软件程序,以使软件程序据此提醒驾驶用户。
然后在步骤108中,软件程序依据所述检测结果生成提示信息,并输出该提示信息。
软件程序接收到检测结果后,可依据检测结果生成提示信息,其中,所述软件程序依据所述检测结果生成提示信息,包括以下至少一种步骤:依据检测失败的异常原因,生成消除异常的提示信息;依据异常驾驶类的检测结果,生成提示驾驶用户休息的提示信息。
对于检测失败的检测结果,可基于检测结果中的图像异常原因、人脸识别失败的原因或缺失面部特征点的原因等异常原因,生成消除异常的提示信息。例如提示用户摄像头未启动、摄像头损坏、未拍摄到人脸、座椅角度超出拍摄范围、帽檐遮挡眼睛、眼睛被遮挡、嘴部被遮挡、口罩遮挡嘴部等提示信息。
又如,针对摄像头硬件异常的检测结果,可生成通知驾驶员进行维修的提示信息;对于驾驶员座椅角度超出拍摄范围导致人脸不在画面中的检测结果,可生成通知驾驶员调整姿态的提示信息;对于眼镜遮挡、戴帽子、戴头巾、戴眼镜、嘴部遮挡、戴口罩等导致出现异常的检测结果,可生成提示驾驶员移除遮挡物的提示信息。
对于检测成功的检测结果,可基于检测结果中异常驾驶类的驾驶行为分类生成提示信息,例如对于疲劳驾驶可生成提示用户休息的提示信息,又如依据不同的疲劳驾驶等级给出不同的提示信息,例如提示驾驶用户休息、提示前方休息站、停车场等可停车位置。又如对于吸烟、打电话等影响驾驶的其他驾驶行为,可生成提示用户停止吸烟、停止打电话等提示信息。然后通过车载设备输出该提示信息。其中,输出方式包括显示方式,和/或,语音播放方式。其中,可生成文本、音频、视频等多媒体提示信息,然后通过车载设备输出该提示信息,如在车载中控屏、导航设备屏幕上显示提示信息,又如通过车载音响设备、导航设备的音响设备等输出语音提示信息。
从而通过对导致检测异常的结果进行有针对性的反馈提示,可以让驾驶行为检测能够顺利执行,提高驾驶安全。
参照图3,示出了本申请一种基于驾驶行为的处理方法实施例的步骤流程图。
步骤302,软件程序调用操作***的服务进程。
车辆行驶过程中,要进行驾驶行为检测的软件程序可调用服务进程,如依据进程标识调用服务进程。
步骤304,所述服务进程执行驾驶行为检测,获取对应的检测结果并返回给所述软件程序。
服务进程向图像采集设备请求获取图像数据,以便基于图像数据进行驾驶行为检测。若未获取到图像数据,服务进程可生成图像数据异常对应的检测结果;服务进程获取到图像数据后,依据该图像数据进行驾驶行为检测,并得到相应的检测结果;将检测结果返回给软件程序。其中,服务进程对软件程序反馈的检测结果包括:检测成功的检测结果和检测失败的检测结果。
步骤306,所述软件程序依据所述检测结果生成提示信息。
软件程序接收到检测结果后,可依据检测结果生成提示信息,其中,所述软件程序依据所述检测结果生成提示信息,包括以下至少一种步骤:依据检测失败的异常原因,生成消除异常的提示信息;依据异常驾驶类的检测结果,生成提示驾驶用户休息的提示信息。
综上,车辆设备的操作***具有检测驾驶行为的服务进程,从而在车辆行驶过程中车载设备中的软件程序就可调用该服务进程,然后服务进程进行驾驶行为检测,得到对应的检测结果并返回给该软件程序,软件程序依据检测结果生成提示信息并进行提示,从而车载设备中的软件程序可调用服务进程进行驾驶行为检测并发出提示,无需额外安装一个检测盒,简化了驾驶检测的步骤,提高了行车的安全性。
参照图4,示出了本申请另一种基于驾驶行为的处理方法实施例的步骤流程图。
步骤402,软件程序调用操作***的服务进程。
车辆行驶过程中,要进行驾驶行为检测的软件程序可调用服务进程,如依据进程标识调用服务进程。
步骤404,所述服务进程依据驾驶用户的图像数据进行驾驶行为检测。
步骤406,在检测过程中判断是否出现异常。
服务进程依据软件程序的调用可执行驾驶行为检测,其中驾驶行为检测可依据行驶过程中采集的驾驶用户图像数据执行。其中,服务进程对软件程序反馈的检测结果包括:检测成功的检测结果和检测失败的检测结果,因此可在检测过程中判断是否出现异常,所述检测失败的类型包括以下至少一种:图像异常类、人脸异常类、面部特征异常类。因此可在图像获取、解码、人脸识别、面部特征提取等各过程中判断是否出现异常。
其中,服务进程判断所述驾驶用户的图像数据是否符合图像检测条件;若所述图像数据不符合图像检测条件,分析图像异常原因并确定对应检测结果;若所述图像数据符合图像检测条件,依据所述图像数据对驾驶用户进行面部检测,生成对应的检测结果。所述依据所述图像数据对驾驶用户进行面部检测,生成对应的检测结果,包括:对所述图像数据进行人脸识别;若人脸识别失败,则分析人脸识别失败的原因并确定对应检测结果;若人脸识别成功,则提取对应的面部特征数据,依据所述面部特征数据确定生成对应的检测结果。所述依据所述面部特征数据确定生成对应的检测结果,包括:判断所述面部特征数据中是否包含目标面部特征点;若不包含目标面部特征点,分析缺失原因并确定对应检测结果;若包含目标面部特征点,则依据所述面部特征数据分析驾驶行为类别,依据所述驾驶行为类别检测结果。
若是,即检测过程中出现异常,执行步骤408;若否,即检测过程正常,执行步骤410。
步骤408,服务进程分析异常原因生成检测失败的检测结果。
若检测过程中出现异常,则分析异常原因生成检测失败的检测结果,包括:分析图像异常原因并确定对应检测结果,分析人脸识别失败的原因并确定对应检测结果,分析目标面部特征点缺失的原因并确定对应检测结果等。
步骤410,服务进程依据检测的驾驶行为类别生成检测成功的检测结果。
若检测过程中未出现异常,则依据检测的驾驶行为类别生成检测成功的检测结果。其中,所述驾驶行为类别包括以下至少一种:正常驾驶类、异常驾驶类;所述异常驾驶类包括疲劳驾驶和/或其他驾驶类。在未检测到用户的异常行为、面部特征后可确定用户在正常驾驶,得到正常驾驶类的检测结果。在检测到驾驶用户出现疲劳驾驶的相关行为、面部特征后,可确定为疲劳驾驶类,如闭眼时长超过2秒、张嘴打呵欠,仰头、不停点头等,可确定用户出现疲劳驾驶的行为,确定分类为疲劳驾驶类,其中,疲劳驾驶类包括一级或多级疲劳驾驶行为,例如检测到用户频繁眨眼、张嘴打呵欠等行为可确定为一级疲劳驾驶或轻度疲劳驾驶,又如检测到驾驶用户出现不断仰头、点头的行为可确定为二级或重度疲劳驾驶。还可以检测到用户的其他驾驶行为确定为其他驾驶类如吸烟、打电话等。
步骤412,服务进程返回检测结果给所述软件程序。
基于成功或失败的内容生成检测结果后,服务进程可将检测结果返回给所述软件程序。
步骤414,软件程序依据所述检测结果生成提示信息。
步骤416,软件程序输出所述提示信息。
软件程序接收到检测结果后,可依据检测结果生成提示信息,其中,所述软件程序依据所述检测结果生成提示信息。
例如,对于检测失败的检测结果,可基于检测结果中的图像异常原因、人脸识别失败的原因或缺失面部特征点的原因等异常原因,生成消除异常的提示信息。例如提示用户摄像头未启动、摄像头损坏、未拍摄到人脸、座椅角度超出拍摄范围、帽檐遮挡眼睛、眼睛被遮挡、嘴部被遮挡、口罩遮挡嘴部等提示信息。
又如,针对摄像头硬件异常的检测结果,可生成通知驾驶员进行维修的提示信息;对于驾驶员座椅角度超出拍摄范围导致人脸不在画面中的检测结果,可生成通知驾驶员调整姿态的提示信息;对于眼镜遮挡、戴帽子、戴头巾、戴眼镜、嘴部遮挡、戴口罩等导致出现异常的检测结果,可生成提示驾驶员移除遮挡物的提示信息。
对于检测成功的检测结果,可基于检测结果中异常驾驶类的驾驶行为分类生成提示信息,例如对于疲劳驾驶可生成提示用户休息的提示信息,又如依据不同的疲劳驾驶等级给出不同的提示信息,例如提示驾驶用户休息、提示前方休息站、停车场等可停车位置。又如对于吸烟、打电话等影响驾驶的其他驾驶行为,可生成提示用户停止吸烟、停止打电话等提示信息。然后通过车载设备输出该提示信息。其中,输出方式包括显示方式,和/或,语音播放方式。其中,可生成文本、音频、视频等多媒体提示信息,然后通过车载设备输出该提示信息,如在车载中控屏、导航设备屏幕上显示提示信息,又如通过车载音响设备、导航设备的音响设备等输出语音提示信息。
从而能够通过预先封装在车载设备操作***中的服务进程,使得各软件程序可调用该服务进行执行相应的驾驶行为检测算法来获取检测结果,使得***中各种软件程序都能实现对驾驶行为检测的使用以及对用户的提示,且多个软件程序可共享算法的计算结果,便于及时提示用户。同时无需额外安装检测盒,降低成本且能够提高算法的利用率。
本申请实施例还针对异常的检测过程分析出异常原因,使得应用程序能够针对各种异常对驾驶员做出更丰富准确的反馈,使得驾驶行为检测能够顺利执行。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种基于驾驶行为的处理装置,应用于车载设备中。
参照图5,示出了本申请一种基于驾驶行为的处理装置实施例的结构框图,具体可以包括如下模块:
调用模块502,用于软件程序调用操作***的服务进程。
检测模块504,用于通过所述服务进程执行驾驶行为检测,获取对应的检测结果并返回给所述软件程序。
提示模块506,用于所述软件程序依据所述检测结果生成提示信息。
综上,车辆设备的操作***具有检测驾驶行为的服务进程,从而在车辆行驶过程中车载设备中的软件程序就可调用该服务进程,然后服务进程进行驾驶行为检测,得到对应的检测结果并返回给该软件程序,软件程序依据检测结果生成提示信息并进行提示,从而车载设备中的软件程序可调用服务进程进行驾驶行为检测并发出提示,无需额外安装一个检测盒,简化了驾驶检测的步骤,提高了行车的安全性。
参照图6,示出了本申请另一种基于驾驶行为的处理装置实施例的结构框图,具体可以包括如下模块:
调用模块502,用于软件程序调用操作***的服务进程。
检测模块504,用于通过所述服务进程执行驾驶行为检测,获取对应的检测结果并返回给所述软件程序。
提示模块506,用于所述软件程序依据所述检测结果生成提示信息,输出所述提示信息。
其中,所述服务进程预先封装在操作***中。
所述检测模块504,用于通过服务进程依据驾驶用户的图像数据进行驾驶行为检测,获取对应的检测结果。
所述检测模块504,包括:图像检测判断子模块5042和面部识别判断子模块5044,其中:
图像检测判断子模块5042,用于通过服务进程判断所述驾驶用户的图像数据是否符合图像检测条件;若所述图像数据不符合图像检测条件,分析图像异常原因并确定对应检测结果;
面部识别判断子模块5044,用于若所述图像数据符合图像检测条件,依据所述图像数据对驾驶用户进行面部检测,生成对应的检测结果。
其中,所述面部识别判断子模块5044,用于对所述图像数据进行人脸识别,判断人脸识别是否成功;若人脸识别失败,则分析人脸识别失败的原因并确定对应检测结果;若人脸识别成功,则提取对应的面部特征数据,依据所述面部特征数据确定生成对应的检测结果。
所述面部识别判断子模块5044,用于判断所述面部特征数据中是否包含目标面部特征点;若不包含目标面部特征点,分析缺失原因并确定对应检测结果;若包含目标面部特征点,则依据所述面部特征数据分析驾驶行为类别,依据所述驾驶行为类别检测结果。
所述检测模块504,用于通过服务进程依据驾驶用户的图像数据进行驾驶行为检测,并在检测过程中判断是否出现异常;若检测过程中出现异常,则分析异常原因生成检测失败的检测结果;若检测过程中未出现异常,则依据检测的驾驶行为类别生成检测成功的检测结果。
所述检测失败的类型包括以下至少一种:图像异常类、人脸异常类、面部特征异常类。所述驾驶行为类别包括以下至少一种:正常驾驶类、异常驾驶类;所述异常驾驶类包括疲劳驾驶和/或其他驾驶类。
所述提示模块506,用于依据检测失败的异常原因,生成消除异常的提示信息;和/或,依据异常驾驶类的检测结果,生成提示驾驶用户休息的提示信息。
从而能够通过预先封装在车载设备操作***中的服务进程,使得各软件程序可调用该服务进行执行相应的驾驶行为检测算法来获取检测结果,使得***中各种软件程序都能实现对驾驶行为检测的使用以及对用户的提示,且多个软件程序可共享算法的计算结果,便于及时提示用户。同时无需额外安装检测盒,降低成本且能够提高算法的利用率。
本申请实施例还针对异常的检测过程分析出异常原因,使得应用程序能够针对各种异常对驾驶员做出更丰富准确的反馈,使得驾驶行为检测能够顺利执行。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、网关、用户设备等。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备如车载设备等电子设备。图7示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置700。
对于一个实施例,图7示出了示例性装置700,该装置具有一个或多个处理器702、被耦合到(一个或多个)处理器702中的至少一个的控制模块(芯片组)704、被耦合到控制模块704的存储器706、被耦合到控制模块704的非易失性存储器(NVM)/存储设备708、被耦合到控制模块704的一个或多个输入/输出设备710,以及被耦合到控制模块706的网络接口712。
处理器702可包括一个或多个单核或多核处理器,处理器702可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置700能够作为本申请实施例中所述的车载设备等电子设备。
在一些实施例中,装置700可包括具有指令714的一个或多个计算机可读介质(例如,存储器706或NVM/存储设备708)以及与该一个或多个计算机可读介质相合并被配置为执行指令714以实现模块从而执行本公开中所述的动作的一个或多个处理器702。
对于一个实施例,控制模块704可包括任意适当的接口控制器,以向(一个或多个)处理器702中的至少一个和/或与控制模块704通信的任意适当的设备或组件提供任意适当的接口。
控制模块704可包括存储器控制器模块,以向存储器706提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器706可被用于例如为装置700加载和存储数据和/或指令714。对于一个实施例,存储器706可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器706可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块704可包括一个或多个输入/输出控制器,以向NVM/存储设备708及(一个或多个)输入/输出设备710提供接口。
例如,NVM/存储设备708可被用于存储数据和/或指令714。NVM/存储设备708可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备708可包括在物理上作为装置700被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备708可通过网络经由(一个或多个)输入/输出设备710进行访问。
(一个或多个)输入/输出设备710可为装置700提供接口以与任意其他适当的设备通信,输入/输出设备710可以包括通信组件、音频组件、传感器组件等。网络接口712可为装置700提供接口以通过一个或多个网络通信,装置700可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,装置700可以但不限于是:车载设备、服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置700可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置700包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本申请实施例中一个或多个所述的基于驾驶行为的处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于驾驶行为的处理方法、一种基于驾驶行为的处理装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。