一种基于头部姿势识别的智能移动服务机器人控制方法

xiaoxiao2021-3-1  166

一种基于头部姿势识别的智能移动服务机器人控制方法
【技术领域】
[0001] 本发明涉及机器视觉控制领域,具体涉及一种基于头部姿势识别的智能移动服务 机器人控制方法,应用于智能移动服务机器人交互系统上,适于在智能移动服务机器人交 互系统上实现基于局部约束模型(CLM)的头部姿势实时估算并基于此来实现对智能移动服 务机器人的控制。
【背景技术】
[0002] 随着社会的发展,人口老龄化问题已经成为发达国家和部分发展中国家共同面对 的挑战,预测显示,从2015~2035年的20年时间,中国老年人口比例将会增加一倍,达到 20%,其中不乏由于疾病导致活动不便的老人,加上由于各种灾难事故造成的各种行动不 便的残障人士的数量也在逐渐增加,尤其是高位截瘫和手臂残疾的人士,他们中一部分的 出行活动受到了极大的制约。为了出行的便利以提高他们的生活质量,近年来,便利的出行 代步工具成为了社会和研究机构关注的热点,其中智能服务机器人更成为了其中的热点研 究对象。智能轮椅作为一种具有代表性的智能移动服务机器人,具有摇杆控制,肢体控制, 导航,避障,康复等功能。其中摇杆控制拥有良好的控制性能,但对于双手残疾或高位截瘫 导致双手无法运动的人来说,摇杆控制以及部分肢体控制例如手势控制等方法受到了很大 的制约,因此,头势控制作为一种新型的人机交互方式成为了近年来研究的热点。
[0003] 当前已有的识别头姿的方法有:
[0004] 1、佩戴运动传感器方法,此类方法通过在测试对象头部安装加速度计和陀螺仪传 感器,通过接收传感器运动数据判断头姿,此类方法精度高,但需要佩戴装置,用户体验较 差。
[0005] 2、LED标定方法,通过佩戴有一定数量LED的头套,利用摄像头捕捉头套图像,再根 据LED的位置判断当前的位置,同样,此方法精度高,但仍需佩戴装置。
[0006] 3、机器视觉方法,此方法通过摄像头采集头部图像通过算法判断头姿,是目前的 主流方法,与测试对象零接触,用户体验较好,其中现有的手段主要是利用模式识别算法通 过图像估计头姿(机器视觉方法),例如传统的模板匹配算法、主流的随机森林分类器、脸部 特征点几何关系方法等,传统的CLM算法单纯利用二维图像,存在对于不同光照条件干扰的 问题。

【发明内容】

