CN104182742A - 头部姿态识别方法及系统 - Google Patents
头部姿态识别方法及系统 Download PDFInfo
- Publication number
- CN104182742A CN104182742A CN201310188582.6A CN201310188582A CN104182742A CN 104182742 A CN104182742 A CN 104182742A CN 201310188582 A CN201310188582 A CN 201310188582A CN 104182742 A CN104182742 A CN 104182742A
- Authority
- CN
- China
- Prior art keywords
- head
- coordinate system
- shoulder region
- region
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明提出了一种头部姿态识别方法,包括以下步骤:采集车辆驾驶室的景物的深度图;对深度图进行分割以得到驾驶员的头肩区域与背景区域;建立坐标系,并将头肩区域映射到坐标系中;根据至少两帧深度图的头肩区域在坐标系中的位置判断驾驶员的头部姿态以及头部姿态是否发生变化。根据本发明实施例的头部姿态识别方法,具有高的识别精度,且该方法操作简单,易于实现。本发明还提出了一种头部姿态识别系统。
Description
技术领域
本发明涉及系统汽车技术领域,特别涉及一种头部姿态识别方法及系统。
背景技术
现有的姿态识别方法或者识别装置,例如通过一台摄像机拍摄手的图像识别、手的形状的模式识别处理、或者追踪所识别的手的位置变化而检测其动作的动作检测处理等,得到对车辆搭载设备的操作信息。该装置要求驾驶员的一只手离开方向盘,并且要求将手伸至指定区域,装置才能进行手势识别。而且,由于车辆在行驶过程中,太阳光或照明等外界光是不断变化的,上述手势开关装置将遭遇精度下降的问题。
针对外界光变化的问题,还有一种包含多台照相机的手势判定系统,其中一台是可见光照相机,另一台是红外线照相机,其能够选择两种不同的光谱信息产生的手势判定,由此提高判定精度。
然而,包含多台照相机将遭遇系统成本大幅上升和结构复杂的问题。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的一个目的在于提出一种头部姿态识别方法。该方法具有识别精度高的优点,且该方法操作简单,易于实现。
本发明的另一个目的在于提出一种头部姿态识别系统。
为达到上述目的,本发明第一方面的实施例公开了一种头部姿态识别方法,包括以下步骤:采集车辆驾驶室的景物的深度图;对所述深度图进行分割以得到驾驶员的头肩区域与背景区域;建立坐标系,并将所述头肩区域映射到所述坐标系中;以及根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化。
根据本发明实施例的头部姿态识别方法,具有高的识别精度,且该方法操作简单,易于实现。
本发明第二方面的实施例公开了一种头部姿态识别系统,包括:深度图采集模块,用于采集车辆驾驶室的景物的深度图;控制器,用于对所述深度图进行分割以得到驾驶员的头肩区域与背景区域,并建立坐标系以将所述头肩区域映射到所述坐标系中,以及根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化。
根据本发明实施例的头部姿态识别系统,具有高的识别精度,且该系统结构简单、成本低。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明所述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的头部姿态识别方法的流程图;
图2是根据本发明一个实施例的头部姿态识别方法的头肩区域分割过程详细流程图;
图3A、3B分别是根据本发明一个实施例的头部姿态识别方法的在头肩区域分割例程中计算机从TOF摄像机获取的时间前后的两帧深度图Ma和Mb的图像视图;
图3C、3D分别是根据本发明一个实施例的头部姿态识别方法的在头肩区域分割例程中创建的计算时间微分的图像差视图,以及去除背景的图像差视图;
图4A至4D分别是根据本发明一个实施例的头部姿态识别方法的在头肩区域分割例程中创建的阈值化的深度图,及其去除噪声的阈值化的深度图的视图;
图5是根据本发明一个实施例的头部姿态识别方法的取坐标系原点的视图;
图6A、6B分别是根据本发明一个实施例的头部姿态识别方法的创建坐标系的视图;
图7A、7B分别是根据本发明一个实施例的头部姿态识别方法的头部姿态判定例程中创建的计算姿态参数的视图;
图8是根据本发明一个实施例的头部姿态识别方法的头部姿态判定例程的实例流程图;
图9是根据本发明一个实施例的头部姿态识别方法的设定的头部姿态组合及其编号与设备操作预定义的对应关系的视图;
图10是根据本发明一个实施例的头部姿态识别方法的控制程序S200的例程流程图;
图11是根据本发明一个实施例的头部姿态识别方法的触发控制例程的控制蓝牙电话设备的实例流程图;
图12是根据本发明一个实施例的头部姿态识别方法的的点头识别多选例程的实例流程图;
图13是根据本发明一个实施例的头部姿态识别方法的控制空调器设备的实例流程图;
图14是根据本发明一个实施例的头部姿态识别方法的空调器风力控制例程的实例流程图;
图15是根据本发明一个实施例的头部姿态识别方法的构造视图;
图16是根据本发明一个实施例的头部姿态识别方法的电动座椅结构及其调整参数的示意图;
图17是根据本发明一个实施例的头部姿态识别方法的分割实例流程图的差别;
图18A、18B分别是根据本发明一个实施例的头部姿态识别方法的在头肩区域分割例程中创建的阈值化的深度图TMa和TMb,及其执行连通性分析的视图;
图19A、19B分别是根据本发明一个实施例的头部姿态识别方法的创建的计算时间微分的阈值化的图像差和取坐标系原点的视图;
图20A是根据本发明一个实施例的头部姿态识别系统的TOF摄像机构造原理的示意图;
图20B、20C分别是根据本发明一个实施例的头部姿态识别系统的深度图像、普通亮度图像的示意图;
图21是根据本发明一个实施例的头部姿态识别系统的构造视图;以及
图22是根据本发明一个实施例的头部姿态识别系统的控制器120(计算机120)的结构的方框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解所述术语的具体含义。
以下结合附图描述根据本发明实施例的头部姿态识别方法及头部姿态识别系统。
图1是根据本发明一个实施例的头部姿态识别方法的流程图。如图1所示,该方法包括如下步骤:
步骤S101:采集车辆驾驶室的景物的深度图。
深度图可通过飞行时间传感器摄像机(TOF摄像机)采集得到的。具体地说,TOF摄像机一般由TOF传感器(阵列)、透镜、LED驱动器和LED灯(阵列)组成。其工作原理为:LED驱动器控制LED灯发出高频率的调制脉冲光,脉冲光经景物反射通过透镜到达TOF传感器,此过程中脉冲光飞行经过了一段时间T_flight,这个时间T_flight被TOF传感器感应为相位差D_phasic。由于脉冲光的飞行时间与景物距离成正比,因此相位差与景物距离也成正比,景物距离计算公式为:
景物距离≈(D_phasic×C)/(4×pi×fm),
其中C、pi、fm分别代表光速、圆周率、脉冲光调制频率。TOF摄像机输出的深度图像信号(即车辆驾驶室的景物的深度图)包含景物的距离信息,而不是景物反射外界光的亮度,因而在本发明的后续处理中利用深度图像信号计算识别头部姿态受到外界光变化影响较小,可以得到较好的计算精度。
车辆驾驶室的景物包含但不限于车窗、B柱、人、头枕和头枕后面的车舱背景。以不同深浅的填充灰色示意各景物远离摄像机的不同距离。例如,比人更接近TOF摄像机的景物以0%灰色(白色)表示“很近”的距离;人(头肩区域)以25%灰色表示“较近”的距离;B柱和头枕以50%灰色表示“近”的距离;头枕后面的车舱背景以75%灰色表示“较远”的距离;车窗(车外景物)以100%灰色(黑色)表示“很远”的距离。
由于人脸五官相对整个头部前后尺寸而言深度变化较小,可以认为与头肩区域具有同样距离,因此五官的边界在深度图中变得不明显并不作示意。示意图中以浅灰色表示近距离、深灰色表示远距离,当然本领域的技术人员也可以轻易地进行反色处理,即以深灰色表示近距离、浅灰色表示远距离。数字图像以像素为组成单位,像素具有色阶深度,且色阶以比特为单位,例如8比特灰色阶可以产生256种不同深浅的灰色,即像素值处于[0,255]的范围内。当然还可以采用更大的色阶数或更复杂的彩色色阶进行表示。
步骤S102:对深度图进行分割以得到驾驶员的头肩区域与背景区域。
例如:可通过如下方式对深度图进行分割以得到驾驶员的头肩区域与背景区域:
(1)计算至少两帧深度图对应位置的像素的像素值之差。
(2)提取像素值之差大于预设值的像素点集合。
(3)根据像素点集合得到区域分割阈值和阈值误差。
(4)根据区域分割阈值和阈值误差分别对至少两帧深度图进行阈值化处理,并得到至少两帧深度图对应的第一和第二阈值化图。
(5)分别对第一和第二阈值化图进行连通性分析和去噪处理以分别得到至少两帧图像中的头肩区域与背景区域。
换言之,上述操作为将头肩区域从驾驶舱背景中分离开来。更为具体地,如图2所示,包括以下步骤:
步骤S121a:读取相邻前后时间(或相隔若干时间)的两帧深度图,如如图3A所示的Ma和如图3B所示Mb,并求取两帧深度图对应位置的所有像素的像素值之差,该像素值之差称为图像差,如图3C所示。由深度图Ma和Mb对比可见,头肩区域的位置发生变化,其中的部分像素值相减的绝对值远大于零,如图3C中的实线包围的网格阴影区域;而头肩区域以外的背景(如车窗、B柱等轮廓曲线)未有变化,其中像素值相减的绝对值约为零,如图3C中的虚线区域。因此可以设定一个充分小的阈值(预设值),将图像差背景的像素值设定为零,仅保留实线包围的网格阴影区域,去除虚线区域,如图3D所示。
需要说明的是,在驾驶员几乎不动时,图3D的情况不会出现,此时可判定驾驶员并没有动作。
步骤S122a:处理图3D的情况。如图3D所示,实线包围的网格阴影区域包含4条相交的轮廓曲线La、Lb、Ra、Rb和3个交点T、BL、BR,其中La、Lb起于点T止于点BL,Ra、Rb起于点T止于点BR。La、Ra来自深度图Ma的头肩轮廓,Lb、Rb来自深度图Mb的头肩轮廓,La和Rb之间的像素位置是深度图Ma和Mb中头肩区域的交集Jab所在位置,Jab在深度图Ma和Mb中包含的像素集合同属于头肩区域,因此根据Jab在深度图Ma和Mb中指定位置的像素值估计区域分割阈值。由于Jab通常包含多行像素,因此可以按每行估计一个单行区域分割阈值,也可以对所有像素行只估计一个统一的区域分割阈值。这里,阈值包括阈值本身X和阈值误差w。例如,X直接取Jab包含的像素值(或平均像素值),w取某种根据像素值计算的方差。
步骤S123a:读取深度图Ma、Mb和区域分割阈值,并根据区域分割阈值对深度图Ma、Mb进行阈值化处理。例如,对深度图Ma、Mb中所有处于[X-w,X+w]范围内的像素值设定为Vobj=1,其他像素值设定为Vbg=0,得到阈值化图TMa、TMb,如图4A、4B所示,头肩区域以及噪声区域像素值为Vobj=1,背景区域像素值Vbg=0。
如图4A和4B所示,头肩区域像素值设定为Vobj=1,但阈值化有可能引入如噪声A、噪声B所示的与头肩区域不相连的噪声区域。这些噪声区域在深度图中包含与头肩区域近似的距离信息,且噪声区域形状、位置、数量不确定,为了描述简便,未在图3A、3B的深度图中示出。为了去除这些噪声区域,进行步骤S124a和S125a的处理。
步骤S124a:对阈值化图TMa、TMb进行连通性分析,即按行或按列扫描阈值化图TMa、TMb,根据连通关系给各个区域标记不同的标记值,例如头肩区域标记值为100,噪声A区域标记值为101,噪声B区域标记值为102。连通性分析采用的连通关系例如4-连通或8-连通关系。4-连通关系,即中心像素与其东、南、西、北4方向最近的四个像素中至少有一个像素,两者像素值相同。8-连通关系,即中心像素与其东、南、西、北、东南、西南、东北、西北8方向最近的八个像素中至少有一个像素,两者像素值相同。连通性分析的结果就是标记了若干个不连通的独立区域,如图4A、4B所示的头肩区域、噪声A、噪声B等三个独立区域。
步骤S125a:对标记了不同标记值的头肩区域、噪声A、噪声B进行选取,由于头肩区域必定包含步骤S122a中La和Rb轮廓曲线,因此将未包含La和Rb轮廓曲线的噪声A、噪声B区域的像素值设为零,得到去噪后的阈值化图TMa、TMb,如图4C、4D所示。
由于步骤S122a中的交集Jab的像素位置必定属于头肩区域,利用交集Jab的像素位置,步骤S125a可在省略步骤S124a的情况下完成处理,即以交集Jab的像素位置为起点,根据连通关系不断把周围属于头肩区域的其他像素位置加入到交集Jab中就可以了。而噪声A、噪声B由于与增大的交集Jab始终不满足连通关系而被去除。由此,能够将头肩区域从驾驶舱背景中分离开来。
步骤S103:建立坐标系,并将头肩区域映射到坐标系中。在本发明的一个实施例中,坐标系为二维坐标系。其中,建立坐标系,并将所述头肩区域映射到所述坐标系中,进一步包括:
(1)根据至少两帧图像中的头肩区域确定坐标系原点。
(2)根据坐标系原点建立所述坐标系,并分别将至少两帧图像中的头肩区域映射到所述坐标系中。
具体地说,在头肩区域中设定坐标系,如图5、6A和6B所示。
在图5中,由于头部动作发生时,交点BL、BR为头部动作发力的最低点,因此取BL、BR连线中点或者头部动作发力最低点的相关点作为头肩区域的原点O。
在图6A、6B中,对阈值化图TMa、TMb,根据原点O创建X-Y直角坐标系,X水平轴由左向右指向,Y竖直轴由下向上指向,只考虑原点以上的Y半轴,因此坐标系只包含第一象限和二象限。由此,能够在头肩区域上设定坐标系原点,并根据原点创建直角坐标系。
步骤S104:根据至少两帧深度图的头肩区域在坐标系中的位置判断驾驶员的头部姿态以及头部姿态是否发生变化。具体包括如下步骤:
(1)根据至少两帧深度图的头肩区域在坐标系中的位置分别得到驾驶员的头部在至少两帧深度图中的姿态参数。
(2)比较至少两帧深度图中的姿态参数。
(3)当至少两帧深度图中的姿态参数发生改变时,判定驾驶员的头部姿态发生变化。在该示例中,姿态参数包括:头部高度、头肩区域在所述坐标系中第一象限所占的像素总数以及头肩区域在所述坐标系中第二象限所占的像素总数。
进一步而言,当判断驾驶员的头部姿态发生变化时,还包括:
(1)根据至少两帧深度图的头肩区域在坐标系中的位置确定头部的变化趋势。
(2)根据变化趋势判断头部动作。
(3)根据头部动作控制相应的车辆负载执行相应的动作。
作为一个具体的示例,如图8所示,包括如下步骤:。
步骤S141:根据每帧阈值化图的X-Y直角坐标系计算姿态参数,如图7A、7B所示,分别计算阈值化图TMa、Tmb的姿态参数Htop、Count_1stQ和Count_2ndQ。其中Htop指定为头高(头部高度),即头顶一行与X轴之间的行数差(高度差);Count_1stQ指定为头肩区域在第一象限的像素总数,如图7A、7B中位于第一象限中的头肩区域;Count_2ndQ指定为头肩区域在第二象限的像素总数,如图7A、7B中位于第二象限中的头肩区域。将多帧阈值化图的姿态参数分别计算后,进入步骤S142。
步骤S142:读取多帧阈值化图的姿态参数,并进行帧与帧之间的参数比较。例如,从TMa到TMb,Htop参数变化很小,Count_2ndQ参数增大,Count_1stQ参数减小,因此可判定头部向第二象限移动(向图像左边移动),即可判定头部在作“右摆头”动作(驾驶员做出“右摆头”动作,一般经透镜成像后的头肩区域向图像左边移动)。
同理,若从TMa到TMb,Htop参数变化很小,Count_2ndQ参数减小,Count_1stQ参数增大,可判定头部向第一象限移动,即可判定头部在作“左摆头”动作;若从TMa到TMb,Htop、Count_2ndQ和Count_1stQ参数都减小,可判定头部在作“点头”动作;若从TMa到TMb,Htop、Count_2ndQ和Count_1stQ参数都增大,可判定头肩部在作“头肩前移”动作,“头肩前移”即头肩部向前靠近TOF摄像机的动作。
此外,若Htop、Count_2ndQ和Count_1stQ参数都不变化,还可记录姿态保持时间参数Tkeep,因此可以判定识别具有保持时间长度的姿态。由此,可以判定单个头部姿态以及多个头部姿态的变化组合。
进一步地,可根据识别的头部姿态组合设定相应的编号,并将编号进行存储,以便后续使用,如图9所示,为本发明的一个实施例中的编号组合,左列表列出可以识别的头部姿态组合以及设定的编号。
由此,能够从计算机接收的深度图中识别头部姿态。
以下具体说明根据头部动作控制相应的车辆负载执行相应的动作。
具体地,可以由驾驶员的头部姿态动作触发,也可以由其他车辆搭载设备触发。如图10所示,执行步骤S201至S207,这些步骤处于一个重复执行的循环中。
步骤S201:(控制程序S200)首先通过车身网络收发器从车身网络读取车身网络信号。
步骤S202:判断车身网络信号中是否包含设备触发请求信号。若是则执行步骤S203,否则执行步骤S205。
步骤S203:从设备触发请求信号中读取设备号。
步骤S204:根据设备号调用相应的设备触发控制程序,设备触发控制程序调用完毕后返回控制程序S200的起始。
步骤S205:调用识别程序。
步骤S206:判断识别程序返回的姿态编号是否大于5,若是则执行步骤S207,否则返回步骤S201。
步骤S207:生成并发送姿态触发控制信号,并返回控制程序S200的起始,否则直接返回控制程序S200的起始。
可以触发控制程序S200的其他车辆搭载设备例如蓝牙电话设备、空调器设备、音响设备等,并且通过设备触发请求信号中包含的设备号来识别不同的车辆搭载设备,因此设备触发控制程序针对不同设备可以有特定的控制方法。例如识别到蓝牙电话设备号时调用设备触发控制程序a,识别到空调器设备号时调用设备触发控制程序b,依次类推。
如图11,可以执行设备触发控制程序a,控制蓝牙电话设备。具体地,包括如下步骤:
步骤S211a:驱动语音播报器130。
步骤S212a:语音播报器130在驱动下播报语音(接通来电请点头)或播报其他事先设定的语音,其他事先设定的语音例如(接通来电请头肩前移))。
步骤S213a:调用点头识别多选程序,或头肩前移识别多选程序,点头识别多选程序有3个返回值,若返回值为1则执行步骤S214a。若返回值为2则执行步骤S215a,若返回值为3则执行步骤S212a。
步骤S214a:生成接通电话的控制信号。
步骤S215a:生成挂断电话的控制信号。
步骤S216a:控制信号生成之后,通过车身网络收发器发送控制信号至车身网络。蓝牙电话设备从车身网络读取此控制信号即可执行接通或挂断电话的操作。
此外,在步骤S211a至S212a中,如果从车身网络收发器读取的车身网络触发请求信号中还包含电话号码信息,则还可以驱动语音播报器130播报包含电话号码的语音。
在步骤S213a中,如图12,点头识别多选程序包含以下步骤:
步骤S231:调用识别程序S100。
步骤S232:三选一结构。即对识别程序S100返回的姿态编号进行条件判断,判断条件包括:1(姿态编号等于4?)、条件2(姿态编号等于2或3?)、条件3(默认)。
步骤S233:返回值1时的相应处理。
步骤S234:返回值2时的相应处理。
步骤S235:返回值3时的相应处理。
此外,由于姿态编号4的“点头”动作可能会影响驾驶员视线偏离前视的安全方向,因此可以利用能够保持视线前视的姿态编号5的“头肩前移”动作替换“点头”动作,保证操作过程中的安全性。将判断条件1(姿态编号等于4?)修改为判断条件1(姿态编号等于5?),即可轻易将点头识别多选程序替换为头肩前移识别多选程序。由此,可以根据来电请求信号执行控制蓝牙电话设备的操作。
此外,如图13,可以执行设备触发控制程序b,控制空调器设备执行。由于触发请求信号中还可以包含空调器设备的气温传感器信息,具体包括:
步骤S211b:驱动语音播报器。
步骤S212b:语音播报器在被驱动下播报语音(已检测到车内气温过高)或播报其他事先设定的语音,气温过低时也可以播报语音(已检测到车内气温过低))。
步骤S213b:调用空调器风力控制控制程序。
步骤S214b:通过车身网络收发器将步骤S213b返回的控制信号发送至车身网络。空调器设备从车身网络读取此控制信号即可执行相应操作。
在步骤S213b中,如图14,空调器风力控制控制程序包含以下步骤:
步骤S241:将保存的风力等级变量N设定为1(例如空调器最小风力等级为1级),此变量将作为后续语音播报参数和风力控制信号参数。
步骤S242驱动语音播报器。
步骤S243:语音播报器在CPU124的驱动下播报语音(空调器制冷至N级风力请点头)或播报其他事先设定的语音,例如N设定为1或2时播报语音分别包含语音(1级)或(2级)等,气温过低时也可以播报(空调器制热至N级风力请点头),改为识别头肩前移动作也可以播报(空调器制冷至N级风力请头肩前移))。
步骤S244:调用点头识别多选程序(或头肩前移识别多选程序)。
步骤S245:如果返回值为1,则读取变量N并生成空调器制冷调风控制信号(即包含启动空调器制冷和调节风力至N级的控制信号)。
步骤S246:如果返回值为2,则生成保持原状控制信号(即不改变空调器现有状态的控制信号)。
步骤S247:如果返回值为3,则将变量N设定为N+1(S247)。
步骤S248:判断N是否小于8(例如空调器最大风力等级小于8级),
步骤S249:如果是,则等待1秒后返回步骤S242,否则空调器风力控制控制程序结束并返回。其中,步骤S245、S246之后空调器风力控制控制程序结束并返回。
由此,可以根据空调器气温传感器触发请求信号执行控制空调器设备的操作。同理,可以根据其他车辆搭载设备的触发请求执行控制的操作。
在上述的一个示例中,设定诸如图9的头部姿态组合及其编号(左边列表)和设备操作预定义(右边列表)的对应关系,可以在没有其他车辆搭载设备触发请求的情况下,直接根据识别的头部姿态组合或编号生成控制相关车辆搭载设备的操作信号。例如,当判断得到姿态编号等于6或7,根据图9的对应关系,则直接生成控制空调器设备“启动制冷”或“关闭”的控制信号,并通过车身网络收发器将控制信号发送至车身网络,空调器设备从车身网络读取此控制信号即可执行相应操作。同理,只要设定了某种头部姿态和某种车辆搭载设备操作的对应关系,则可直接生成相关控制信号,并通过车身网络收发器将控制信号发送至车身网络,该车辆搭载设备从车身网络读取此控制信号执行相应操作。
由此,可以根据车辆搭载设备触发请求信号或驾驶员姿态触发请求信号,执行控制车辆搭载设备的操作。
根据本发明实施例的头部姿态识别方法,执行深度图的时间微分计算,并执行阈值化和区域分析选取,从而将头肩区域与背景分离;分离后,对头肩区域设定原点和直角坐标系;计算坐标系中的头部姿态参数,并根据姿态参数判定多帧深度图中的姿态变化;最后根据车辆搭载设备触发请求信号、驾驶员姿态触发请求信号以及姿态变化组合与设备操作的对应关系,执行对相关车辆搭载设备的控制操作。由此,该方法可以根据车辆搭载设备触发请求信号或驾驶员姿态触发,执行对相关车辆搭载设备的控制操作。
并且,利用TOF摄像机感应的深度图受外界光变化的影响较小,可以保持系统简单性和具有较高的识别精度。
如图15所示,在本发明的第二实施例中,电动座椅控制设备500通过车身网络200进行通信。通常,电动座椅控制设备500能够通过驱动座椅的若干个电机,对座椅的姿态和位置进行精细调整,相关的姿态和位置参数包括:座椅靠背倾斜角Chair_Angle、座椅在滑动导轨上的前后位置Chair_XPos以及座椅的高低Chair_YPos,如图16所示。如无特殊说明,以下所述座椅均指定为驾驶员座椅。
对于驾驶员而言,座椅头枕的位置确定了驾驶员安全行驶过程中最大的头肩部活动范围。而电动座椅控制设备500对Chair_Angle、Chair_XPos和Chair_YPos的调整也唯一确定了座椅头枕的位置。
对于TOF摄像机来说,座椅头枕位置唯一确定了深度图中座椅头枕的成像,即一旦座椅头枕位置确定则座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值)即是确定的。换言之,每一组(Chair_Angle\Chair_XPos\Chair_YPos)参数确定了座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值),这种(座椅参数—像素值)对应关系可以事先测量并存储为一张数据表Chair_datasheet。
由于座椅头枕的位置确定了驾驶员安全行驶过程中的最大活动范围,因此座椅头枕的位置将TOF摄像机成像场景分为两部分:一部分是座椅头枕及其距离TOF摄像机更远处的车舱背景的成像;另一部分是比座椅头枕更接近TOF摄像机的驾驶员头肩区域和其他噪声区域的成像。从而座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值)可以作为头肩区域分割阈值。
具体地说。在图2中,可将步骤S121a、S122a、S123a、S125a分别替换为如图17中的步骤S121b、S122b、S123b、S125b。
步骤S121b:通讯获取座椅参数。
步骤S122b:查表获取阈值。
步骤S123b:深度图阈值化之二。
步骤S125b:头肩区域选取之二,结合图17所示。
在步骤S121b中,在车辆上电时通过车身网络收发器和车身网络从电动座椅控制设备第一次获取座椅参数(Chair_Angle\Chair_XPos\Chair_YPos),并进行保存。而后定时监测车身网络收发器是否收到电动座椅控制设备的新参数通知,若有新参数通知则将保存的原有的座椅参数改写为新参数。
在步骤S122b中根据存储的座椅参数对Chair_datasheet执行查表操作,查找当前座椅参数对应的座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值),以此像素值作为头肩区域的分割阈值X,将X进行存储。
在步骤S123b中,读取X、深度图Ma和Mb,深度图Ma、Mb如图3A、3B所示。若事先设定TOF摄像机的成像方式为像素值随成像物体距离增大而递减,则对深度图Ma和Mb中大于X的像素值设定为Vobj=1,其他像素值设定为Vbg=0,得到阈值化图TMa、TMb,如图18A、18B所示,头肩区域以及噪声区域像素值为Vobj=1,背景区域像素值Vbg=0;若事先设定TOF摄像机的成像方式为像素值随成像物体距离增大而递增,则对深度图Ma和Mb中小于X的像素值设定为Vobj=1,其他像素值设定为Vbg=0。
在步骤S124a中,通过同样的连通性分析对阈值化图Ma和Mb标记了头肩区域、噪声A、噪声B、噪声C等四个独立区域,如图18A、18B所示。
在步骤S125b中,由于步骤S123b的处理,比头肩区域更近的车门板区域噪声C也可能保留在阈值化图Ma和Mb中,而一般车门板区域噪声C贴近深度图右边缘其像素首先可被设定为零而去除,然后在头肩区域、噪声A、噪声B之中选出一个包含最多像素的区域保留下来,如图4C、4D所示,最后将去噪后的阈值化图TMa、TMb进行存储。由此,也能够将头肩区域从驾驶舱背景中分离开来。
此外,通过读取去噪后的阈值化图TMa、TMb,并对TMa、TMb求图像差,如图19A所示;接着在图像差中取头部动作发力的最低点BL、BR两点连线中点或头部动作发力最低点的其它相关点为头肩区域原点O,如图19B所示。然后对存储的阈值化图TMa、TMb,根据原点O创建X-Y直角坐标系,X水平轴由左向右指向,Y竖直轴由下向上指向,只考虑原点以上的Y半轴,因此坐标系只包含第一、第二象限,如图6A、6B所示。
由此,能够在头肩区域上设定坐标系原点,并根据原点设定直角坐标系。其余操作如上所述。
根据本发明实施例的头部姿态识别方法可通过车身网络通信获取座椅参数,并利用座椅参数查表获取头肩区域分割阈值,并执行阈值化和区域分析选取,从而将头肩区域与背景分离;通过对分离出来的阈值化头肩区域,设定原点和直角坐标系;并在坐标系中计算头部姿态参数,并根据姿态参数判定多帧深度图中的姿态变化;最后根据车辆搭载设备触发请求信号、驾驶员姿态触发请求信号以及姿态变化组合与设备操作的对应关系,执行对相关车辆搭载设备的控制操作。由此,车载头部姿态识别系统可以根据车辆搭载设备触发请求信号或驾驶员姿态触发,执行对相关车辆搭载设备的控制操作。
当然,在本发明的其它示例中,可读取存储在诸如磁盘或光盘之类的其它介质上的程序。语音播报器也可以作为其他车辆搭载设备的部件的形式存在,通过车身网络收发器和车身网络发送控制信息驱动语音播报器130播报预先设定的语音。
根据本发明实施例的头部姿态识别方法,具有高的识别精度,且该方法操作简单,易于实现。
以下结合附图描述根据本发明实施例的头部姿态识别系统。如图21所示。该系统包括:深度图采集模块图中未示出和控制器120(即计算机120)。在本发明的一个实施例中,深度图采集模块包括飞行时间传感器摄像机110(TOF摄像机110)。
如图20A所示,TOF摄像机一般由TOF传感器(阵列)、透镜、LED驱动器和LED灯(阵列)组成。其工作原理在于,LED驱动器控制LED灯发出高频率的调制脉冲光,脉冲光经景物反射通过透镜到达TOF传感器,此过程中脉冲光飞行经过了一段时间T_flight,这个时间T_flight被TOF传感器感应为相位差D_phasic。由于脉冲光的飞行时间与景物距离成正比,因此相位差与景物距离也成正比,景物距离计算公式为:
景物距离≈(D_phasic×C)/(4×pi×fm),
其中C、pi、fm分别代表光速、圆周率、脉冲光调制频率。TOF摄像机输出的深度图像信号包含景物的距离信息,而不是景物反射外界光的亮度,因而利用深度图像信号计算识别头部姿态受到外界光变化影响较小,可以得到较好的计算精度。
图20B和20C分别示意了在同一景物由TOF摄像机成像的深度图像和普通摄像机成像的普通亮度图像。景物包含车窗、B柱、人、头枕和头枕后面的车舱背景。图20B中以不同深浅的填充灰色示意各景物远离摄像机的不同距离:例如,比人更接近TOF摄像机的景物以0%灰色(白色)表示“很近”的距离;人(头肩区域)以25%灰色表示“较近”的距离;B柱和头枕以50%灰色表示“近”的距离;头枕后面的车舱背景以75%灰色表示“较远”的距离;车窗(车外景物)以100%灰色(黑色)表示“很远”的距离。由于人脸五官相对整个头部前后尺寸而言深度变化较小,可以认为与头肩区域具有同样距离,因此五官的边界在深度图中变得不明显并不作示意。示意图中以浅灰色表示近距离、深灰色表示远距离,当然技术上也可以轻易地进行反色处理,即以深灰色表示近距离、浅灰色表示远距离。数字图像以像素为组成单位,像素具有色阶深度,且色阶以比特为单位,例如8比特灰色阶可以产生256种不同深浅的灰色,即像素值处于[0,255]的范围内。当然还可以采用更大的色阶数或更复杂的彩色色阶进行表示。由于TOF摄像机的组成及其工作方式并非本发明权利要求范围,因此不再赘述。
其中,深度图采集模块110用于采集车辆驾驶室的景物的深度图。控制器120用于对深度图进行分割以得到驾驶员的头肩区域与背景区域,并建立坐标系以将头肩区域映射到所述坐标系中,以及根据至少两帧深度图的头肩区域在坐标系中的位置判断驾驶员的头部姿态以及头部姿态是否发生变化。其中,车辆负载包括但不限于:蓝牙电话设备、空调器设备、语音播报器。
如图21所示,头部姿态识别系统100包括TOF摄像机110(即作为深度图成像装置),其用于通过感应驾驶员头肩区域和驾驶舱背景来创建深度图;计算机120用于在深度图中识别头部姿态(即计算机120作为头部姿态识别装置);以及与计算机120相连接的语音播报器130。
其中,计算机120还与车身网络200相连接;车身网络200可以与多个车辆搭载设备相连接,例如蓝牙电话设备300、空调器设备400等。
如图22所示,计算机120包括:视频信号转换器121,用于将TOF摄像机产生的深度图转换为数字信号;ROM122,用于存储程序和固定数据;RAM123,用于存储深度图或用作数据的工作区;CPU124,基于ROM122存储的程序执行头部识别程序和控制程序;车身网络收发器125,用于将CPU124产生的控制信号发送至车身网络200,以及接收车身网络200的反馈信号反馈给CPU124。
例如:控制器120可通过如下方式对深度图进行分割以得到驾驶员的头肩区域与背景区域:
(1)计算至少两帧深度图对应位置的像素的像素值之差。
(2)提取像素值之差大于预设值的像素点集合。
(3)根据像素点集合得到区域分割阈值和阈值误差。
(4)根据区域分割阈值和阈值误差分别对至少两帧深度图进行阈值化处理,并得到至少两帧深度图对应的第一和第二阈值化图。
(5)分别对第一和第二阈值化图进行连通性分析和去噪处理以分别得到至少两帧图像中的头肩区域与背景区域。
换言之,上述操作为将头肩区域从驾驶舱背景中分离开来。更为具体地,如图2所示,包括以下步骤:
步骤S121a:CPU124从RAM123读取相邻前后时间(或相隔若干时间)的两帧深度图Ma和Mb(如图3A、3B所示),并求取两帧深度图对应位置的所有像素的像素值之差(称为图像差,如图3C)。由深度图Ma和Mb对比可见,头肩区域的位置发生变化,其中的部分像素值相减的绝对值远大于零,如图3C中的实线包围的网格阴影区域;而头肩区域以外的背景(车窗、B柱等轮廓曲线)未有变化,其中像素值相减的绝对值约为零,如图3C中的虚线区域。因此可以轻易设定一个充分小的阈值,将图像差背景的像素值设定为零,仅保留实线包围的网格阴影区域,去除虚线区域,如图3D所示。
在驾驶员几乎不动时,图3D的情况不会出现,此时CPU124可判定系统处于待机或等待状态。
步骤S122a:处理图3D的情况。如图3D所示,实线包围的网格阴影区域包含4条相交的轮廓曲线La、Lb、Ra、Rb和3个交点T、BL、BR,其中La、Lb起于点T止于点BL,Ra、Rb起于点T止于点BR。La、Ra来自深度图Ma的头肩轮廓,Lb、Rb来自深度图Mb的头肩轮廓,La和Rb之间的像素位置是深度图Ma和Mb中头肩区域的交集Jab所在位置,Jab在深度图Ma和Mb中包含的像素集合同属于头肩区域,因此根据Jab在深度图Ma和Mb中指定位置的像素值估计区域分割阈值。由于Jab通常包含多行像素,因此可以按每行估计一个单行区域分割阈值,也可以对所有像素行只估计一个统一的区域分割阈值。这里,阈值包括阈值本身X和阈值误差w。例如,X直接取Jab包含的像素值(或平均像素值),w取某种根据像素值计算的方差。这些阈值被CPU124写入RAM123。
步骤S123a:CPU124从RAM123读取深度图Ma、Mb和区域分割阈值,并根据区域分割阈值对深度图Ma、Mb进行阈值化处理。例如,对深度图Ma、Mb中所有处于[X-w,X+w]范围内的像素值设定为Vobj=1,其他像素值设定为Vbg=0,得到阈值化图TMa、TMb,如图4A、4B所示,白色区域像素值为Vobj=1,黑色区域像素值Vbg=0。
如图4A、4B所示,头肩区域像素值设定为Vobj=1(白色区域),但阈值化有可能引入如噪声A、噪声B所示的与头肩区域不相连的噪声区域。这些噪声区域在深度图中包含与头肩区域近似的距离信息,且噪声区域形状、位置、数量不确定,为了描述简便,未在图3A、3B的深度图中示出。为了去除这些噪声区域,进行步骤S124a、S125a的处理。
步骤S124a:CPU124对阈值化图TMa、TMb进行连通性分析,即CPU124按行或按列扫描阈值化图TMa、TMb,根据连通关系给各个区域标记不同的标记值,例如头肩区域标记值为100,噪声A区域标记值为101,噪声B区域标记值为102。连通性分析采用的连通关系例如4-连通或8-连通关系。4-连通关系,即中心像素与其东、南、西、北4方向最近的四个像素中至少有一个像素,两者像素值相同。8-连通关系,即中心像素与其东、南、西、北、东南、西南、东北、西北8方向最近的八个像素中至少有一个像素,两者像素值相同。连通性分析的结果就是标记了若干个不连通的独立区域,如图4A、4B所示的头肩区域、噪声A、噪声B等三个独立区域。
步骤S125a:CPU124对标记了不同标记值的头肩区域、噪声A、噪声B进行选取,由于头肩区域必定包含步骤S122a中La和Rb轮廓曲线,因此将未包含La和Rb轮廓曲线的噪声A、噪声B区域的像素值设为零,得到去噪后的阈值化图TMa、TMb,如图4C、4D所示。然后,CPU124将去噪后的阈值化图TMa、TMb写入RAM123。
由于步骤S122a中的交集Jab的像素位置必定属于头肩区域,利用交集Jab的像素位置,步骤S125a可在省略步骤S124a的情况下完成处理,即以交集Jab的像素位置为起点,根据连通关系不断把周围属于头肩区域的其他像素位置加入到交集Jab中就可以了。而噪声A、噪声B由于与增大的交集Jab始终不满足连通关系而被去除。由此,CPU124能够将头肩区域从驾驶舱背景中分离开来。然后,执行后续处理。
在本发明的一个实施例中,坐标系为二维坐标系。其中,控制器120(即计算机120)建立坐标系,并将头肩区域映射到坐标系中,进一步包括:
(1)根据至少两帧图像中的头肩区域确定坐标系原点。
(2)根据坐标系原点建立所述坐标系,并分别将至少两帧图像中的头肩区域映射到所述坐标系中。
具体地说,在头肩区域中设定坐标系,如图5、6A和6B所示。
在图5中,由于头部动作发生时,交点BL、BR为头部动作发力的最低点,因此CPU124取BL、BR连线中点或者头部动作发力最低点的相关点作为头肩区域的原点O。
在图6A、6B中,CPU124对RAM123中存储的阈值化图TMa、TMb,根据原点O创建X-Y直角坐标系,X水平轴由左向右指向,Y竖直轴由下向上指向,只考虑原点以上的Y半轴,因此坐标系只包含第一、二象限。
由此,CPU124能够在头肩区域上设定坐标系原点,并根据原点创建直角坐标系。
在本发明的一个实施例中,控制器120(即计算机120)根据至少两帧深度图的头肩区域在坐标系中的位置判断驾驶员的头部姿态以及头部姿态是否发生变化。具体包括如下步骤:
(1)根据至少两帧深度图的头肩区域在坐标系中的位置分别得到驾驶员的头部在至少两帧深度图中的姿态参数。
(2)比较至少两帧深度图中的姿态参数。
(3)当至少两帧深度图中的姿态参数发生改变时,判定驾驶员的头部姿态发生变化。在该示例中,姿态参数包括:头部高度、头肩区域在所述坐标系中第一象限所占的像素总数以及头肩区域在所述坐标系中第二象限所占的像素总数。
进一步而言,当判断驾驶员的头部姿态发生变化时,控制器120(即计算机120)还用于:
(1)根据至少两帧深度图的头肩区域在坐标系中的位置确定头部的变化趋势。
(2)根据变化趋势判断头部动作。
(3)根据头部动作控制相应的车辆负载执行相应的动作。
作为一个具体的示例,如图8所示,包括如下步骤:。
步骤S141:CPU124根据每帧阈值化图的X-Y直角坐标系计算姿态参数,如图7A、7B所示,CPU124分别计算阈值化图TMa、Tmb的姿态参数Htop、Count_1stQ和Count_2ndQ。其中Htop指定为头高(头部高度),即头顶一行与X轴之间的行数差(高度差);Count_1stQ指定为头肩区域在第一象限的像素总数,如图7A、7B中位于第一象限中的头肩区域;Count_2ndQ指定为头肩区域在第二象限的像素总数,如图7A、7B中位于第二象限中的头肩区域。CPU124将多帧阈值化图的姿态参数分别计算后,存储到RAM123,进入步骤S142。
步骤S142:CPU124从RAM123中读取多帧阈值化图的姿态参数,并进行帧与帧之间的参数比较。例如,从TMa到TMb,Htop参数变化很小,Count_2ndQ参数增大,Count_1stQ参数减小,因此CPU124可判定头部向第二象限移动(向图像左边移动),即可判定头部在作“右摆头”动作(驾驶员做出“右摆头”动作,一般经透镜成像后的头肩区域向图像左边移动)。
同理,若从TMa到TMb,Htop参数变化很小,Count_2ndQ参数减小,Count_1stQ参数增大,CPU124可判定头部向第一象限移动,即可判定头部在作“左摆头”动作;若从TMa到TMb,Htop、Count_2ndQ和Count_1stQ参数都减小,CPU124可判定头部在作“点头”动作;若从TMa到TMb,Htop、Count_2ndQ和Count_1stQ参数都增大,CPU124可判定头肩部在作“头肩前移”动作,“头肩前移”即头肩部向前靠近TOF摄像机的动作。
此外,若Htop、Count_2ndQ和Count_1stQ参数都不变化,CPU124还可记录姿态保持时间参数Tkeep,因此CPU124可以判定识别具有保持时间长度的姿态。由此,CPU124可以判定单个头部姿态以及多个头部姿态的变化组合。
进一步地,CPU124可根据识别的头部姿态组合设定相应的编号,并将编号写入RAM123以便识别程序S100被调用时返回这些编号(即CPU124作为输出姿态编号装置),以便后续使用,如图9所示,为本发明的一个实施例中的编号组合,左列表列出可以识别的头部姿态组合以及设定的编号。由此,CPU124能够从计算机接收的深度图中识别头部姿态。
以下具体说明根据头部动作控制相应的车辆负载执行相应的动作。
具体地,可以由驾驶员的头部姿态动作触发,也可以由其他车辆搭载设备触发。如图10所示,执行步骤S201至S207,这些步骤处于一个重复执行的循环中。
步骤S201:(控制程序S200)首先通过车身网络收发器从车身网络读取车身网络信号。
步骤S202:判断车身网络信号中是否包含设备触发请求信号。若是则执行步骤S203,否则执行步骤S205。
步骤S203:从设备触发请求信号中读取设备号。
步骤S204:根据设备号调用相应的设备触发控制程序,设备触发控制程序调用完毕后返回控制程序S200的起始。
步骤S205:调用识别程序。
步骤S206:判断识别程序返回的姿态编号是否大于5,若是则执行步骤S207,否则返回步骤S201。
步骤S207:生成并发送姿态触发控制信号,并返回控制程序S200的起始,否则直接返回控制程序S200的起始。
可以触发控制程序S200的其他车辆搭载设备例如蓝牙电话设备、空调器设备、音响设备等,并且通过设备触发请求信号中包含的设备号来识别不同的车辆搭载设备,因此设备触发控制程序针对不同设备可以有特定的控制方法。例如识别到蓝牙电话设备号时调用设备触发控制程序a,识别到空调器设备号时调用设备触发控制程序b,依次类推。
如图11,CPU124可以执行设备触发控制程序a,控制蓝牙电话设备。具体地,包括如下步骤:
步骤S211a:CPU124驱动语音播报器130。
步骤S212a:语音播报器130在CPU124的驱动下播报语音(接通来电请点头)或播报其他事先设定的语音,其他事先设定的语音例如(接通来电请头肩前移))。
步骤S213a:调用点头识别多选程序,或头肩前移识别多选程序,点头识别多选程序有3个返回值,若返回值为1则执行步骤S214a。若返回值为2则执行步骤S215a,若返回值为3则执行步骤S212a。
步骤S214a:生成接通电话的控制信号。
步骤S215a:生成挂断电话的控制信号。
步骤S216a:控制信号生成之后,通过车身网络收发器发送控制信号至车身网络。蓝牙电话设备从车身网络读取此控制信号即可执行接通或挂断电话的操作。
此外,在步骤S211a至S212a中,如果从车身网络收发器读取的车身网络触发请求信号中还包含电话号码信息,则还可以驱动语音播报器130播报包含电话号码的语音。
在步骤S213a中,如图12,点头识别多选程序包含以下步骤:
步骤S231:调用识别程序S100。
步骤S232:三选一结构。即对识别程序S100返回的姿态编号进行条件判断,判断条件包括:1(姿态编号等于4?)、条件2(姿态编号等于2或3?)、条件3(默认)。
步骤S233:返回值1时的相应处理。
步骤S234:返回值2时的相应处理。
步骤S235:返回值3时的相应处理。
此外,由于姿态编号4的“点头”动作可能会影响驾驶员视线偏离前视的安全方向,因此可以利用能够保持视线前视的姿态编号5的“头肩前移”动作替换“点头”动作,保证操作过程中的安全性。将判断条件1(姿态编号等于4?)修改为判断条件1(姿态编号等于5?),即可轻易将点头识别多选程序替换为头肩前移识别多选程序。由此,可以根据来电请求信号执行控制蓝牙电话设备的操作。
此外,如图13,可以执行设备触发控制程序b,控制空调器设备执行。由于触发请求信号中还可以包含空调器设备的气温传感器信息,具体包括:
步骤S211b:驱动语音播报器。
步骤S212b:语音播报器在被驱动下播报语音(已检测到车内气温过高)或播报其他事先设定的语音,气温过低时也可以播报语音(已检测到车内气温过低))。
步骤S213b:调用空调器风力控制控制程序。
步骤S214b:通过车身网络收发器将步骤S213b返回的控制信号发送至车身网络。空调器设备从车身网络读取此控制信号即可执行相应操作。
在步骤S213b中,如图14,空调器风力控制控制程序包含以下步骤:
步骤S241:将保存的风力等级变量N设定为1(例如空调器最小风力等级为1级),此变量将作为后续语音播报参数和风力控制信号参数。
步骤S242:驱动语音播报器。
步骤S243:语音播报器在CPU124的驱动下播报语音(空调器制冷至N级风力请点头)或播报其他事先设定的语音,例如N设定为1或2时播报语音分别包含语音(1级)或(2级)等,气温过低时也可以播报(空调器制热至N级风力请点头),改为识别头肩前移动作也可以播报(空调器制冷至N级风力请头肩前移))。
步骤S244:调用点头识别多选程序(或头肩前移识别多选程序)。
步骤S245:如果返回值为1,则读取变量N并生成空调器制冷调风控制信号(即包含启动空调器制冷和调节风力至N级的控制信号)。
步骤S246:如果返回值为2,则生成保持原状控制信号(即不改变空调器现有状态的控制信号)。
步骤S247:如果返回值为3,则将变量N设定为N+1(S247)。
步骤S248:判断N是否小于8(例如空调器最大风力等级小于8级),
步骤S249:如果是,则等待1秒后返回步骤S242,否则空调器风力控制控制程序结束并返回。其中,步骤S245、S246之后空调器风力控制控制程序结束并返回。
由此,可以根据空调器气温传感器触发请求信号执行控制空调器设备的操作。同理,可以根据其他车辆搭载设备的触发请求执行控制的操作。
在上述的一个示例中,设定诸如图9的头部姿态组合及其编号(左边列表)和设备操作预定义(右边列表)的对应关系,可以在没有其他车辆搭载设备触发请求的情况下,直接根据识别的头部姿态组合或编号生成控制相关车辆搭载设备的操作信号。例如,当判断得到姿态编号等于6或7,根据图9的对应关系,则直接生成控制空调器设备“启动制冷”或“关闭”的控制信号,并通过车身网络收发器将控制信号发送至车身网络,空调器设备从车身网络读取此控制信号即可执行相应操作。同理,只要设定了某种头部姿态和某种车辆搭载设备操作的对应关系,则可直接生成相关控制信号,并通过车身网络收发器将控制信号发送至车身网络,该车辆搭载设备从车身网络读取此控制信号执行相应操作。
由此,可以根据车辆搭载设备触发请求信号或驾驶员姿态触发请求信号,执行控制车辆搭载设备的操作。
根据本发明实施例的头部姿态识别系统,执行深度图的时间微分计算,并执行阈值化和区域分析选取,从而将头肩区域与背景分离;分离后,对头肩区域设定原点和直角坐标系;计算坐标系中的头部姿态参数,并根据姿态参数判定多帧深度图中的姿态变化;最后根据车辆搭载设备触发请求信号、驾驶员姿态触发请求信号以及姿态变化组合与设备操作的对应关系,执行对相关车辆搭载设备的控制操作。由此,该系统可以根据车辆搭载设备触发请求信号或驾驶员姿态触发,执行对相关车辆搭载设备的控制操作。
并且,利用TOF摄像机感应的深度图受外界光变化的影响较小,可以保持系统简单性和具有较高的识别精度。
如图15所示,在本发明的一个实施例中,电动座椅控制设备500通过车身网络200进行通信。通常,电动座椅控制设备500能够通过驱动座椅的若干个电机,对座椅的姿态和位置进行精细调整,相关的姿态和位置参数包括:座椅靠背倾斜角Chair_Angle、座椅在滑动导轨上的前后位置Chair_XPos以及座椅的高低Chair_YPos,如图16所示。如无特殊说明,以下所述座椅均指定为驾驶员座椅。
对于驾驶员而言,座椅头枕的位置确定了驾驶员安全行驶过程中最大的头肩部活动范围。而电动座椅控制设备500对Chair_Angle、Chair_XPos和Chair_YPos的调整也唯一确定了座椅头枕的位置。
对于TOF摄像机来说,座椅头枕位置唯一确定了深度图中座椅头枕的成像,即一旦座椅头枕位置确定则座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值)即是确定的。换言之,每一组(Chair_Angle\Chair_XPos\Chair_YPos)参数确定了座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值),这种(座椅参数—像素值)对应关系可以事先测量并存储为一张数据表Chair_datasheet。
由于座椅头枕的位置确定了驾驶员安全行驶过程中的最大活动范围,因此座椅头枕的位置将TOF摄像机成像场景分为两部分:一部分是座椅头枕及其距离TOF摄像机更远处的车舱背景的成像;另一部分是比座椅头枕更接近TOF摄像机的驾驶员头肩区域和其他噪声区域的成像。从而座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值)可以作为头肩区域分割阈值。
具体地说。在图2中,可将步骤S121a、S122a、S123a、S125a分别替换为如图17中的步骤S121b、S122b、S123b、S125b。
步骤S121b:通讯获取座椅参数。
步骤S122b:查表获取阈值。
步骤S123b:深度图阈值化之二。
步骤S125b:头肩区域选取之二,结合图17所示。
在步骤S121b中,在车辆上电时通过车身网络收发器和车身网络从电动座椅控制设备第一次获取座椅参数(Chair_Angle\Chair_XPos\Chair_YPos),并进行保存。而后定时监测车身网络收发器是否收到电动座椅控制设备的新参数通知,若有新参数通知则将保存的原有的座椅参数改写为新参数。
在步骤S122b中根据存储的座椅参数对Chair_datasheet执行查表操作,查找当前座椅参数对应的座椅头枕成像区域中心处的像素值(或座椅头枕成像区域平均像素值),以此像素值作为头肩区域的分割阈值X,将X进行存储。
在步骤S123b中,读取X、深度图Ma和Mb,深度图Ma、Mb如图3A、3B所示。若事先设定TOF摄像机的成像方式为像素值随成像物体距离增大而递减,则对深度图Ma和Mb中大于X的像素值设定为Vobj=1,其他像素值设定为Vbg=0,得到阈值化图TMa、TMb,如图18A、18B所示,头肩区域以及噪声区域像素值为Vobj=1,背景区域像素值Vbg=0;若事先设定TOF摄像机的成像方式为像素值随成像物体距离增大而递增,则对深度图Ma和Mb中小于X的像素值设定为Vobj=1,其他像素值设定为Vbg=0。
在步骤S124a中,通过同样的连通性分析对阈值化图Ma和Mb标记了头肩区域、噪声A、噪声B、噪声C等四个独立区域,如图18A、18B所示。
在步骤S125b中,由于步骤S123b的处理,比头肩区域更近的车门板区域噪声C也可能保留在阈值化图Ma和Mb中,而一般车门板区域噪声C贴近深度图右边缘其像素首先可被设定为零而去除,然后在头肩区域、噪声A、噪声B之中选出一个包含最多像素的区域保留下来,如图4C、4D所示,最后将去噪后的阈值化图TMa、TMb进行存储。由此,也能够将头肩区域从驾驶舱背景中分离开来。
此外,通过读取去噪后的阈值化图TMa、TMb,并对TMa、TMb求图像差,如图19A所示;接着在图像差中取头部动作发力的最低点BL、BR两点连线中点或头部动作发力最低点的其它相关点为头肩区域原点O,如图19B所示。然后对存储的阈值化图TMa、TMb,根据原点O创建X-Y直角坐标系,X水平轴由左向右指向,Y竖直轴由下向上指向,只考虑原点以上的Y半轴,因此坐标系只包含第一、第二象限,如图6A、6B所示。
由此,能够在头肩区域上设定坐标系原点,并根据原点设定直角坐标系。其余操作如上所述。
根据本发明实施例的头部姿态识别系统可通过车身网络通信获取座椅参数,并利用座椅参数查表获取头肩区域分割阈值,并执行阈值化和区域分析选取,从而将头肩区域与背景分离;通过对分离出来的阈值化头肩区域,设定原点和直角坐标系;并在坐标系中计算头部姿态参数,并根据姿态参数判定多帧深度图中的姿态变化;最后根据车辆搭载设备触发请求信号、驾驶员姿态触发请求信号以及姿态变化组合与设备操作的对应关系,执行对相关车辆搭载设备的控制操作。由此,车载头部姿态识别系统可以根据车辆搭载设备触发请求信号或驾驶员姿态触发,执行对相关车辆搭载设备的控制操作。
当然,在本发明的其它示例中,可读取存储在诸如磁盘或光盘之类的其它介质上的程序。语音播报器也可以作为其他车辆搭载设备的部件的形式存在,通过车身网络收发器和车身网络发送控制信息驱动语音播报器130播报预先设定的语音。
根据本发明实施例的头部姿态识别系统,具有高的识别精度,且该系统结构简单、成本低。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (17)
1.一种头部姿态识别方法,其特征在于,包括以下步骤:
采集车辆驾驶室的景物的深度图;
对所述深度图进行分割以得到驾驶员的头肩区域与背景区域;
建立坐标系,并将所述头肩区域映射到所述坐标系中;以及
根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化。
2.根据权利要求1所述的方法,其特征在于,当判断所述驾驶员的头部姿态发生变化时,还包括:
根据所述至少两帧深度图的头肩区域在所述坐标系中的位置确定所述头部的变化趋势;
根据所述变化趋势判断所述头部动作;
根据所述头部动作控制相应的车辆负载执行相应的动作。
3.根据权利要求1所述的方法,其特征在于,所述深度图是通过飞行时间传感器摄像机采集得到的。
4.根据权利要求1所述的方法,其特征在于,所述对深度图进行分割以得到驾驶员的头肩区域与背景区域,进一步包括:
计算所述至少两帧深度图对应位置的像素的像素值之差;
提取所述像素值之差大于预设值的像素点集合;
根据所述像素点集合得到区域分割阈值和阈值误差;
根据所述区域分割阈值和阈值误差分别对所述至少两帧深度图进行阈值化处理,并得到所述至少两帧深度图对应的第一和第二阈值化图;
分别对所述第一和第二阈值化图进行连通性分析和去噪处理以分别得到所述至少两帧图像中的头肩区域与背景区域。
5.根据权利要求4所述的方法,其特征在于,所述建立坐标系,并将所述头肩区域映射到所述坐标系中,进一步包括:
根据所述至少两帧图像中的头肩区域确定坐标系原点;
根据所述坐标系原点建立所述坐标系,并分别将所述至少两帧图像中的头肩区域映射到所述坐标系中。
6.根据权利要求5所述的方法,其特征在于,所述坐标系为二维坐标系。
7.根据权利要求1所述的方法,其特征在于,所述根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化,进一步包括:
根据所述至少两帧深度图的头肩区域在所述坐标系中的位置分别得到所述驾驶员的头部在所述至少两帧深度图中的姿态参数;
比较所述至少两帧深度图中的姿态参数;
当所述至少两帧深度图中的姿态参数发生改变时,判定所述驾驶员的头部姿态发生变化。
8.根据权利要求7所述的方法,其特征在于,所述姿态参数包括:
头部高度、头肩区域在所述坐标系中第一象限所占的像素总数以及头肩区域在所述坐标系中第二象限所占的像素总数。
9.一种头部姿态识别系统,其特征在于,包括:
深度图采集模块,用于采集车辆驾驶室的景物的深度图;
控制器,用于对所述深度图进行分割以得到驾驶员的头肩区域与背景区域,并建立坐标系以将所述头肩区域映射到所述坐标系中,以及根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化。
10.根据权利要求9所述的系统,其特征在于,所述控制器还用于:
根据所述至少两帧深度图的头肩区域在所述坐标系中的位置确定所述头部的变化趋势;
根据所述变化趋势判断所述头部动作;
根据所述头部动作控制相应的车辆负载执行相应的动作。
11.根据权利要求9所述的系统,其特征在于,所述深度图采集模块包括飞行时间传感器摄像机。
12.根据权利要求9所述的系统,其特征在于,所述控制器对所述深度图进行分割以得到驾驶员的头肩区域与背景区域,进一步包括:
计算所述至少两帧深度图对应位置的像素的像素值之差;
提取所述像素值之差大于预设值的像素点集合;
根据所述像素点集合得到区域分割阈值和阈值误差;
根据所述区域分割阈值和阈值误差分别对所述至少两帧深度图进行阈值化处理,并得到所述至少两帧深度图对应的第一和第二阈值化图;
分别对所述第一和第二阈值化图进行连通性分析和去噪处理以分别得到所述至少两帧图像中的头肩区域与背景区域。
13.根据权利要求12所述的系统,其特征在于,所述控制器建立坐标系,并将所述头肩区域映射到所述坐标系中,进一步包括:
根据所述至少两帧图像中的头肩区域确定坐标系原点;
根据所述坐标系原点建立所述坐标系,并分别将所述至少两帧图像中的头肩区域映射到所述坐标系中。
14.根据权利要求13所述的系统,其特征在于,所述坐标系为二维坐标系。
15.根据权利要求9所述的系统,其特征在于,所述控制器根据至少两帧深度图的头肩区域在所述坐标系中的位置判断所述驾驶员的头部姿态以及头部姿态是否发生变化,进一步包括:
根据所述至少两帧深度图的头肩区域在所述坐标系中的位置分别得到所述驾驶员的头部在所述至少两帧深度图中的姿态参数;
比较所述至少两帧深度图中的姿态参数;
当所述至少两帧深度图中的姿态参数发生改变时,判定所述驾驶员的头部姿态发生变化。
16.根据权利要求15所述的系统,其特征在于,所述姿态参数包括:
头部高度、头肩区域在所述坐标系中第一象限所占的像素总数以及头肩区域在所述坐标系中第二象限所占的像素总数。
17.根据权利要求10所述的系统,其特征在于,所述车辆负载包括蓝牙电话设备、空调器设备、语音播报器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188582.6A CN104182742B (zh) | 2013-05-20 | 2013-05-20 | 头部姿态识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188582.6A CN104182742B (zh) | 2013-05-20 | 2013-05-20 | 头部姿态识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104182742A true CN104182742A (zh) | 2014-12-03 |
CN104182742B CN104182742B (zh) | 2018-03-13 |
Family
ID=51963769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310188582.6A Active CN104182742B (zh) | 2013-05-20 | 2013-05-20 | 头部姿态识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182742B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873580A (zh) * | 2015-11-05 | 2017-06-20 | 福特全球技术公司 | 基于感知数据在交叉口处自主驾驶 |
CN107031650A (zh) * | 2015-11-04 | 2017-08-11 | 福特全球技术公司 | 基于驾驶员肢体语言来预测车辆运动 |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN107767407A (zh) * | 2016-08-16 | 2018-03-06 | 北京万集科技股份有限公司 | 一种基于tof相机的道路车辆目标提取系统及方法 |
CN108170282A (zh) * | 2018-01-19 | 2018-06-15 | 百度在线网络技术(北京)有限公司 | 用于控制三维场景的方法和装置 |
CN108229345A (zh) * | 2017-12-15 | 2018-06-29 | 吉利汽车研究院(宁波)有限公司 | 一种驾驶员检测系统 |
CN108345869A (zh) * | 2018-03-09 | 2018-07-31 | 南京理工大学 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
CN110163046A (zh) * | 2018-06-19 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 人体姿态识别方法、装置、服务器及存储介质 |
CN110598647A (zh) * | 2019-09-17 | 2019-12-20 | 四川爱目视光智能科技有限公司 | 一种基于图像识别的头部姿态识别方法 |
CN112758001A (zh) * | 2021-01-27 | 2021-05-07 | 四川长虹电器股份有限公司 | 一种基于tof的车灯随动控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006099597A2 (en) * | 2005-03-17 | 2006-09-21 | Honda Motor Co., Ltd. | Pose estimation based on critical point analysis |
CN101916496A (zh) * | 2010-08-11 | 2010-12-15 | 无锡中星微电子有限公司 | 一种司机驾驶姿势检测的系统和方法 |
CN102456127A (zh) * | 2010-10-21 | 2012-05-16 | 三星电子株式会社 | 头部姿态估计设备和方法 |
CN102737235A (zh) * | 2012-06-28 | 2012-10-17 | 中国科学院自动化研究所 | 基于深度信息和彩色图像的头部姿势估计方法 |
WO2012139268A1 (en) * | 2011-04-11 | 2012-10-18 | Intel Corporation | Gesture recognition using depth images |
US20120293635A1 (en) * | 2011-05-17 | 2012-11-22 | Qualcomm Incorporated | Head pose estimation using rgbd camera |
-
2013
- 2013-05-20 CN CN201310188582.6A patent/CN104182742B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006099597A2 (en) * | 2005-03-17 | 2006-09-21 | Honda Motor Co., Ltd. | Pose estimation based on critical point analysis |
CN101916496A (zh) * | 2010-08-11 | 2010-12-15 | 无锡中星微电子有限公司 | 一种司机驾驶姿势检测的系统和方法 |
CN102456127A (zh) * | 2010-10-21 | 2012-05-16 | 三星电子株式会社 | 头部姿态估计设备和方法 |
WO2012139268A1 (en) * | 2011-04-11 | 2012-10-18 | Intel Corporation | Gesture recognition using depth images |
US20120293635A1 (en) * | 2011-05-17 | 2012-11-22 | Qualcomm Incorporated | Head pose estimation using rgbd camera |
CN102737235A (zh) * | 2012-06-28 | 2012-10-17 | 中国科学院自动化研究所 | 基于深度信息和彩色图像的头部姿势估计方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107031650A (zh) * | 2015-11-04 | 2017-08-11 | 福特全球技术公司 | 基于驾驶员肢体语言来预测车辆运动 |
CN107031650B (zh) * | 2015-11-04 | 2021-08-31 | 福特全球技术公司 | 基于驾驶员肢体语言来预测车辆运动 |
CN106873580A (zh) * | 2015-11-05 | 2017-06-20 | 福特全球技术公司 | 基于感知数据在交叉口处自主驾驶 |
CN106873580B (zh) * | 2015-11-05 | 2021-07-13 | 福特全球技术公司 | 基于感知数据在交叉口处自主驾驶 |
CN107767407B (zh) * | 2016-08-16 | 2020-09-22 | 北京万集科技股份有限公司 | 一种基于tof相机的道路车辆目标提取系统及方法 |
CN107767407A (zh) * | 2016-08-16 | 2018-03-06 | 北京万集科技股份有限公司 | 一种基于tof相机的道路车辆目标提取系统及方法 |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN107239728B (zh) * | 2017-01-04 | 2021-02-02 | 赛灵思电子科技(北京)有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN108229345A (zh) * | 2017-12-15 | 2018-06-29 | 吉利汽车研究院(宁波)有限公司 | 一种驾驶员检测系统 |
CN108170282A (zh) * | 2018-01-19 | 2018-06-15 | 百度在线网络技术(北京)有限公司 | 用于控制三维场景的方法和装置 |
CN108345869A (zh) * | 2018-03-09 | 2018-07-31 | 南京理工大学 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
CN110163046A (zh) * | 2018-06-19 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 人体姿态识别方法、装置、服务器及存储介质 |
CN110163046B (zh) * | 2018-06-19 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 人体姿态识别方法、装置、服务器及存储介质 |
CN110598647A (zh) * | 2019-09-17 | 2019-12-20 | 四川爱目视光智能科技有限公司 | 一种基于图像识别的头部姿态识别方法 |
CN110598647B (zh) * | 2019-09-17 | 2022-04-22 | 四川爱目视光智能科技有限公司 | 一种基于图像识别的头部姿态识别方法 |
CN112758001A (zh) * | 2021-01-27 | 2021-05-07 | 四川长虹电器股份有限公司 | 一种基于tof的车灯随动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104182742B (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104182742A (zh) | 头部姿态识别方法及系统 | |
US11915502B2 (en) | Systems and methods for depth map sampling | |
US8908924B2 (en) | Exterior environment recognition device and exterior environment recognition method | |
US20200334843A1 (en) | Information processing apparatus, control method for same, non-transitory computer-readable storage medium, and vehicle driving support system | |
KR102022388B1 (ko) | 실세계 물체 정보를 이용한 카메라 공차 보정 시스템 및 방법 | |
CN105635597B (zh) | 车载相机的自动曝光方法及系统 | |
US9224055B2 (en) | Exterior environment recognition device | |
US20160252905A1 (en) | Real-time active emergency vehicle detection | |
CN108508916B (zh) | 一种无人机编队的控制方法、装置、设备及存储介质 | |
CN106774296A (zh) | 一种基于激光雷达和ccd摄像机信息融合的障碍检测方法 | |
CN103064416A (zh) | 巡检机器人室内外自主导航系统 | |
CN105447838A (zh) | 一种红外与微光/可见光融合成像的方法及系统 | |
CN106162144A (zh) | 一种用于夜视环境的视觉图像处理设备、系统和智能机器 | |
CN109840454B (zh) | 目标物定位方法、装置、存储介质以及设备 | |
US11521375B2 (en) | Method and system for improved object marking in sensor data | |
US11676403B2 (en) | Combining visible light camera and thermal camera information | |
WO2017094300A1 (ja) | 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム | |
CN103983951A (zh) | 目标探测信号的显示方法、装置及系统 | |
CN112666535A (zh) | 一种基于多雷达数据融合的环境感知方法及系统 | |
CN110850394A (zh) | 一种自动驾驶激光雷达强度标定方法 | |
CN109241855A (zh) | 基于立体视觉的智能车辆可行驶区域探测方法 | |
CN111323767A (zh) | 一种夜间无人车障碍物检测系统与方法 | |
CN103390259A (zh) | 视觉导引agv中的地面图像处理方法 | |
JP2018116004A (ja) | データ圧縮装置、制御方法、プログラム及び記憶媒体 | |
CN106340031A (zh) | 一种检测运动物体的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |