表情识别输入方法技术

技术编号:9837414 阅读:177 留言:0更新日期:2014-04-02 01:39
一种表情识别输入方法,包括:获取连续两帧图像,计算所述两帧图像的差分灰度图像;定位当前帧中眉毛、眼睛、嘴巴的位置;跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;将上述目标对象的位移矢量与预设表情库中的表情图像匹配;输入匹配表情图像对应的按键值。该方法利用人类头部的形状或位移输入指定的按键值,避免了手的参与。且由于大脑与头部器官距离近,所以对表情的控制速度快,输入快。

【技术实现步骤摘要】
【专利摘要】一种,包括:获取连续两帧图像,计算所述两帧图像的差分灰度图像;定位当前帧中眉毛、眼睛、嘴巴的位置;跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;将上述目标对象的位移矢量与预设表情库中的表情图像匹配;输入匹配表情图像对应的按键值。该方法利用人类头部的形状或位移输入指定的按键值,避免了手的参与。且由于大脑与头部器官距离近,所以对表情的控制速度快,输入快。【专利说明】
本专利技术涉及一种。
技术介绍
为了生活的便利,人们设计了除键盘、鼠标之外的多种输入法,如触摸板输入法、触摸屏输入法、基于脑电波识别的输入法等等。但是,这些输入法从输入速度考虑,前面几个输入方式通常需要手操作,手在干其他活时或残障人士使用不太方便,对输入速度要求较高的游戏玩家输入速度不能满足要求,最后一个需要对大脑进行训练才能实现输入,且输入速度特别慢。有鉴于此,特提出本专利技术。
技术实现思路
本专利技术要解决的技术问题在于克服现有技术的不足,提供一种避免双手参与且输入速度快的,为解决上述技术问题,本专利技术采用技术方案的基本构思是:一种,包括以下步骤:获取连续两帧图像,计算所述两帧图像的差分灰度图像;定位当前帧中眉毛、眼睛、嘴巴的位置;跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;将上述目标对象的位移矢量与预设表情库中的表情图像匹配;输入匹配表情图像对应的按键值。进一步地,所述定位当前帧中眉毛、眼睛、嘴巴的位置的步骤具体包括:去除差分灰度图像中的干扰噪声;对去除干扰噪声后的图像根据寻找轮廓线算法寻找轮廓线上的点,获得图像的轮廓线,所述轮廓线包括头部、五官以及颈部的轮廓线;对确定了轮廓线的差分灰度图像进行垂直投影,根据垂直投影算法获取垂直投影曲线,根据水平方向头部定位算法计算水平方向头部的位置;计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距,获得差分灰度图像轮廓外侧水平间距曲线;对上述差分灰度图像轮廓外侧水平间距利用包络检波算法获得检波结果,并根据检波结果获得包络检波后的差分灰度图像轮廓外侧水平间距曲线;从左侧读取包络检波后的差分灰度图像轮廓外侧水平间距值,并寻找第二个间距小于颈部定位门限值Vtn的坐标点,该点为头部与颈部的水平边界点,将颈部从所述差分灰度图像中分离;将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴;对眉毛与眼睛部分做垂直投影,根据垂直投影算法获得眉毛与眼睛部分的垂直投影曲线,根据眉毛与眼睛部分水平位置定位算法计算出眉毛与眼睛部分的水平位置;对确定了眉毛与眼睛水平位置的差分灰度图像进行水平投影,根据水平投影算法获得眉毛与眼睛部分的水平投影曲线,利用眼睛与眉毛的区分算法计算眼睛和眉毛的垂直分界点,从而确定眉毛和眼睛的各自的垂直位置;对嘴巴部分进行垂直投影,根据垂直投影算法获得嘴巴部分的垂直投影曲线,利用嘴部提取算法计算嘴巴部分的水平位置。进一步地,所述将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴的步骤具体为:按照人类头部额头、眉毛到鼻子底部、鼻子底部到下巴纵向比例为1:1:1的关系,计算额头的高度,从差分灰度图像中去除额头部分;将去除额头部分的差分灰度图像从纵向按1/4、1/4、3/8、1/8分割开,最上边1/4为眉毛与眼睛部分,中间1/4为鼻子部分,中间3/8部分为嘴巴部分,下边1/8为下巴。进一步地,当帧率足够高时,所述跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量的步骤具体为:依次选取一个搜索向量i,该向量是以上一帧图像中的目标对象的图像几何中心为原点,在7乘7像素的范围内以该范围内的任意像素点为终点构成的;读取上一帧图像与当前帧中的搜索向量对应的图像中的对应像素点,计算两个像素点的灰度差值,并取绝对值;将绝对值累加到Si ;当向量遍历完成时,比较所有向量对应的累加值Si,寻找最小值,该值对应的向量即为上一帧图像在当前帧中的移动向量。进一步地,所述去除差分灰度图像中的干扰噪声的步骤具体为:读取差分灰度图像中像素的灰度值;判断每个像素的灰度值是否大于噪声门限Vr ;如果大于\,则保留该像素;如果小于或等于噪声门限VN。,则删除该像素。所述寻找轮廓线算法的步骤具体为:读取差分灰度图像中非O像素点;计算该像素点与周围8个像素点中的非O像素点灰度值的绝对值;选取结果中绝对差值最小的点作为轮廓线上的下一点。进一步地,所述垂直投影算法具体为:读取所述差分灰度图像各像素的灰度值;将多个灰度值按列累加,多个累加值形成一个数组,即为垂直投影数组,利用该数组绘制垂直投影曲线。所述水平投影算法具体为:读取所述差分灰度图像各像素的灰度值;将各像素的灰度值按行累加,多个累加值形成一个数组,即为水平投影数组,利用该数组绘制水平投影曲线。进一步地,所述水平方向头部定位算法具体为:从左边依次读取垂直投影值;判断垂直投影值是否大于门限值Vt ;左边第一个垂直投影值大于门限值Vt的投影点的坐标为头部水平位置的左边界; 从右边依次读取垂直投影值;判断垂直投影值是否大于门限值Vt ;右边第一个大于门限值Vt的投影点的坐标为头部水平位置的右边界。进一步地,所述计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距的步骤具体为:从所述差分灰度图像中按行从左边读取第一个非零灰度值对应的横坐标;从所述差分灰度图像中按行从右边读取第一个非零灰度值对应的横坐标;计算两个横坐标的差并存储下来,此值为每行图像轮廓外侧水平间距。所述包络检波算法具体为:定义轮廓外侧上一个像素水平间距记录值变量并赋零;顺序读取轮廓外侧各像素水平间距值;判断当前读取值与上一值的大小;如果当前读取值大于上一值,则将当前读取值赋给上一记录值,将上一记录值作为检波结果输出;如果当前读取值小于或等于上一值,则将上一记录值减1,将上一记录值作为检波结果输出。进一步地,所述眉毛与眼睛部分水平位置定位算法的步骤具体为:读取眉毛与眼睛部分图像的垂直投影值,并计算出投影最左边与最右边非零值点的距离即为垂直投影非零值外侧宽度;连续读取眉毛与眼睛部分图像垂直投影,并计算投影值连续大于眉毛与眼睛部分投影门限Vte的宽度以及该宽度区域对应的起始点位置;计算投影值连续大于眉毛与眼睛部分投影门限Vte的宽度与垂直投影非零值外侧宽度的比值RW1,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值Rw2 ;判断I Rffl-0.2 I是否小于误差值e,如果小于e,则判断I Rw2-0.2 I是否小于误差值e,如果小于e,则在左眼水平位置右侧连续读取眉毛与眼睛部分图像垂直投影,并计算垂直投影值连续大于眉毛与眼睛部分投影门限Vte的宽度以及该宽度区域对应的起始点位置;计算投影值连续大于眉毛与眼睛部分投影门限Vte的宽度与垂直投影非零值外侧宽度的比值RW3,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值Rw4 ;判断I Rff3-0.2 I是否小于误差值e,如果小于e,则判断I Rw4_0.6 I是否小于误差值本文档来自技高网...

【技术保护点】
一种表情识别输入方法,其特征在于:包括以下步骤:获取连续两帧图像,计算所述两帧图像的差分灰度图像;定位当前帧中眉毛、眼睛、嘴巴的位置;跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;将上述目标对象的位移矢量与预设表情库中的表情图像匹配;输入匹配表情图像对应的按键值。

【技术特征摘要】

【专利技术属性】
技术研发人员:李争平李晋红张常年王辉柏韦欢
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1