[0007] 本发明目的在于提供一种基于头部姿势识别的智能移动服务机器人控制,采用基 于二维图像和深度图像的CLM方法来估计头部姿态方式,通过局部约束模型算法CLM检测出 人脸特征点,再根据检测得到的脸部特征点的几何关系估计头部姿势,进而再对智能移动 服务机器人实施控制。
[0008] 本发明的上述目的通过独立权利要求的技术特征实现,从属权利要求以另选或有 利的方式发展独立权利要求的技术特征。
[0009] 为达成上述目的,本发明提出一种基于头部姿势识别的智能移动服务机器人控制 方法,以约束局部模型算法为基础,获取头部姿态并控制移动服务机器人,其具体实现包括 如下步骤:
[0010] S1,通过头部姿势样本库构建脸部特征点的形状模板以及特征点的局部特征模板
[0011] 该步骤的目的是对样本库中的彩色图象和深度图像进行PCA降维并对齐,然后进 行特征提取和学习得到特征点的形状模板和各个特征点的局部特征模板,并构建对应的 SVM,应用于后面的匹配步骤。
[0012] S2,通过RGBD摄像装置采集包含人脸的二维图像和深度图像并对齐
[0013]此步骤中利用Kinect采集包含人脸的彩色图像和深度图像,能够同时采集分辨率 都为640*480的彩色图像和深度图像,采集速率为每秒30帧。由于Kinect的彩色摄像头和深 度摄像头有一定的距离,因此采集到两幅的图像需要校正函数先进行对齐处理。
[0014] S3,利用Viola-Jones检测器在图像中检测出人脸位置
[0015]利用此方法在采集到的RGB彩色图像中快速定位脸部的位置,设用一个矩形框包 围检测到的脸部,为下面更进一步检测脸部的特征点做好准备。
[0016] S4,利用CLM算法在检测出的人脸上检测出特征点
[0017] 该步骤中在检测到的脸部位置再进一步的搜索脸部特征点的位置,首先进行脸部 特征点的初始估计,再对初始估计的特征点进行更佳位置的估计,迭代直到所有特征点到 最佳位置,至此完成脸部特征点的估计。
[0018] S5,通过检测出的人脸特征点的形状估计头部姿势
[0019] 该步骤中利用上一步中检测到的脸部特征点的形状来估计当前的头部姿势,估计 头部的俯仰角,翻滚角,转动角三个角度,将头姿分为:无头姿,左转头,右转头,抬头,低头 一共5种头部姿势。
[0020] S6,通过头部姿势识别结果实现对移动服务机器人的控制
[0021] 此步骤中PC机根据当前的头部姿势发出不同的控制命令给移动服务机器人,5种 头姿分别对应的运动状态为:停止,左转,右转,前进,后退。计算机通过识别得到的头部姿 势结果通过串口发送不同的命令给DSP控制器,DSP再发送控制命令给电机驱动从而控制智 能轮椅的运动。
[0022]应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这 样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保 护的主题的所有组合都被视为本公开的发明主题的一部分。
[0023] 结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实 施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面 的描述中显见,或通过根据本发明教导的【具体实施方式】的实践中得知。
【附图说明】
[0024] 附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组 成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。 现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
[0025]图1为智能移动服务机器人的结构图以及Kinect摄像头安装位置示意图。
[0026]图2为智能移动服务机器人控制系统结构图。
[0027]图3为头部姿态角示意图。
[0028]图4为基于头部姿势识别的智能移动服务机器人控制方法的流程图。
[0029]图5为标定脸部特征点的示意图。
[0030]图6为检测脸部位置不意图。
[0031 ]图7为通过特征点估计头部姿势示意图。
[0032]图8为脸部特征点检测结果和头姿结果。
【具体实施方式】
[0033]为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
[0034] 在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。 本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实 施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实 施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一 些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
[0035] 图1为智能移动服务机器人的结构图,智能移动服务机器人100具有一个主体以及 设置在主体上的各个构件,这些构件包括:头枕l〇l、Kinect摄像头102、PC控制器103、操纵 杆104、电机105、电池106、前轮107、后轮108以及防后倾轮109。如图所示,Kinect摄像头102 安装在使用者头部的正前方约50cm左右处,确保能够正对头部且将整个头部包含在采集 的 画面中,距离50cm左右能够较好地采集彩色图像和深度图像。
[0036] 应当理解,图1中,前述头枕101、PC控制器103、操纵杆104、电机105、电池106、前轮 107、后轮108以及防后倾轮109,均为智能移动服务机器人上的常用设置,其具体构造、功能 和/或效果在此不再赘述。这些构件图1所示的安装位置和/或其组合仅仅是示例性的,在一 些需要或者必要的例子中,这些构件的构造方式、组合和/或其安装位置可以是任意方式 的。
[0037] 图2示例性地表示了智能移动服务机器人控制系统结构图,此控制系统包括图像 采集模块、图像处理模块、智能移动服务机器人控制模块、智能移动服务机器人。其中,图像 采集模块即Kinect摄像头,图像处理模块使用PC控制器,智能移动服务机器人控制模块使 用DSP,通过PC控制器对图像处理后识别得到的头部姿势信息来对智能移动服务机器人进 行行动控制。
[0038] 图3所示为头部姿态角示意图,分为俯仰角,转动角和滚动角。
[0039] 图4为根据本发明某些实施例的基于头部姿势识别的智能移动服务机器人控制方 法的流程图,具体步骤如下:
[0040] S1,构建脸部特征点的形状模板以及不同特征点的局部特征模板;
[0041 ] S2,采集头部的二维图像和深度图像并对齐;
[0042] S3,在采集到的图像中检测出脸部位置;
[0043] S4,利用CLM算法在人脸上检测出特征点;
[0044] S5,通过检测出的人脸特征点的几何关系估计头部姿势;
[0045] S6,通过头部姿势识别结果实现对移动服务机器人的控制。
[0046] 下面结合附图所示,更加具体地描述前述基于头部姿势识别的智能移动服务机器 人控制方法的示例性实现。
[0047] 步骤S1中,构建脸部特征点的形状模板和不同特征点的局部特征模板具体步骤如 下:
[0048] S11,搜集η个头姿训练样本,要求每个样本都包含比较清晰的脸部图像,每个样本 包括灰度和深度两幅图像,且分辨率都为640*480,要求灰度和深度图像已经对齐。
[0049] S12,标定每幅样本上的特征点,如图5所示,每幅样本上标定m个特征点,每个特征 点对应固定的序号,将m个特征点的坐标串联成一个向量作为此样本的形状向量,得到一个 形状向量:
[0050] Si - {Xil, yil, Xi2 , yi2 , . . .Xim,yim}
[0051] 式中的(x&y^)代表第i个样本的第j个特征点。
[0052] 标定n个人脸样本,共得到n个形状向量。特征点的标定尽量选取具有代表性的点, 例如图中的眼角,嘴角,鼻尖,下巴中的至少一种。
[0053] S13,利用Procrustes分析方法对构建的η个形状向量进行归一化和对齐处理,消 除位移,缩放,旋转的影响;
[0054] S14,通过PCA方法提取形状向量的主成分;
[0055] S15,对每个特征点,利用对应的图像块训练该特征点的局部分类器。
[0056] 在一些例子中,前述步骤S13中,利用Procrustes分析方法对构建的η个形状向量 进行归一化和对齐处理的实现,包括以下步骤:
[0057] S131,首先消除位移影响,将该人脸中的每个特征点位置减去该人脸中所有特征 点的平均位置从而使样本集对齐到原点:
[0060] 5132,设所有样本的形状都对齐到原点后得到样本集5=(51,52,5 3..二)。
[0061] S133,选择Si作为参考形状,对其他所有形状选择合适的欧式相似变换,以Si为目 标进行对齐,对齐之后得到一组新的形状:
[0062] ,S2,,S3, · · .Sn,)
[0063] S134,计算新形状集的平均形状:
[0065] S135,将新平均形状f与3:对齐得到炉:
[0066] S136,对(S2',S3',. . .,Sn')选择合适的变换,与妒对齐。
[0067] S137,再次计算新的平均形状,如果新的平均形状与上一次的平均形状的变化大 小小于某一给定的阈值,则可认为迭代结束,否则转到S134。
[0068] 如此,通过对齐人脸形状向量,将不同的形状向量统一到同一坐标系下,从而在位 置、大小、旋转上具有可比性,从而可以进行下一步的分析。
[0069] 在一些例子中,前述步骤S14,通过PCA方法提取形状向量的主成分,具体步骤如 下:
[0070] S141,计算经过Procrustes分析后的形状向量集S的均值:
[0072] S142,计算形状向量集的协方差矩阵:
[0074] S143,将协方差矩阵进行特征值分解,得到特征向量?1和其对应的特征值,并将形 状向量与均值形状向量的差值向量dSi表示为主成分的线性组合:
[0075] dSi =Ε?-5·
[0076] dSi = Ailp1+Ai2p2+. · .+Ai2mp2m
[0077] S144,令P=(P1,P2, ... ...,Ai2m)T,可以得到:
[0078] dSi = PAi
[0079] Sr=S:+PAi
[0080] S145,选择特征值向量中前t个特征值对应的特征向量Ps作为主轴,得到:
[0081 ] ,S, = 5+ PJ\
[0082] 其中bs是权值向量,改变其中的各个分量就可以得到新的形状,限定分量在一定 区间变化可以保证新形状接近样本形状。一般情况下b s的取值为:
[0083] -3^ <6, <3^ζ
[0084] 这样,任意样本集中的形状都可以由平均形状和t个特征向量的线性加权近似表 不。
[0085] 在一些例子中,前述步骤S15,训练单个特征点的局部分类器,具体的构建步骤如 下:
[0086] S151,提取每个特征点周围p*p大小区域,将此区域内的灰度值按顺序写成列向量 的形式作为此特征点的局部特征,对于深度图像,将此区域内的深度值写成列向量的形式 作为局部特征。
[0087] S152,一共有η个样本,每个样本有m个特征点,则对于每个特征点,存在2n个局部 特征,包含η个灰度局部特征和η个深度局部特征,分别将这η个局部特征作为正确特征,再 分别在灰度图像和深度图像的其他位置随机选取w个局部特征作为错误特征,则每个特征 点拥有n+w个灰度局部特征和n+w个深度局部特征,其中包含错误的和正确的,首先说明灰 度特征,对于每个特征点,它的训练样本集为:
[0089]每个训练样本都为一个局部特征向量:
[0091] S153,SVM的输出为7(1) = {-1,1},1表示正确的样本,_1表示错误的样本。通过输入 数据集和支撑向量的内积表示SVM的输出:
[0093]其中Xj表不训练样本的子集,aj表不支撑向量的权值,Ns表不支撑向量的数目,b表 不偏差。
[0094] S154,SVM的输出可以表示为输入向量的线性组合:
[0095] y ⑴=wT · X⑴+Θ
[0096] 其中wT=(W1,W2, . . .,Wn+w)表示输入元素的权值,Θ表示偏差,根据输入数据集和输 出函数,可以求出7和0。
[0097] S155,重复以上步骤分别训练m个特征点的灰度局部特征集得到m个线性SVM。
[0098] S156,按照以上步骤再次训练m个特征点的深度局部特征集得到m个线性 SVM。
[00"] 步骤S2,通过Kinect摄像头采集二维图像和深度图像,并送入计算机处理,Kinect 能够同时采集彩色图像和深度图像,由于RGB摄像头和深度摄像头之间有一定的距离,采集 的两幅图片并不是完全对应,需要进行对齐处理,利用0ΡΕΝΝΙ开源库中的函数进行对齐处 理,并将RGB图像转换为灰度图像。
[0100] 步骤S3,在计算机中利用Viola-Jones检测器对采集到的图像进行处理快速得到 脸部的位置,这里假设用一个矩形框包围住检测到的脸部,如图6所示。
[0101] 步骤S4,利用CLM算法在检测出的人脸上检测出特征点,在一些例子中,该检测的 步骤如下:
[0102] S41,对脸部特征点做初始估计,将平均脸部形状放在步骤S3中检测到的人脸位 置,作为脸部特征点的初始估计。
[0103] S42,提取一个特征点当前位置周围(t+p/2)*(t+p/2)大小的图像块,对于灰度图 像提取灰度图像块,对于深度图像提取深度图像块,t表示搜索当前位置周围t*t范围内最 佳特征点位置,P表示训练的局部图像的大小。
[0104] S43,首先说明对于灰度图像块的操作,将提取的灰度图像块通过该特征点对应的 线性SVM,得到一个响应曲面R( X,y ),表示每一点的周围图像块与模板相似的概率。
[0105] S44,对R(x,y)拟合一个二次函数r(x,y)。
[0106] S45,找出二次函数r(x,y)的全局最大点,代表该点周围p*p区域与模板最为相似, 同样找出深度图像块中的最佳匹配点,将灰度图像中的最佳匹配点与深度图像中的最佳匹 配点的中点作为此特征点的下一个最佳位置。
[0107] S46,找出所有特征点的下一个最佳位置,完成一次迭代。
[0108] S47,重复S42-S46迭代过程,直到特征点两次之间的移动距离小于一个阈值或者 达到一定的迭代次数,至此认为所有特征点找到了最佳的位置。
[0109] S5,通过检测完成的特征点估计头部姿势。如图3所示,头部姿势分为滚动角,转动 角,俯仰角。以下分别介绍三种角度的估计方法:
[0110] S51,如图7(a)所示,头部呈现一定滚动角,设两眼中心点坐标分别为(X1,yi),( X2, y2),则头部滚动角可以由眼部连线与水平线的夹角估计:
[0112] S52,如图7(b)所示,头部呈现一定转动角,设两眼的外眼角坐标分别为(X1,yi), (X2,y2),鼻尖坐标为(X3,y3),则鼻尖与两外眼角的夹角差为:
[0114]同时计算出鼻尖与两内眼角的夹角差此和鼻尖与两嘴角的夹角差β3,取三个角度 的平均值作为头部的转动角β的估计:
[0116] S53,如图7(c)所示,头部呈现一定的俯仰角,俯仰角度的计算仅仅依靠特征点坐 标很难估计,需要使用深度数据,设无头姿时眼睛和嘴巴处于同一竖平面,即他们离摄像头 的距离相同,做出仰头动作时,眼睛与摄像头距离为cU,嘴巴与摄像头距离为d2,设头部平均 半径为r,两眼连线中点坐标为( X1,yi),嘴唇中心点坐标为(X2,y2),则俯仰角的估计公式 为:
[0118] 其中检测得到的脸部特征点和头部姿势结果如图8所示。
[0119] 步骤S6,通过估计的头部姿势角度控制移动服务机器人的运动,具体步骤如下:
[0120] S61,若仰头角度大于设定阈值xy,则发出前进命令,
[0121] 若低头角度大于设定阈值xd,则发出后退命令。
[0122] S62,若头部向左转动角度大于设定阈值βι,则发出原地左转命令,
[0123] 若头部向右转动角度大于设定阈值&,则发出原地右转命令。
[0124] S63,若所有角度均小于对应的阈值,则视为无头姿状态,发出停止命令。
[0125] 结合以上实施例中所描述的控制方法,结合图1、图2所示,在光照度适中的室内, 使用者在智能轮椅上保持正坐姿势,Kinect摄像头放置在头部前方40-50厘米处,开启智能 轮椅的头姿控制功能,使用者抬头到一定的角度,轮椅向前运动,使用者低头到一定角度, 轮椅向后运动,使用者头部向左转动一定角度,轮椅向左转,使用者头部向右转到一定角 度,轮椅向右转,使用者保持无头姿,即正视前方,此时轮椅停止运动。
[0126] 虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技 术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因 此,本发明的保护范围当视权利要求书所界定者为准。
【主权项】
1. 一种基于头部姿势识别的智能移动服务机器人控制方法,其特征在于,该方法以约 束局部模型算法为基础,获取头部姿态并控制移动服务机器人,其具体实现包括如下步骤: 步骤1、通过头部姿势样本库构建脸部特征点的形状模板以及特征点的局部特征模板; 步骤2、通过RGK)摄像装置采集包含人脸的二维图像和深度图像并对齐; 步骤3、在图像中检测出人脸位置; 步骤4、利用CLM算法在人脸上检测出特征点; 步骤5、通过检测出的人脸特征点的形状估计头部姿势; 步骤6、通过头部姿势识别结果实现对移动服务机器人的控制。2. 根据权利要求1所述的基于头部姿势识别的智能移动服务机器人控制方法,其特征 在于,前述步骤1中,分别构建脸部特征点的形状模板和各个特征点的局部特征模板,具体 包含如下步骤: (1) 构建特征点形状的样本集,进行Procrustes分析消除位移,旋转,缩放的影响,进行 PCA降维处理; (2) 对每个特征点,利用对应的图像块训练该特征点的局部分类器。3. 根据权利要求1所述的基于头部姿势识别的智能移动服务机器人控制方法,其特征 在于,前述步骤3中,利用Viola-Jones检测器在图像中快速检测出人脸位置。4. 根据权利要求1所述的基于头部姿势识别的智能移动服务机器人控制方法,其特征 在于,前述步骤4中,通过估计特征点初始位置并利用CLM算法迭代特征点到最佳位置来检 测脸部上所有特征点的位置。5. 根据权利要求1所述的基于头部姿势识别的智能移动服务机器人控制方法,其特征 在于,前述步骤5中,通过两眼连线与水平线夹角估计滚动角,通过鼻尖与两眼之间的夹角 差来估计转动角,通过嘴唇与眼睛分别与摄像头之间的距离来估计俯仰角。6. 根据权利要求1所述的基于头部姿势识别的智能移动服务机器人控制方法,其特征 在于,前述步骤6中,通过头部的俯仰角来控制前进与后退,通过头部的转动角来控制左转 和右转,并通过串口发送控制命令给下位机控制器。
【专利摘要】本发明提供一种基于头部姿势识别的智能移动服务机器人控制方法,该方法利用约束局部模型算法检测脸部特征点,再利用脸部特征点的几何关系估计当前头部姿态,从而使患者能够用头部来控制智能移动服务机器人的运动。其具体实现包括如下步骤:训练头部姿态样本得到脸部特征点形状模板和特征点的局部模板;利用Ki?nect采集头部图像并找到脸部位置;通过约束局部模型算法检测脸部特征点;利用检测到的特征点估计当前头部姿态;再根据不同的头部姿态参数给移动服务机器人发出不同的控制命令。利用本发明的方法,使得残障人士也可以利用头部稳定地控制智能移动服务机器人,方便了他们的出行。
【IPC分类】G06F3/01, G06K9/62
【公开号】CN105487665
【申请号】CN201510872912
【发明人】徐国政, 吕呈, 朱博, 高翔, 陈盛, 王强
【申请人】南京邮电大学
【公开日】2016年4月13日
【申请日】2015年12月2日

最新回复(0)