CN103677226B - 表情识别输入方法 - Google Patents
表情识别输入方法 Download PDFInfo
- Publication number
- CN103677226B CN103677226B CN201210323547.6A CN201210323547A CN103677226B CN 103677226 B CN103677226 B CN 103677226B CN 201210323547 A CN201210323547 A CN 201210323547A CN 103677226 B CN103677226 B CN 103677226B
- Authority
- CN
- China
- Prior art keywords
- value
- image
- eyebrows
- projection
- eyes
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract 12
- 210000004709 eyebrow Anatomy 0.000 claims abstract 32
- 210000003128 head Anatomy 0.000 claims abstract 15
- 239000013598 vector Substances 0.000 claims abstract 12
- 238000006073 displacement reaction Methods 0.000 claims abstract 6
- 210000000056 organ Anatomy 0.000 claims abstract 3
- 238000001514 detection method Methods 0.000 claims 8
- 230000008921 facial expression Effects 0.000 claims 7
- 210000001061 forehead Anatomy 0.000 claims 4
- 230000001186 cumulative effect Effects 0.000 claims 2
- 238000000605 extraction Methods 0.000 claims 2
- 230000001815 facial effect Effects 0.000 claims 1
- 210000004556 brain Anatomy 0.000 abstract 1
Landscapes
- Image Analysis (AREA)
Abstract
一种表情识别输入方法,包括:获取连续两帧图像,计算所述两帧图像的差分灰度图像;定位当前帧中眉毛、眼睛、嘴巴的位置;跟踪眉毛、眼睛、嘴巴的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;将上述目标对象的位移矢量与预设表情库中的表情图像匹配;输入匹配表情图像对应的按键值。该方法利用人类头部的形状或位移输入指定的按键值,避免了手的参与。且由于大脑与头部器官距离近,所以对表情的控制速度快,输入快。
Description
技术领域
本发明涉及一种表情识别输入方法。
背景技术
为了生活的便利,人们设计了除键盘、鼠标之外的多种输入法,如触摸板输入法、触摸屏输入法、基于脑电波识别的输入法等等。但是,这些输入法从输入速度考虑,前面几个输入方式通常需要手操作,手在干其他活时或残障人士使用不太方便,对输入速度要求较高的游戏玩家输入速度不能满足要求,最后一个需要对大脑进行训练才能实现输入,且输入速度特别慢。
有鉴于此,特提出本发明。
发明内容
本发明要解决的技术问题在于克服现有技术的不足,提供一种避免双手参与且输入速度快的表情识别输入方法,
为解决上述技术问题,本发明采用技术方案的基本构思是:
一种表情识别输入方法,包括以下步骤:
获取连续两帧图像,计算所述两帧图像的差分灰度图像;
定位当前帧中眉毛、眼睛、嘴巴的位置;
跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;
将上述目标对象的位移矢量与预设表情库中的表情图像匹配;
输入匹配表情图像对应的按键值。
进一步地,所述定位当前帧中眉毛、眼睛、嘴巴的位置的步骤具体包括:
去除差分灰度图像中的干扰噪声;
对去除干扰噪声后的图像根据寻找轮廓线算法寻找轮廓线上的点,获得图像的轮廓线,所述轮廓线包括头部、五官以及颈部的轮廓线;
对确定了轮廓线的差分灰度图像进行垂直投影,根据垂直投影算法获取垂直投影曲线,根据水平方向头部定位算法计算水平方向头部的位置;
计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距,获得差分灰度图像轮廓外侧水平间距曲线;
对上述差分灰度图像轮廓外侧水平间距利用包络检波算法获得检波结果,并根据检波结果获得包络检波后的差分灰度图像轮廓外侧水平间距曲线;
从左侧读取包络检波后的差分灰度图像轮廓外侧水平间距值,并寻找第二个间距小于颈部定位门限值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,寻找最小值,该值对应的向量即为上一帧图像在当前帧中的移动向量。
进一步地,所述去除差分灰度图像中的干扰噪声的步骤具体为:
读取差分灰度图像中像素的灰度值;
判断每个像素的灰度值是否大于噪声门限VN°;
如果大于VN,则保留该像素;
如果小于或等于噪声门限VN°,则删除该像素。
所述寻找轮廓线算法的步骤具体为:
读取差分灰度图像中非0像素点;
计算该像素点与周围8个像素点中的非0像素点灰度值的绝对值;
选取结果中绝对差值最小的点作为轮廓线上的下一点。
进一步地,所述垂直投影算法具体为:
读取所述差分灰度图像各像素的灰度值;
将多个灰度值按列累加,多个累加值形成一个数组,即为垂直投影数组,利用该数组绘制垂直投影曲线。
所述水平投影算法具体为:
读取所述差分灰度图像各像素的灰度值;
将各像素的灰度值按行累加,多个累加值形成一个数组,即为水平投影数组,利用该数组绘制水平投影曲线。
进一步地,
所述水平方向头部定位算法具体为:
从左边依次读取垂直投影值;
判断垂直投影值是否大于门限值VT;
左边第一个垂直投影值大于门限值VT的投影点的坐标为头部水平位置的左边界;
从右边依次读取垂直投影值;
判断垂直投影值是否大于门限值VT;
右边第一个大于门限值VT的投影点的坐标为头部水平位置的右边界。
进一步地,所述计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距的步骤具体为:
从所述差分灰度图像中按行从左边读取第一个非零灰度值对应的横坐标;
从所述差分灰度图像中按行从右边读取第一个非零灰度值对应的横坐标;
计算两个横坐标的差并存储下来,此值为每行图像轮廓外侧水平间距。
所述包络检波算法具体为:
定义轮廓外侧上一个像素水平间距记录值变量并赋零;
顺序读取轮廓外侧各像素水平间距值;
判断当前读取值与上一值的大小;
如果当前读取值大于上一值,则将当前读取值赋给上一记录值,将上一记录值作为检波结果输出;
如果当前读取值小于或等于上一值,则将上一记录值减1,将上一记录值作为检波结果输出。
进一步地,所述眉毛与眼睛部分水平位置定位算法的步骤具体为:
读取眉毛与眼睛部分图像的垂直投影值,并计算出投影最左边与最右边非零值点的距离即为垂直投影非零值外侧宽度;
连续读取眉毛与眼睛部分图像垂直投影,并计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度区域对应的起始点位置;
计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW1,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW2;
判断|RW1-0.2|是否小于误差值e,如果小于e,则
判断|Rw2-0.2|是否小于误差值e,如果小于e,则
在左眼水平位置右侧连续读取眉毛与眼睛部分图像垂直投影,并计算垂直投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度区域对应的起始点位置;
计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW3,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW4;
判断|RW3-0.2|是否小于误差值e,如果小于e,则
判断|RW4-0.6|是否小于误差值e,如果小于e,则结束。
进一步地,所述眼睛与眉毛的区分算法的步骤具体为:
读取眉毛与眼睛部分的水平投影值;
判断水平投影值是否大于门限值VTeb;
当大于门限值VTeb时,计算该投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值;
计算该投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值与1的差的绝对值;
将上述差的绝对值鱼误差值e比较;
小于误差值e时确定此点为眉、眼垂直分界点。
所述嘴部提取算法具体为:
读取嘴巴部分图像垂直投影值并从中删除最左边非零部分;
从最右边删除嘴巴部分垂直投影值非零部分,剩余部分为嘴巴部分图像的的垂直投影,从而确定嘴巴部分的水平位置。
采用上述技术方案后,本发明与现有技术相比具有以下有益效果:
该方法利用人类头部的形状或位移可以输入指定的值,表情识别结果直接转换为键盘输入信号,这种输入法避免了手的参与,尤其利于残障人士使用。另外,由于人体大脑与头部器官距离近,所以人对表情的控制速度与对手的控制相比非常快,最终可以提高人体对电脑的控制速度,这种控制的实时性对游戏发烧友非常适用,如在魔兽游戏中通过愤怒的表情输入“射击”的动作等。
下面结合附图对本发明的具体实施方式作进一步详细的描述。
附图说明
图1是本发明表情识别输入方法的一种流程图;
图2是相邻两帧图像相减后的图像;
图3是表情重复判别算法的流程图;
图4是定位当前帧中眉毛、眼睛、嘴巴的位置的步骤的流程图;
图4a是图2去除干扰噪声后的图像;
图5是头部的轮廓线图像;
图6是图5的垂直投影曲线;
图7是图6去除干扰噪声后的图像;
图8是垂直投影定位后的头像;
图9是头像轮廓外侧水平间距曲线;
图10是包络检波后的差分灰度图像轮廓外侧水平间距曲线;
图11是眉毛与眼睛部分的垂直投影曲线;
图12是眉毛与眼睛部分水平定位结果图;
图13是眉毛与眼睛部分的提取结果图;
图14是眉毛与眼睛部分的水平投影曲线图;
图15是嘴巴部分的垂直投影曲线图;
图16是嘴巴部分图像提取结果图;
图17是将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴的步骤的流程图;
图18是按人类头部器官比例分割头部的头部图像;
图19是跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量的流程图;
图20是去除差分灰度图像中的干扰噪声的流程图;
图21是寻找轮廓线算法的流程图;
图22是垂直投影算法的流程图;
图23是水平投影算法的流程图;
图24是水平方向头部定位算法的流程图;
图25是计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距的流程图;
图26是包络检波算法的流程图;
图27是眉毛与眼睛部分水平位置定位算法的流程图;
图28是眼睛与眉毛的区分算法的流程图;
图29是嘴部提取算法的流程图。
具体实施方式
以下具体实施方式中的图6、图7、图9、图10、图11、图14和图15中的二维坐标图中,横轴均表示物体位置,单位为像素,纵轴表示像素灰度值之和。
如图1所示,本发明是一种表情识别输入方法,包括以下步骤:
确保拍摄环境没有运动物体,即背景是静止的,在摄像头前做出表情,执行步骤S11、采集获取连续两帧图像,计算所述两帧图像的差分灰度图像。如图2;拍摄时要求人脸尽量正对摄像头,并保持合适的距离(以头部能大致充满摄像头输出的视频图像为准)。采用摄像头或其他射频采集设备采集图像。
S12、定位当前帧中眉毛、眼睛、嘴巴的位置;
S13、跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;
S14、将上述目标对象的位移矢量与预设表情库中的表情图像匹配;
S15、输入匹配表情图像对应的按键值。
对于步骤S14和S15,根据自己的习惯设计各种不同的表情,并与按键做绑定。比如把撅嘴设计为向上按键,缩嘴设置为向下按键,左偏头设置为向左按键,右偏头设置为向右按键。具体动作与按键映射可以参考按键动作参考表。该标准记录了眉毛、眼睛、嘴巴的形状以及与无按键表情的相对位移。可以利用眉毛、眼睛、嘴巴的位移表示按键,也可以用眉毛、眼睛、嘴巴的形状表示按键。将上述设置好的表情按键值存入表情库。
然后将自己想好的按键输入表情识别键盘,则完成表情与键盘按键的绑定。同样的方法可以设置多个按键。
在表情设置的过程中,系统自动对差别小的表情作出判别,如果差别太小则认为表情重复,不允许设置。具体判别方法见表情重复判别算法描述。
参照图3,所述表情重复判别算法包括以下步骤:
S2101:首先读取一个自定义的表情类型,即利用五官或头部移动定义的表情,然后进入2102;
S2102:读取一个表情库中的表情;
S2103:计算新表情与表情库中的表情的距离,然后进入2104;
S2104:判断新表情与表情库中的表情的距离是否小于门限值DT,如果小于则进入2105,否则进入2106;
S2105:确认自定义表情重复,结束程序;
S2106:判断表情库是否搜索完毕,如果没有完毕则进入2101继续搜索,如果完毕则程序结束,搜索完毕,则进入S2107,结束。
本算法主要用于防止将类似的表情定义为不同的按键值造成混乱。
步骤S13是一个识别过程。完成按键设置后,结合跟踪过程可以进行表情识别,举例说明如下:
在跟踪眉毛、眼睛、嘴巴的同时,计算眉毛、眼睛、嘴巴的位移,当位移达到预置位移的时候,可以认为头部发生了向左或向右偏移,然后向电脑USB接口送出绑定的按键值。
在跟踪眉毛、眼睛、嘴巴的同时,把眉毛、眼睛、嘴巴形状与定义的按键表情做搜索匹配。当发现与按键定义表情匹配时,向电脑USB接口送出绑定的按键值。
该方法利用人类头部的形状或位移可以输入指定的值,表情识别结果直接转换为键盘输入信号,这种输入法避免了手的参与,尤其利于残障人士使用。另外,由于人体大脑与头部器官距离近,所以人对表情的控制速度与对手的控制相比非常快,最终可以提高人体对电脑的控制速度,这种控制的实时性对游戏发烧友非常适用,如在魔兽游戏中通过愤怒的表情输入“射击”的动作等。
参照图4,优选的,所述步骤S12、定位当前帧中眉毛、眼睛、嘴巴的位置的步骤具体包括:
S121、去除差分灰度图像中的干扰噪声;图4a是两帧图像的差分灰度图像去除干扰噪声后的图像,由于摄像头等视频采集电路的影响,会在输出图像中产生噪声干扰点,这些噪点不利于图像处理,需要去除。
S122、对去除干扰噪声后的图像根据寻找轮廓线算法寻找轮廓线上的点,获得图像的轮廓线,如图5,所述轮廓线包括头部、五官以及颈部的轮廓线;通过本算法可以保留图像中重要的轮廓线上的信息点,去除不重要的非轮廓线上的点。
S123、对确定了轮廓线的差分灰度图像进行垂直投影,根据垂直投影算法获取垂直投影曲线,如图6,根据水平方向头部定位算法计算水平方向头部的位置;
垂直投影表示头部轮廓线在垂直方向上像素的集中程度,投影值越大说明该投影方向上对应的线条越多,可以用于定位物体的水平位置。线条密集区大致处于头部,所以通过设置垂直投影门限VT可以计算出水平方向头部的位置,可参照图7。根据水平方向头部定位算法获得的头部图像如图8所示。
在上述图8的基础上执行步骤S124、计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距,获得差分灰度图像轮廓外侧水平间距曲线,如图9;
S125、对上述差分灰度图像轮廓外侧水平间距利用包络检波算法获得检波结果,并根据检波结果获得包络检波后的差分灰度图像轮廓外侧水平间距曲线,如图10;
S126、从左侧读取包络检波后的差分灰度图像轮廓外侧水平间距值,并寻找第二个间距小于颈部定位门限值VTN的坐标点,该点为头部与颈部的水平边界点,将颈部从所述差分灰度图像中分离;
S127、将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴;
S128、对眉毛与眼睛部分做垂直投影,根据垂直投影算法获得眉毛与眼睛部分的垂直投影曲线,如图11,根据每个眼睛宽度约占人脸宽度1/5,可以利用图11定位出眼睛的水平位置,如图12所示,根据眉毛与眼睛部分水平位置定位算法计算出眉毛与眼睛部分的水平位置,图像如图13;
在图13的基础上执行步骤S129、对确定了眉毛与眼睛水平位置的差分灰度图像进行水平投影,根据水平投影算法获得眉毛与眼睛部分的水平投影曲线,如图14,利用眼睛与眉毛的区分算法计算眼睛和眉毛的垂直分界点,从而确定眉毛和眼睛的各自的垂直位置;
S130、对嘴巴部分进行垂直投影,投影结果绘制的曲线如图15所示,从该图可以看出脸部轮廓与嘴部的投影明显分为3部分。根据垂直投影算法获得嘴巴部分的垂直投影曲线,利用嘴部提取算法计算嘴巴部分的水平位置,从而得到嘴巴部分的图像,如图16。
参照图17,优选的,所述步骤S125、将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴的步骤具体为:
S1251、按照人类头部额头、眉毛到鼻子底部、鼻子底部到下巴纵向比例为1:1:1的关系,计算额头的高度,从差分灰度图像中去除额头部分;
S1252、将去除额头部分的差分灰度图像从纵向按1/4、1/4、3/8、1/8分割开,最上边1/4为眉毛与眼睛部分,中间1/4为鼻子部分,中间3/8部分为嘴巴部分,下边1/8为下巴。
按人类头部器官比例分割头部的图像如图18所示。
当帧率足够高时,两帧之间的运动物体的形状与位置差别不大,所述步骤S13、跟踪眉毛、眼睛、嘴巴的的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量的步骤具体为,参照图19:
S131、依次选取一个搜索向量i,该向量是以上一帧图像中的目标对象的图像几何中心为原点,在7乘7像素的范围内以该范围内的任意像素点为终点构成的;
S132、读取上一帧图像与当前帧中的搜索向量对应的图像中的对应像素点,计算两个像素点的灰度差值,并取绝对值;
S133、将绝对值累加到Si;
S134、判断向量遍历是否完成,如果没有完成则进入步骤S131;
S135、当向量遍历完成时,比较所有向量对应的累加值Si,寻找最小值,该值对应的向量即为上一帧图像在当前帧中的移动向量。
以跟踪嘴的运动为例,撅嘴过程,有可能伴随着嘴的位置与形状同时变化。当帧率足够高,可以认为两帧之间嘴的形状变化微小,可以忽略。从而利用当前帧中定位的嘴的图像搜索其在下一帧中的位置。因为两帧之间时间很短,嘴的位移很小,所以可以以当前嘴的位置为中心,设置搜索向量,依次按照各个向量搜索,利用匹配算法,寻找嘴部位移矢量,从而实现下一帧中嘴部的定位。具体搜索匹配算法见搜索匹配算法描述。
参照图20,优选的,所述步骤S121、去除差分灰度图像中的干扰噪声的步骤具体为:
S1211、读取差分灰度图像中像素的灰度值;
S1212、判断每个像素的灰度值是否大于噪声门限VN。,进入S1213和S1214;
S1213、如果大于VN,则保留该像素;
S1214、当灰度值等于0时,删除该像素。
本算法主要用于搜索内容相似的图像。
参照图21,优选的,所述步骤S122中的寻找轮廓线算法的步骤具体为:
S1221、读取差分灰度图像中非0像素点;
S1222、计算该像素点与周围8个像素点中的非0像素点灰度值的绝对值;
S1223、选取结果中绝对差值最小的点作为轮廓线上的下一点。
本算法主要用于搜索头部以及五官的轮廓线。
参照图22,优选的,所述步骤S123、S126中的垂直投影算法具体为:
S1501、按列读取所述差分灰度图像各像素的灰度值;
S1502、将多个灰度值按列累加,每列可得到一个累加值,多个累加值形成一个数组,即为垂直投影数组,利用该数组绘制垂直投影曲线。
本算法主要用于定位头部及五官的水平位置。
参照图23,优选的,所述步骤S127中的水平投影算法具体为:
S1601、按行读取所述差分灰度图像各像素的灰度值;
S1602、将各像素的灰度值按行累加,每行可得到一个累加值,多个累加值形成一个数组,即为水平投影数组,利用该数组绘制水平投影曲线。
本算法主要用于定位头部及五官的垂直位置。
参照图24,优选的,所述步骤S123中的水平方向头部定位算法具体为:
S1801、从左边依次读取垂直投影值;
S1802、判断垂直投影值是否大于门限值VT;
S1803、左边第一个垂直投影值大于门限值VT的投影点的坐标为头部水平位置的左边界;
S1804、从右边依次读取垂直投影值;
S1805、判断垂直投影值是否大于门限值VT;
S1806、右边第一个大于门限值VT的投影点的坐标为头部水平位置的右边界。本算法主要用于定位头部水平位置。
参照图25,优选的,所述步骤S124中计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距的步骤具体为:
S2401、从所述差分灰度图像中按行从左边读取第一个非零灰度值对应的横坐标;
S2402、从所述差分灰度图像中按行从右边读取第一个非零灰度值对应的横坐标;
S2403、计算两个横坐标的差并存储下来,此值为每行图像轮廓外侧水平间距。
参照图26,优选的,所述步骤S124中的包络检波算法具体为:
S2501、定义轮廓外侧上一个像素水平间距记录值变量并赋零;
S2502、顺序读取轮廓外侧各像素水平间距值;
S2503、判断当前读取值与上一值的大小;
S2504、如果当前读取值大于上一值,则将当前读取值赋给上一记录值,将上一记录值作为检波结果输出;
S2505、如果当前读取值小于或等于上一值,则将上一记录值减1,将上一记录值作为检波结果输出。
根据每个眼睛宽度约占人脸宽度1/5,参照图27,优选的,所述步骤S126中的眉毛与眼睛部分水平位置定位算法的步骤具体为:
S2801、读取眉毛与眼睛部分图像的垂直投影值,并计算出投影最左边与最右边非零值点的距离即为垂直投影非零值外侧宽度;
S2802、连续读取眉毛与眼睛部分图像垂直投影,并计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度区域对应的起始点位置;
S2803、计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW1,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW2;
S2804、判断|RW1-0.2|是否小于误差值e,如果小于e,说明该投影部分为眉毛与眼睛部分,进入S2805,否则进入S2802;
S2805、判断|RW2-0.2|是否小于误差值e,如果小于e,说明该投影部分为左眼水平位置,进入S2806,否则进入S2802;
S2806、在左眼水平位置右侧连续读取眉毛与眼睛部分图像垂直投影,并计算垂直投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度区域对应的起始点位置;
S2807、计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW3,以及该宽度区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW4;
S2808、判断|RW3-0.2|是否小于误差值e,如果小于e,说明该投影部分为眉毛与眼睛部分,进入S2809,否则进入S2806;
S2809、判断|RW4-0.6|是否小于误差值e,如果小于e,说明该投影部分为右眼水平位置,进入S2810,结束,否则进入S,2806。
参照图28,优选的,所述步骤S127中的眼睛与眉毛的区分算法的步骤具体为:
S1901、读取眉毛与眼睛部分的水平投影值;
S1902、判断水平投影值是否大于门限值VTeb;
S1903、当大于门限值VTeb时,计算该投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值;否则进入S1901;
S1904、计算该投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值与1的差的绝对值;
S1905、将上述差的绝对值与误差值e比较;
S1906、小于误差值e时,确定此点为眉、眼垂直分界点,否则进入S1901。
本算法主要用于定位眼部与眉毛的垂直位置。
参照图29,优选的,所述步骤S128中的嘴部提取算法具体为:
S2701、读取嘴巴部分图像垂直投影值并从中删除最左边非零部分;
S2702、从最右边删除嘴巴部分垂直投影值非零部分,剩余部分为嘴巴部分图像的的垂直投影,从而确定嘴巴部分的水平位置。
所述表情可以为目标对象的形状或位移。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种表情识别输入方法,其特征在于:包括以下步骤:
获取连续两帧图像,计算所述两帧图像的差分灰度图像;
定位当前帧中眉毛、眼睛、嘴巴的位置;
跟踪眉毛、眼睛、嘴巴的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量;
将上述目标对象的位移矢量与预设表情库中的表情图像匹配;
输入匹配表情图像对应的按键值;
所述定位当前帧中眉毛、眼睛、嘴巴的位置的步骤具体包括:
去除差分灰度图像中的干扰噪声;
对去除干扰噪声后的图像根据寻找轮廓线算法寻找轮廓线上的点,获得图像的轮廓线,所述轮廓线包括头部、五官以及颈部的轮廓线;
对确定了轮廓线的差分灰度图像进行垂直投影,根据垂直投影算法获取垂直投影曲线,根据水平方向头部定位算法计算水平方向头部的位置;
计算确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距,获得差分灰度图像轮廓外侧水平间距曲线;
对上述差分灰度图像轮廓外侧水平间距利用包络检波算法获得检波结果,
并根据检波结果获得包络检波后的差分灰度图像轮廓外侧水平间距曲线;
从左侧读取包络检波后的差分灰度图像轮廓外侧水平间距值,并寻找第二个间距小于颈部定位门限值VTN的坐标点,该坐标点为头部与颈部的水平边界点,将颈部从所述差分灰度图像中分离;
将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴;
对眉毛与眼睛部分做垂直投影,根据垂直投影算法获得眉毛与眼睛部分的垂直投影曲线,根据眉毛与眼睛部分水平位置定位算法计算出眉毛与眼睛部分的水平位置;
对确定了眉毛与眼睛水平位置的差分灰度图像进行水平投影,根据水平投影算法获得眉毛与眼睛部分的水平投影曲线,利用眼睛与眉毛的区分算法计算眼睛和眉毛的垂直分界点,从而确定眉毛和眼睛的各自的垂直位置;
对嘴巴部分进行垂直投影,根据垂直投影算法获得嘴巴部分的垂直投影曲线,利用嘴部提取算法计算嘴巴部分的水平位置。
2.根据权利要求1所述的表情识别输入方法,其特征在于:所述将去掉颈部后的头部差分灰度图像利用人类头部器官比例初步划分出眉毛与眼睛部分、鼻子部分、嘴巴部分和下巴的步骤具体为:
按照人类头部额头、眉毛到鼻子底部、鼻子底部到下巴纵向比例为1:1:1的关系,计算额头的高度,从差分灰度图像中去除额头部分;
将去除额头部分的差分灰度图像从纵向按1/4、1/4、3/8、1/8分割开,最上边1/4为眉毛与眼睛部分,中间1/4为鼻子部分,中间3/8部分为嘴巴部分,下边1/8为下巴。
3.根据权利要求1所述的表情识别输入方法,其特征在于:当帧率足够高时,所述跟踪眉毛、眼睛、嘴巴的运动并计算下一帧图像相对上一帧图像中眉毛、眼睛、嘴巴这些目标对象的位移矢量的步骤具体为:
依次选取一个搜索向量i,该搜索向量是以上一帧图像中的目标对象的图像几何中心为原点,在7乘7像素的范围内以该范围内的任意像素点为终点构成的;读取上一帧图像与当前帧中的搜索向量对应的图像中的对应像素点,计算两个像素点的灰度差值,并取绝对值;
将绝对值累加到Si;
当向量遍历完成时,比较所有向量对应的累加值Si,寻找最小值,该累加值Si中的最小值对应的向量即为上一帧图像在当前帧中的移动向量;
所述帧率足够高是指帧率满足两帧之间的运动物体的形状与位置差别不大。
4.根据权利要求1所述的表情识别输入方法,其特征在于:所述去除差分灰度图像中的干扰噪声的步骤具体为:
读取差分灰度图像中像素的灰度值;
判断每个像素的灰度值是否大于噪声门限VN o;
如果大于VN,则保留该像素;
如果小于或等于噪声门限VN o,则删除该像素;
所述寻找轮廓线算法的步骤具体为:
读取差分灰度图像中非0像素点;
计算该像素点与周围8个像素点中的非0像素点灰度值的差的绝对值;
选取结果中绝对值最小的点作为轮廓线上的下一点。
5.根据权利要求1所述的表情识别输入方法,其特征在于:
所述垂直投影算法具体为:
读取所述差分灰度图像各像素的灰度值;
将多个灰度值按列累加,多个累加值形成一个数组,即为垂直投影数组,利用该垂直投影数组绘制垂直投影曲线;
所述水平投影算法具体为:
读取所述差分灰度图像各像素的灰度值;
将各像素的灰度值按行累加,多个累加值形成一个数组,即为水平投影数组,利用该水平投影数组绘制水平投影曲线。
6.根据权利要求1所述的表情识别输入方法,其特征在于:
所述水平方向头部定位算法具体为:
从左边依次读取垂直投影值;
判断垂直投影值是否大于门限值VT;
左边第一个垂直投影值大于门限值VT的投影点的坐标为头部水平位置的左边界;
从右边依次读取垂直投影值;
判断垂直投影值是否大于门限值VT;
右边第一个大于门限值VT的投影点的坐标为头部水平位置的右边界。
7.根据权利要求1所述的表情识别输入方法,其特征在于:
所述计算上述确定了水平方向头部的位置的差分灰度图像轮廓外侧水平间距的步骤具体为:
从所述差分灰度图像中按行从左边读取第一个非零灰度值对应的横坐标;
从所述差分灰度图像中按行从右边读取第一个非零灰度值对应的横坐标;
计算两个横坐标的差并存储下来,此值为每行图像轮廓外侧水平间距;
所述包络检波算法具体为:
定义轮廓外侧上一个像素水平间距记录值变量并赋零;
顺序读取轮廓外侧各像素水平间距值;
判断当前读取值与上一值的大小;
如果当前读取值大于上一值,则将当前读取值赋给上一记录值,将上一记录值作为检波结果输出;
如果当前读取值小于或等于上一值,则将上一记录值减1,将上一记录值作为检波结果输出。
8.根据权利要求1所述的表情识别输入方法,其特征在于:所述眉毛与眼睛部分水平位置定位算法的步骤具体为:
读取眉毛与眼睛部分图像的垂直投影值,并计算出投影最左边与最右边非零值点的距离即为垂直投影非零值外侧宽度;
连续读取眉毛与眼睛部分图像垂直投影,并计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度的区域对应的起始点位置;
计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW1,以及该宽度的区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW2;
判断|RW1-0.2|是否小于误差值e,如果小于e,则
判断|RW2-0.2|是否小于误差值e,如果小于e,则
在左眼水平位置右侧连续读取眉毛与眼睛部分图像垂直投影,并计算垂直投影值连续大于眉毛与眼睛部分投影门限VTE的宽度以及该宽度的区域对应的起始点位置;
计算投影值连续大于眉毛与眼睛部分投影门限VTE的宽度与垂直投影非零值外侧宽度的比值RW3,以及该宽度的区域对应的起始点位置与垂直投影非零值外侧宽度的比值RW4;
判断|RW3-0.2|是否小于误差值e,如果小于e,则
判断|RW4-0.6|是否小于误差值e,如果小于e,则结束。
9.根据权利要求1所述的表情识别输入方法,其特征在于:所述眼睛与眉毛的区分算法的步骤具体为:
读取眉毛与眼睛部分的水平投影值;
判断水平投影值是否大于门限值VTeb;
当大于门限值VTeb时,计算该水平投影值的投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值;
计算该水平投影值的投影点与眉毛与眼睛部分的垂直起始位置、终止位置距离的比值与1的差的绝对值;
将上述差的绝对值与误差值e比较;
小于误差值e时确定此点为眉、眼垂直分界点;
所述嘴部提取算法具体为:
读取嘴巴部分图像垂直投影值并从中删除最左边非零部分;
从最右边删除嘴巴部分垂直投影值非零部分,剩余部分为嘴巴部分图像的垂直投影,从而确定嘴巴部分的水平位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210323547.6A CN103677226B (zh) | 2012-09-04 | 2012-09-04 | 表情识别输入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210323547.6A CN103677226B (zh) | 2012-09-04 | 2012-09-04 | 表情识别输入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677226A CN103677226A (zh) | 2014-03-26 |
CN103677226B true CN103677226B (zh) | 2016-08-03 |
Family
ID=50315049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210323547.6A Expired - Fee Related CN103677226B (zh) | 2012-09-04 | 2012-09-04 | 表情识别输入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677226B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514364B2 (en) * | 2014-05-29 | 2016-12-06 | Qualcomm Incorporated | Efficient forest sensing based eye tracking |
CN105630169A (zh) * | 2015-12-25 | 2016-06-01 | 北京像素软件科技股份有限公司 | 一种体感输入方法及装置 |
CN106599811B (zh) * | 2016-11-29 | 2019-11-05 | 苏州虚现数字科技有限公司 | 一种vr头显的面部表情追踪方法 |
CN107832708A (zh) * | 2017-11-09 | 2018-03-23 | 云丁网络技术(北京)有限公司 | 一种人体动作识别方法及装置 |
CN109558851A (zh) * | 2018-12-04 | 2019-04-02 | 广东智媒云图科技股份有限公司 | 一种基于面部表情的联合作画方法及系统 |
US11694374B2 (en) * | 2020-04-13 | 2023-07-04 | Delta Electronics, Inc. | Method for gating in tomographic imaging system |
CN112257512B (zh) * | 2020-09-25 | 2023-04-28 | 福建天泉教育科技有限公司 | 间接型眼部状态检测方法及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896918A (zh) * | 2005-07-15 | 2007-01-17 | 英华达(上海)电子有限公司 | 手持设备上使用面部表情控制输入的方法 |
CN101393599A (zh) * | 2007-09-19 | 2009-03-25 | 中国科学院自动化研究所 | 一种基于人脸表情的游戏角色控制方法 |
CN102193620A (zh) * | 2010-03-02 | 2011-09-21 | 三星电子(中国)研发中心 | 一种基于表情识别的输入方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094891B2 (en) * | 2007-11-01 | 2012-01-10 | Sony Ericsson Mobile Communications Ab | Generating music playlist based on facial expression |
TWI430185B (zh) * | 2010-06-17 | 2014-03-11 | Inst Information Industry | 臉部表情辨識系統及其辨識方法及其電腦程式產品 |
JP2012169777A (ja) * | 2011-02-10 | 2012-09-06 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
-
2012
- 2012-09-04 CN CN201210323547.6A patent/CN103677226B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896918A (zh) * | 2005-07-15 | 2007-01-17 | 英华达(上海)电子有限公司 | 手持设备上使用面部表情控制输入的方法 |
CN101393599A (zh) * | 2007-09-19 | 2009-03-25 | 中国科学院自动化研究所 | 一种基于人脸表情的游戏角色控制方法 |
CN102193620A (zh) * | 2010-03-02 | 2011-09-21 | 三星电子(中国)研发中心 | 一种基于表情识别的输入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103677226A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677226B (zh) | 表情识别输入方法 | |
CN106250867B (zh) | 一种基于深度数据的人体骨骼跟踪系统的实现方法 | |
KR101738569B1 (ko) | 제스쳐 인식 방법 및 시스템 | |
CN104364733B (zh) | 注视位置检测装置、注视位置检测方法和注视位置检测程序 | |
US10186057B2 (en) | Data input device, data input method, and non-transitory computer readable recording medium storing data input program | |
Li et al. | Identifying emotions from non-contact gaits information based on microsoft kinects | |
US20200090392A1 (en) | Method of Facial Expression Generation with Data Fusion | |
WO2020042542A1 (zh) | 眼动控制校准数据获取方法和装置 | |
CN102670168A (zh) | 眼科设备及其控制方法 | |
Tulyakov et al. | Robust real-time extreme head pose estimation | |
Boutellaa et al. | On the use of Kinect depth data for identity, gender and ethnicity classification from facial images | |
JP2001101429A (ja) | 顔面の観測方法および顔観測装置ならびに顔観測処理用の記録媒体 | |
JP6066093B2 (ja) | 手指形状推定装置、手指形状推定方法、及び手指形状推定プログラム | |
Szwoch | FEEDB: a multimodal database of facial expressions and emotions | |
CN110796101A (zh) | 一种嵌入式平台的人脸识别方法及系统 | |
CN105893942B (zh) | 一种基于eSC和HOG的自适应HMM的手语识别方法 | |
CN109325408A (zh) | 一种手势判断方法及存储介质 | |
JP5964603B2 (ja) | データ入力装置、及び表示装置 | |
Urbanová | Performance of distance-based matching algorithms in 3D facial identification | |
CN109543644A (zh) | 一种多模态手势的识别方法 | |
KR101222678B1 (ko) | 약 영상 검색 방법 및 장치 | |
Li et al. | Posture recognition technology based on kinect | |
CN107329564B (zh) | 基于手势智能感知和人机协同机制的人机猜拳方法 | |
WO2016021152A1 (ja) | 姿勢推定方法および姿勢推定装置 | |
KR101447958B1 (ko) | 신체 부분 검출 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20170904 |
|
CF01 | Termination of patent right due to non-payment of annual fee |