一种唇语输入方法和系统
技术领域
本发明属于信息输入技术领域,具体涉及一种唇语输入方法和系统。
背景技术
信息输入是用户与个人电脑、移动设备等电子终端进行交互所不可缺少的一部分。随着移动设备的普及,越来越多的人开始在移动设备上输入文字。目前一般的输入法,因为移动设备屏幕较小,使用不便。而更加自然的语音输入法,由于需要发出声音,在公共场合使用则容易暴露隐私和打扰他人。
具体来说,以移动设备为例,当前的信息输入方式主要有键盘输入,手写输入和语音输入等。这些输入法都存在各自的局限性。例如键盘输入需要用户在键盘上(或触摸屏)上进行点击,输入速度较慢。手写输入法要求用户在屏幕上进行文字拼写,在笔画较复杂的情况下输入较慢,且用户必须一手拿设备另一手进行拼写,使用不方便。而且这两种输入方式,盲人都无法使用。相比前两种,语音输入的方式较为方便,用户通过对麦克风说话,设备自动把录入的声音转换成文字。但是,语音输入也存在若干问题,例如容易受到环境噪音的影响,容易暴露隐私,容易打扰他人等。
由此可见,现有的信息输入方法具有使用不方便的技术问题,因此,有必要提出一种新的输入方法。
发明内容
为了解决现有输入方法的上述技术问题,本发明提供一种唇语输入方法和系统,其可以通过捕捉用户的嘴唇动作来判断用户的想要表达的与嘴唇动作相对应的语言信息(例如:说话内容或唇语内容),从而实现信息的输入。
为实现上述目的,本发明采用的技术方案如下:
一种唇语输入方法,包括如下步骤:
步骤S100:通过视频采集模块捕捉用户做出与待输入内容的发音相对应的口型时的嘴唇动作的视频;
步骤S200:对所述视频中的用户的嘴唇动作进行分析,识别出与用户的口型对应的语言信息;
步骤S300:将所述语言信息输入待输入装置。
示例性地,步骤S200包括:
步骤S201:确定所述视频中的每帧图像中嘴唇的位置,并提取嘴唇上的关键点;
步骤S202:跟踪每帧图像之间所述关键点的位置变化,得到每帧图像中所述关键点的特征向量;
步骤S203:基于所述特征向量,通过事先确定的语言模型识别出与用户的口型对应的语言信息。
示例性地,所述步骤S201基于级联回归的方法,利用事先训练好的线性模型实现。
示例性地,所述步骤S203基于回馈式深度人工神经网络的方法实现,所述语言模型为训练好的神经元网络。
示例性地,所述神经元网络的结构包括:输入层,接受特征向量序列;卷积层,对输入向量进行平滑和提取特征;反馈层,通过联系之前和之后的输入特征,对当前输入特征进行提取;全连接层,对特征进行进一步抽象;输出层,输出最终的判断结果。
示例性地,所述步骤S200包括:
对所述视频中的用户的嘴唇动作进行分析以识别出与用户的口型对应的初步语言信息;
自动对所述初步语言信息的合理性进行判断并对不合理的内容进行修正以得到与用户的口型对应的语言信息。
示例性地,在所述步骤S300中,在将所述语言信息输入待输入装置之前、同时或之后,显示所述语言信息对应的文字内容。
一种唇语输入系统,包括视频采集模块、唇语识别模块和输入模块;其中,所述视频采集模块用于采集捕捉用户做出与待输入内容的发音相对应的口型时的嘴唇动作的视频;所述唇语识别模块用于对所述视频中的用户的嘴唇动作进行分析,识别出与用户的口型对应的语言信息;所述输入模块用于将所述语言信息输入到待输入装置。
示例性地,所述唇语识别模块执行如下操作:
确定所述视频中的每帧图像中嘴唇的位置,并提取嘴唇上的关键点;
跟踪每帧图像之间所述关键点的位置变化,得到每帧图像中所述关键点的特征向量;
基于所述特征向量,通过事先确定的语言模型识别出与用户的口型对应的语言信息。
示例性地,还包括唇语识别自动修正模块,用于对唇语识别模块识别出的语言信息的合理性进行判断以及对不合理的内容进行修正。
示例性地,还包括唇语识别人工修正模块,用于对唇语识别模块识别出的语言信息对应的文字进行显示以及人工修正。
与现有技术相比,本发明的有益效果如下:
本发明通过捕捉嘴唇的动作来判断用户想要表达的语言信息,可以发出或不发出声音,只需对待输入装置(例如移动设备等)的视频采集模块(例如摄像头)做出说话时嘴唇的运动就可以输入相应的语言信息,具有输入方便的特点。并且,在公共场合使用时,可以通过不发出声音的方式进行输入,从而避免暴露隐私以及打扰他人等问题,并且相对于语音输入法而言不易受外界噪声干扰。
附图说明
图1是本发明的唇语输入方法的步骤流程图。
图2是本发明的唇语输入系统的模块组成图。
图3是包含唇语识别修正模块的唇语输入系统的模块组成图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明中的一个实施例提出了一种基于唇语的新型输入方法。如图1所示,该方法包括如下步骤:
步骤S100:通过视频采集模块捕捉用户做出与待输入内容的发音相对应的口型时的嘴唇动作的视频;
步骤S200:对所述视频中的用户的嘴唇动作进行分析,识别出与用户的口型对应的语言信息;
步骤S300:将所述语言信息输入待输入装置。
在一个示例中,步骤S200包括如下步骤:
步骤S201:确定所述视频中的每帧图像中嘴唇的位置,并提取嘴唇上的关键点;
步骤S202:跟踪每帧图像之间所述关键点的位置变化,得到每帧图像中所述关键点的特征向量;
步骤S203:基于所述特征向量,通过事先确定的语言模型识别出与用户的口型对应的语言信息。
示例性地,步骤S201基于级联回归的方法,利用事先训练好的线性模型实现。
示例性地,步骤S203基于回馈式深度人工神经网络的方法实现,所述语言模型为训练好的神经元网络。
其中,所述神经元网络的结构可以包括:输入层,接受特征向量序列;卷积层,对输入向量进行平滑和提取特征;反馈层,通过联系之前和之后的输入特征,对当前输入特征进行提取;全连接层,对特征进行进一步抽象;输出层,输出最终的判断结果。
在一个具体示例中,步骤S200包括:
对所述视频中的用户的嘴唇动作进行分析以识别出与用户的口型对应的初步语言信息;
自动对所述初步语言信息的合理性进行判断并对不合理的内容进行修正以得到与用户的口型对应的语言信息。
在一个具体示例中,在步骤S300中,在将所述语言信息输入待输入装置之前、同时或之后,在显示装置上显示语言信息对应的文字内容。该显示装置可以为待输入装置的一部分,也可以为与待输入装置可通讯地相连的其他独立装置。在显示装置上显示语言信息对应的文字内容主要有如下用途:a.用于显示信息供用户或其他人参考;b.用于供用户对唇语识别模块识别出的语言信息对应的文字内容的准确性进行判断,在不准确时通过人工操作进行修改。
具体地,在一个实际应用中,本实施例的方法可以包括如下步骤:
1.面对摄像头,说出要输入的内容,或者做出要输入内容的口型(即与要输入内容的发音相对应的口型),但是不必发出声音。
2.摄像头捕捉到用户嘴唇的动作,并把它送入后台程序进行分析。
3.程序分析用户嘴唇的动作,并根据该动作,判断用户说话内容。
4.程序把这些内容发送到合适位置如输入框中。
与上述方法实施例相对应,本发明的另一个实施例提供一种唇语输入系统,该系统如图2所示,包括视频采集模块,唇语识别模块和输入模块。其中,视频采集模块用于采集捕捉用户做出与待输入内容的发音相对应的口型时的嘴唇动作的视频;唇语识别模块用于对所述视频中的用户的嘴唇动作进行分析,识别出与用户的口型对应的语言信息;输入模块用于将所述语言信息输入到待输入装置。这些模块可以由软件实现,可以由硬件实现,可以由固件实现,也可以由它们的任意可行的组合来实现。
在视频采集模块,通过基于可见光的彩色或灰度摄像机,例如网络摄像头、手机的前置摄像头等,采集得到嘴唇动作的视频。
在唇语识别模块,主要执行如下操作:
步骤A1,进行唇部进行定位,找出每帧视频中嘴唇的位置,并且提取出嘴唇上的关键点。随后通过跟踪每帧之间唇部关键点位置的变化,得到每帧图像中所述关键点的特征向量(即动作信息和各种关键特征)。
步骤A2,根据特征向量来识别用户想要表达的与嘴唇动作相对应的语言信息(即,可能进行的发音)。其中,可以通过事先确定的语言模型进行识别。
具体地,步骤A1可以通过如下方式实现:
在视频采集模块,定位一个图片中的嘴唇位置和关键点可以通过人脸识别的相似技术,包括但不限于以下描述的基于级联回归的方法:
1.从互联网上收集大量图片,人工标记出嘴唇关键点。
2.计算每个嘴唇的关键点与平均关键点的距离。其中平均关键点是指嘴唇的每个关键点取平均,这样得到了各个关键点的相对位置。
3.在每个关键点上提取128维SIFT特征(Scale-invariant feature transform,尺度不变特征),得到特征向量。
4.根据步骤3中得到的特征向量和步骤2中得到的关键点距离,采用最小二乘法得到一个线性模型。然后在唇语输入时,利用该线性模型对采集的视频图像中用户的嘴唇位置和关键点进行定位。
步骤A2可以通过如下方式实现:
在唇语识别模块,根据嘴唇动作,推测用户可能进行的发音,并根据用户发音来推断用户说话的内容。唇语识别模块可以是在线的,也可以是离线的。在线模式中,唇语识别模块部署在远程服务器上。输入设备把嘴唇的动作信息发送到服务器,由服务器上的唇语识别模块进行分析,并把结果发送回输入设备。在离线模式中,唇语识别模块部署在输入设备本身,直接对视频采集模块生成的关键特征进行识别。在唇语识别模块,从嘴唇动作学习用户希望输入的文字,可以通过类似语音识别的技术,唯一不同是输入信息由音频特征转化为视频特征。这些技术包括但不限于以下描述的基于回馈式深度人工神经网络的方法:
1.在互联网上收集大量人物说话的视频,人工标记出说话内容。
2.利用视频采集模块,得到视频中每帧的嘴唇关键点的特征向量。
3.把这些特征向量合并成特征向量序列,作为要训练的神经元网络的输入,人工标记的说话内容作为对应的训练目标。然后利用训练好的神经元网络,在唇语输入时,根据用户的嘴唇动作判断用户希望输入的文字。
4.神经元网络可以但不限于以下结构:
a.输入层接受特征向量序列。
b.卷积层对输入向量进行平滑和提取特征。
c.反馈层通过联系之前和之后的输入特征,对当前输入特征进行提取。该反馈层可以但不限于通过Long Short Term Memory(LSTM)来实现。
d.全连接层对特征进行进一步抽象。
e.输出层输出最终的判断结果。输出层可以但不限于使用ConnectionistTemporal Classification(CTC)来实现。
本发明还可以包括唇语识别修正模块,如图3所示,用于对唇语识别模块输出的内容的合理性进行判断,并对不合理的输出内容根据语音习惯等内容进行修正。其中,唇语识别修改模块可以为唇语识别自动修正模块,也可以为唇语识别人工修正模块。
其中,唇语识别自动修正模块,用于自动对唇语识别模块识别出的语言信息的合理性进行判断以及对不合理的内容进行修正。示例性地,唇语识别自动修正模块可以利用语言模型来提高精度,即对最后的输出利用语言模型来判断输入内容的合理性,并进行修改。这些语言模型包括但不限于N-gram模型。
其中,唇语识别人工修正模块,则可以用于对唇语识别模块识别出的语言信息所对应的文字进行显示,并人工判断显示的文字是否为希望输入的文字,如果不是,则可以人工通过手动的方式对相关内容进行修正。这个过程可以采用类似于传统的编辑短信的方式进行。
输入模块把唇语识别的结果(即语言信息)输入到待输入装置,例如手机、平板电脑等。具体地,将语言信息输入到待输入装置的位置可以为合适的位置,例如短信、记事本、微博、微信、以及其他各种app。输入模块可以利用待输入装置例如安装不同操作系统的计算机、手机和平板设备等提供的输入API完成对待输入的语言信息的输入。输入模块还可以提供类似其他输入方法的候选项列表,可以让用户选择,并替换默认输入内容。在一个示例中,输入模块的输入结果在屏幕上显示,当出现输入错误时,可以人为进行手动纠正。
下面提供一个“唇语输入”的具体实例,该实例中用户想要输入的是“你好”,具体包括如下步骤:
1.首先,用户对着摄像头做出“你好”的口型;
2.摄像头捕捉到用户嘴唇的变化,大体类似:首先下嘴唇向下运动,嘴角向上运动(发音ni),之后,嘴唇呈O型(发音hao);
3.通过分析嘴唇上的关键点(例如嘴角,上唇线,下唇线,以及其他大量分布在嘴唇上的点)的变化,得到视频中每帧的嘴唇的关键点的特征向量。
4.把这些特征向量合并成特征向量序列,输入事先确定的语言模型(例如事先训练好的神经元网络),通过语言模型分析出用户最有可能的想要的发音是nihao;从而判断识别出用户想要输入的语言信息为“你好”;
5.将识别的结果即“你好”输入到待输入设备的相应位置(例如短信的输入框)中。
本发明的唇语输入方法和系统,可以通过捕捉嘴唇的动作来判断用户想要表达的语言信息,因而只需对待输入装置(例如移动设备等)的视频采集模块做出说话时嘴唇的运动就可以输入相应的语言信息,具有输入方便的特点。
并且,本输入方法和系统在公共场合使用时,可以通过不发出声音的方式进行输入,从而避免暴露隐私以及打扰他人等问题。此外,相对于语音输入法,本方法和系统不易受外界噪声干扰。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。