张慧子,陆心竹,刘佳丽,赵小敏,韩刚庆,王晗
(南通大学交通与土木工程学院,南通226019)
航空娱乐系统出现于十九世纪六十年代,在航空运输业竞争异常激烈的今天,为给旅客提供更舒适、更全面的服务,航空娱乐系统正日益受到航空公司和旅客的重视。现有的设备交互方式主要有遥控器近距离控制、远程无线控制、移动端控制、语音控制等[1]。如果能不需要复杂的操作,利用新型的人机交互技术[2],提前在系统中设计好手势动作,在不触碰到屏幕的情况下,利用系统的摄像头捕捉手势画面,直接对多媒体系统进行控制[3],将能使旅客的旅程体验达到最佳。为了减少旅客疲劳的同时增强操作兴趣,本文设计开发了一种基于手势、五官状态识别的航空多媒体人机交互控制系统,能够实现完全脱离键盘或手柄的控制。
系统由基于手势识别的多媒体控制模块、基于手型识别的游戏操作模块和基于五官状态识别的游戏模块这三部分组成。通过隐形马尔科夫链HMM描述自然手势轨迹控制多媒体菜单选择;利用Haar-like特征结合AdaBoost[4]级联分类器实现人脸检测与五官状态识别控制化妆游戏;采用皮肤检测与区域分割识别手型控制游戏人物的运动。相对传统的控制手柄或者键盘操作,本文设计开发的人机交互控制系统更具有趣味性,能够明显提高用户的操作兴趣。
手势轨迹识别流程包括四个步骤:摄像头画面读取、手指检测、手势特征提取、手势识别。首先,利用颜色检测确定手指的位置。其次,对连续图像间的手势轨迹提取特征向量,并进行量化。然后,当手势结束的信号触发后,获取完整的手势特征序列并且与已知的手势模型匹配。最后,从匹配获取的手势结果转化为控制指令,完整的手势轨迹识别过程如图1所示。
图1 手势识别系统流程图
图2 触发信号设计与实例
为了准确获取手势的完整轨迹,触发信号设计如下:当触发区域方框内连续捕获到超过20个在颜色阈值内的像素点时,方框隐藏。同时,手指中心的点显示在图像上,接下来开始记录手势轨迹。复位信号设计如下:利用了手指轨迹移动的速度来设计,如果两帧图像间检测的手指中心距离小于限定值时,停止记录并复位,重新显示绿色方框。触发信号的设计过程如图2所示。
本系统利用特殊颜色的指套(蓝色)对手指区域进行检测,并利用颜色检测的二值图像重心作为手指定位的结果如图2(a)所示。利用连续图像之间手指定位结果之间的运动矢量的方向角度变化作为手势特征。然而,在运行时由于手指抖动可能产生的较大误差,导致手势轨迹中总会出现无效点。为了增强特征的有效性,本文t帧图像轨迹点与第一个轨迹点进行角度变化的计算:
式中,yt代表t帧手指中心的y坐标,y1代表第一帧手指中心的y坐标,xt代表t帧手指中心的x坐标,x1代表1帧手指中心的x坐标。
为了使用离散型HMM对手势进行数学建模,将角度值量化,其过程如下:将轨迹点运动角度的二维空间平面划分为8个维度,从而对角度信号进行分类,将连续的轨迹点转变为简易的数字信息,具体量化关系如表1。
表1 角度量化映射关系
本文采用隐形马尔可夫链HMM[5]对量化后的手势轨迹进行数学建模:在收集了不同人的手势样本后,利用Baum-Welch算法训练获取各个手势对应的HMM模型的最佳参数λi*=(πi,Ai,Bi)。其中,πi代表了训练后获取的第i个HMM模型初始概率;Ai代表了训练后获取的第i个HMM模型的状态转移矩阵;Bi代表了训练后获取的第i个HMM模型的观测状态矩阵。在获取了训练完毕的各个手势的HMM模型之后,利用最大似然函数发对测试样本特征进行识别。即,最大后验概率对应的第i个HMM模型所对应的手势确定为识别的结果。具体手势与控制信号对应关系见表2。
表2 手势控制信号
本文提出的手部姿态识别主要分为四个阶段:①摄像头画面读取②手部检测③手型特征提取④手型识别。首先,对摄像头捕捉到的视频图像进行皮肤检测,确定质心坐标,测量手部边缘到质心的距离。其次,以质心坐标为圆心在极坐标系下画同心圆,取倒数第二远的圆环为连通区域,计算手指数目。最后,识别手部姿态并控制游戏人物的动作。总流程图如图3所示。
图3 手型识别系统流程图
本系统采用了基于YCbCr色彩空间进行肤色分割获取手部区域,当Y、Cb、Cr分别满足肤色范围,判定该区域为肤色区域。然后,计算手部区域的所有像素点坐标的平均值获取手部质心坐标。为了准确识别手型,通过计算出每一个手势图像的质心与手势轮廓的最大距离。以最大距离做圆并且五等分为等距的环型区域,利用次外层圆环统计手指的数目进而识别出手型的含义,计数时去掉手腕对应的最大连通区域,其完整流程如图4所示。
图4 手型识别系统流程图
图5 给出了通过手型控制“马里奥游戏”的实例效果。用户根据手型的不同控制马里奥的动作,当不同手型出现时检测手部区域的窗体变成不同的颜色。
图5 手型控制“马里奥”游戏实例
本文提出的五官状态识别主要分为四个阶段:①摄像头画面读取②五官检测③五官特征提取④五官状态识别。首先,通过Haar-like算法来提取五官特征。然后,使用AdaBoost级联分类器检测人脸和眼睛位置。进而基于瞳孔比例识别左右眼睛的状态。最后,通过其状态触发对应化妆效果。总流程如图6所示。
图6 五官状态识别流程图
本文利用人眼瞳孔的像素点占眼睛的比例对眼睛状态(睁开、闭合)进行建模:首先,经过RGB三个通道的阈值分割出瞳孔像素点;然后,统计出瞳孔的像素点占眼睛的比例大小;最后,当待测瞳孔的比例小于给定阈值时判断为闭合状态,否则为睁眼。
式中,k代表瞳孔像素点占眼睛部分的比例,Nt代表瞳孔像素点个数,Ne代表单只眼睛的像素点个数。
为了识别出嘴巴的状态(张嘴、闭嘴),本文利用梯度方向直方图特征(HoG)对张嘴、闭嘴的状态进行建模,然后利用KNN算法对样本进行聚类,判断嘴巴的状态。
图7 给出了基于手势和五官状态识别的娱乐控制系统实时演示的实例。其中,图7左上、右上为利用手势识别控制多媒体的选择。图7左下、右下分别为五官控制化妆游戏和手型控制马里奥游戏。
为了证明本文设计系统的有效性,共10名同学收集图像数据。其中,手势、手型及五官状态各3000张图像;70%作为训练数据,30%作为测试数据。表3~表5分别给出了手势识别、手型识别及五官状态识别的性能指标。可以清楚地看出,系统识别准确率在97%以上,运行时间在0.019秒/帧,可以满足用户实时控制的需求。
图7 系统演示实例
表3 手势识别性能
表4 手型识别性能
表5 五官状态识别性能
本文设计开发了一种航空娱乐多媒体人机交互控制系统,通过自然手势、手型及五官状态识别实现多媒体控制、化妆游戏以及游戏人物运动控制等功能。相对于传统的手柄、鼠标或者键盘操作,手势、五官控制更具有趣味性。经实验表明本系统相关的识别准确率和处理时间均表现出较高的性能,对于面向长途旅途中娱乐控制系统的发展具有一定的启示作用。