一种手写输入的优化方法及装置与流程

文档序号:12468104阅读:319来源:国知局
一种手写输入的优化方法及装置与流程

本发明涉及手写输入的技术领域,特别是指一种手写输入的优化方法及装置。



背景技术:

随着电脑以及触摸屏的普及,人们除了在纸张上书写文字,表达想法或完成工作外,亦可以在电脑上编写。而且通过在电脑上手写输入可将输入的信息翻译成不同的语言版本,让更多的人接收和理解。所以输入法随着电脑的普及也在不断发展,如英文输入法、拼音输入法、笔画输入法、手写输入法、语音输入法等,它们成为人们使用电脑表达想法和完成任务的不可缺少的基础工具。

输入法的使用,主要分为使用手指完成录入的输入法,以及语音识别相关的语音转文字输入法。因为即使是同一种语言,由于地域不同以及方言的复杂性,导致语音输入法至今还不能完全覆盖,局限性较大。而相反通过手指完成录入的输入法,由于其易于操作的特点占据了当今输入法的主导地位。

通过手指完成录入的输入法,主要分为键盘输入法和手写输入法两大类。对于所处周边环境允许且自行可以灵活控制手指的使用者而言,无论是键盘录入还是手写录入,均便捷可靠。但对于因所处环境不允许或因个人身体原因部分丧失手指控制能力的使用者,目前常用输入法无论从识别模式或是界面功能设计上,均无一能满足需求。

尤其对于原发性震颤患者而言,由于患者的手部会无规律的发生抖动,一方面,抖动的手部直接带动手指无法命中期望点击的按钮,所以键盘输入法完全不适用,手写输入法将成为这类人群在电脑上表达自我意愿的唯一出口。另一方面,手部的抖动使得患者自己很难通过手写写出清晰的笔迹,这样导致该类患者在使用手写输入时也会出现较大的困难。以汉字手写输入法为例,目前中高端手写输入法主要采用模式识别,再结合前后字间的语义关系进行纠正。例如:汉王手写输入法,将一个手写汉字笔迹分为9个区域,在每一个区域内识取笔迹特征值等方式。其中模式识别是整个手写笔迹识别的核心模块,它的 准确率直接关系到最终识别命中率。

另外,对于身处某特定环境,禁止语音通讯,且存在无规律性颠簸的运动状态,若需要通过电子设备向外界表达几十或上百种复杂指令的情况下,通过单指手写特定符号将成为重要的语义表达方式。而特定的周遭环境,极有可能造成不规律的笔迹偏差,导致其对外表达了错误的意愿,造成严重后果。由于模式识别的特殊性,很难适应这种无规律且噪声可能较大的干扰,所以常规手写输入法的命中率同样堪忧。

如上所述,模式识别是目前手写笔迹识别算法的核心部分。对常人在相对静止状态下的手写,这种以模式识别为主体的手写输入法可以很好的适应个体笔迹的微小变化。但对处于相对运动状态下或个体本身丧失部分手指控制力的情况,因其可能随时产生不规律的大幅震颤或迂回笔迹,以模式识别为主体的手写输入法的误码率是极其高的。



技术实现要素:

有鉴于此,本发明的目的在于提出一种手写输入的优化方法及装置,能够极大地优化由于各种原因造成的笔迹的不清晰,得到清晰可识别的输入笔迹。

基于上述目的本发明提供的手写输入的优化方法包括:

通过笔迹捕获获取手写输入的笔迹坐标数据;

采用快速特征点侦测法根据笔迹坐标数据获取笔划的特征点,并形成原始数据矩阵图形;

使用霍夫变换对所述原始数据矩阵图形进行初级线段检测,获得优化笔迹线段,将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型;

采用最小矩阵包围优化笔迹线段,形成线段包围矩,针对线型相同的优化笔迹线段,判断相邻的线段包围矩是否超出设定的合并阈值,若是,则将相邻的线段包围矩合并,形成新的线段包围矩,并根据新的线段包围矩获得新的合并线段,若否,则不处理;

根据书写原则,对优化笔迹线段进行滤波处理,将不符合书写原则的优化笔迹线段删除;

将滤波处理后的优化笔迹线段进行识别,获得输入字体的编码,然后从字体库中按照所述编码进行检索,获得符合输入字体编码的备选字体库。

优选的,所述笔迹捕获包括:

通过识别手写输入速度,逐步调整捕获频率以收集有效的笔迹坐标点数据;

通过计算正常情况下,不同方向上书写笔迹的行走长度均值,获得自我调整阈值,所述自我调整阈值为书写方向与所述行走长度均值构成的向量;所述自我调整阈值包括书写区域内的宽和高。

优选的,所述通过笔迹捕获获取手写输入的笔迹坐标数据的步骤还包括:

进行环境震动侦测,判断是否处于震动环境;

若处于震动环境,则进一步判断捕获的笔迹线段的震动值是否大于设定的震颤阈值,若是,则所述笔迹线段为噪声线段,予以删除;若否,则保留该笔迹线段;

若未处于震动环境,保留所有笔迹坐标数据。

优选的,所述进行环境震动侦测的步骤之前还包括:根据手写输入设备的性能,设定环境震动检测周期,每当达到所述检测周期时,则自动进行环境震动侦测。

优选的,所述进行环境震动侦测的步骤之前还包括:判断识别率是否低于预设的识别阈值,若是,则启动环境震动侦测;所述识别率是指手写输入识别的准确率。

优选的,所述捕获的笔迹线段的震动值的计算方法为:计算捕获的笔迹线段的起点与该起点的前一点之间的间距,所述间距即为捕获的笔迹线段的震动值。

优选的,所述震颤阈值是根据书写区域内宽和高的数值进行设定的。

优选的,所述使用霍夫变换对所述原始数据矩阵图形进行初级线段检测的步骤之前还包括:

对原始数据矩阵图形进行二值化处理,并对处理结果取反;

根据原始数据矩阵图形的特点,采用不同次数和方式的基于形态学的滤波;

查找滤波处理后的数据矩阵图形的外轮廓,并检测外轮廓数量,判断检测的外轮廓数量是否低于设定的轮廓阈值,若是,则忽略计算结果,将未处理的原始数据矩阵图形作为后续处理的初始数据,若否,则将滤波后的数据矩阵图形作为新的原始数据矩阵图形。

优选的,所述轮廓阈值是根据书写区域的宽和高进行设定的。

优选的,所述使用霍夫变换对所述原始数据矩阵图形进行初级线段检测的步骤之前还包括:

通过在所述原始数据矩阵图形中查找笔划的特征点,确定包含特征点的最小矩阵,进而去除外围无用空间,得到具有最小数据矩阵的原始数据矩阵图形。

优选的,所述确定包含特征点的最小矩阵的步骤还包括:设定一个权值距离,用于使得最小矩阵内的笔迹能够在所述权值距离内继续延伸。

优选的,所述使用霍夫变换对所述原始数据矩阵图形进行初级线段检测的步骤之前还包括:

采用边缘检测法对所述原始数据矩阵图形进行处理,得到优化后的原始数据矩阵图形。

优选的,所述使用霍夫变换对所述优化数据矩阵图形进行初级线段检测的步骤之前还包括:通过大量数据测试,根据不同笔迹特点确定不同的参数阈值,通过所述参数阈值设置霍夫变换的变换参数。

优选的,所述将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型的方法为:针对不同的线型设置不同的线型斜率区间,根据所述斜率区间,将优化笔迹线段依次划分为横线、竖线、左斜线、右斜线四种不同的线型。

优选的,所述采用最小矩阵包围优化笔迹线段的步骤之前还包括:

对优化笔迹线段对应的数据矩阵图形进行二值化处理,并对处理结果取反;

根据取反后的数据矩阵图形的特点,采用不同次数和方式的基于形态学的滤波;

查找滤波处理后的数据矩阵图形的外轮廓,并检测外轮廓数量,判断所述外轮廓数量是否低于设定的轮廓阈值,若是,则忽略计算结果,将未处理的优化笔迹线段作为后续处理的初始数据;若否,则将滤波处理后的数据图形对应的优化笔迹线段作为后续处理的初始数据。

优选的,所述判断相邻的线段包围矩是否超出设定的合并阈值的方法为:计算相邻的线段包围矩相交部分的长或宽,将所述长或宽的数值与较小线段包围矩相应的长或宽的数值进行比较,将获得的比值与合并阈值进行比较。

优选的,所述形成新的线段包围矩,并根据新的线段包围矩获得新的合并线段的步骤包括:

采用最小的包围矩包围合并的两个线型对应的线段包围矩,将该最小的包围矩作为新的线段包围矩;

根据线型特点,在新的线段包围矩中生成该新的线段包围矩所能包含的最 长的线段,该最长线段即为新的合并线段。

优选的,所述书写原则具体为:

末线段保留原则,保留距离主线段末端最近的线段,删除主线段上的其他线段;

线段书写方向矛盾原则,在一个笔划中,若存在多种线型,则删除与前一线段书写方向矛盾的线段;

三线间隔原则,若当前线段同时符合以下情形:

当前线段与下一线段相交;

当前线段与前一线段平行;

下一线段与前一线段相交;则删除当前线段。

优选的,所述将滤波处理后的优化笔迹线段进行识别的步骤之前还包括:将不同字库中的字体转换为符合四种线段组合的可识别的字库。

优选的,所述获得输入字体的编码步骤之后还包括:获得输入字体必须包含的字体编码以及输入字体绝对不能包含的字体编码。

本发明还提供了一种手写输入的优化装置,包括:

笔迹捕获模块,用于收集手写输入的笔迹坐标数据;

数据矩阵化模块,用于采用快速特征点侦测法根据所述笔迹捕获模块捕获的笔迹坐标数据获取笔划的特征点,并形成原始数据矩阵图形;

线型侦测模块,用于使用霍夫变换对所述原始数据矩阵图形进行初级线段检测,获得优化笔迹线段,将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型;

线型合并模块,用于采用最小矩阵包围优化笔迹线段,形成线段包围矩,针对线型相同的优化笔迹线段,判断相邻的线段包围矩是否超出设定的合并阈值,若是,则将相邻的线段包围矩合并,形成新的线段包围矩,并根据新的线段包围矩获得合并线段,若否,则不处理;

书写判断模块,用于根据书写原则,对优化笔迹线段进行滤波处理,将不符合书写原则的优化笔迹线段删除;

线型匹配模块,用于将所述细滤波模块处理后的线段进行识别,获得输入字体的编码规则,然后从字体库中按照该编码规则检索,获得符合该字体编码规则的备选字体库;

显示输出模块,用于实现用户的手写输入指令,以及用于显示所述线型匹 配模块获得的备选字体库,然后根据用户的指令输出目标字。

优选的,所述手写输入的优化装置还包括粗滤波模块;所述粗滤波模块用于在所述笔迹捕获模块收集手写输入的笔迹坐标数据的同时进行环境震动侦测,判定是否处于震动环境,若处于震动环境,则进一步判断所述笔迹捕获模块捕获的笔迹线段的震动值是否大于设定的震颤阈值,若是,则所述笔迹线段为噪声线段,予以删除;若否,则保留该笔迹线段并发送至所述数据矩阵化模块;若未处于震动环境,保留所有笔迹坐标数据,并发送至所述数据矩阵化模块。

从上面所述可以看出,本发明提供的手写输入的优化方法及装置能够优化各种原因造成的笔迹的不清晰,得到清晰可识别的输入笔迹线段,最终通过字体库的识别得到备选的目标字。

附图说明

图1为本发明提供的手写输入的优化方法的一个实施例的流程图;

图2为本发明提供的手写输入的优化方法的另一个实施例的流程图;

图3为本发明提供的基于震动环境的手写输入的优化方法的输入示意图;

图4为本发明提供的基于相同线型的手写输入的优化方法优化前的线段示意图;

图5为本发明提供的基于相同线型的手写输入的优化方法优化后的线段示意图;

图6为本发明提供的基于判断书写原则的手写输入的优化方法的一个实施例的书写笔迹示意图;

图7为本发明提供的基于判断书写原则的手写输入的优化方法的另一个实施例的书写笔迹示意图;

图8为本发明提供的手写输入的优化装置的一个实施例的结构框图;

图9为本发明提供的手写输入的优化装置的另一个实施例的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

参照图1所示,为本发明提供的手写输入的优化方法的一个实施例的流程图。所述手写输入的优化方法包括:

步骤101,通过笔迹捕获获取手写输入的笔迹坐标数据;所述笔迹坐标数据具体为用户输入时的一系列笔迹坐标点;

步骤102,采用快速特征点侦测法根据笔迹坐标数据获取笔划的特征点,并形成原始数据矩阵图形;所述特征点为笔划的关键点,例如起点、终点以及转折点等,所述原始数据矩阵图形为包含该特征点的数据矩阵;

步骤103,使用霍夫变换对所述原始数据矩阵图形进行初级线段检测,获得优化笔迹线段,将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型;

步骤104,采用最小矩阵包围优化笔迹线段,形成线段包围矩,针对线型相同的优化笔迹线段,判断相邻的线段包围矩是否超出设定的合并阈值,若是,则将相邻的线段包围矩合并,形成新的线段包围矩,并根据新的线段包围矩获得新的合并线段,若否,则不处理;

步骤105,根据书写原则,对优化笔迹线段进行滤波处理,将不符合书写原则的优化笔迹线段删除;

步骤106,将滤波处理后的优化笔迹线段进行识别,获得输入字体的编码,然后从字体库中按照所述编码进行检索,获得符合输入字体编码的备选字体库。

由上述实施例可知,所述手写输入的优化方法通过对输入笔迹的数据进行优化处理,可以得到清晰可识别的四种线型,再通过获得的字体编码可以检索出符合该输入字体的备选字体库,也即大大优化了手写输入笔迹的识别效果和准确度,使得用户能够快速输出想要输入表达的文字。

在一些可选的实施例中,所述笔迹捕获是通过识别手写输入速度,逐步调整捕获频率以收集有效的笔迹坐标点数据,同时通过计算正常情况下,不同方向上书写笔迹的行走长度均值,获得自我调整阈值,所述自我调整阈值为书写方向与所述行走长度均值构成的向量;所述自我调整阈值包括书写区域内的宽和高。这样,可以获得大量有效的输入笔迹数据,既保证数据采集的质量,又提高了后续优化的效率。同时,所述自我调整阈值也将作为后续优化处理中检查异常笔迹的标杆数据,进一步提高了数据采集的效果。

在一些可选的实施例中,所述步骤101还包括:进行环境震动侦测,判定是否处于震动环境,若处于震动环境,则进一步判断捕获的笔迹线段的起点与该起点之前的输入点之间的间距是否大于设定的震颤阈值,若是,则所述笔迹线段为噪声线段,予以删除;若否,则保留该笔迹线段;若未处于震动环境, 则保留所有笔迹坐标数据。通过优先判定是否处于震动环境,可以使得采集的笔迹坐标数据直接去除由于矩形震动而导致的错误笔迹线段,这样,进一步保证了后续优化计算的准确性。

进一步,所述进行环境震动侦测的步骤之前还包括:根据输入设备性能设定一个环境震动检测周期,每达到所述检测周期则自动进行环境震动侦测。这样,通过设定环境震动检测周期使得用户输入时可以定时进行环境侦测,进一步减少突然出现的震动干扰,也即提高了震动检测的效率以及为后续的优化计算排除了笔迹数据的震动干扰。

在一些可选的实施例中,所述进行环境震动侦测的步骤之前还包括:判断识别率是否低于识别阈值,若是,则启动环境震动侦测;所述识别率是指手写输入识别的准确率,即系统对用户手写从粗糙的笔迹状态进行识别转换为字体的正确率。通过对识别率的判断,进一步筛除环境震动的干扰,提高了环境震动侦测的效率。

优选的,所述识别阈值为系统默认的设定值,例如所述识别阈值为Z。当用户使用过程中,系统会按照用户输入的笔迹进行识别,形成被选字集,被选字集最大包含100个备选字。若用户连续3次输入字,每次用户在备选字集中选中的目标字排名持续性下滑,例如目标字在备选字集中的排名从第N位,跌落到第N+X位,且X/100>Z,则认为识别率在单位时间内下降幅度达到了所述识别阈值。

在一些可选的实施例中,所述震颤阈值根据获取的自我调整阈值进行设定。所述震颤阈值是环境震动侦测的关键判断依据,而通过书写捕获步骤中获得的自我调整阈值来设定所述震颤阈值可以使得对震动的判断更为精确。

优选的,所述震颤阈值是经过大量实验获得的经验值,即所述震颤阈值是根据书写区域宽与高的数值进行设定的。

在一些可选的实施例中,步骤102之后还包括步骤102’:对原始数据矩阵图形进行二值化处理,并对处理结果取反;然后根据图形特点,采用不同次数和方式的基于形态学的滤波;最后查找外轮廓并检测外轮廓数量,判断检测的外轮廓数量是否低于设定的轮廓阈值,所述轮廓阈值是根据书写区域的宽和高的数值进行设定的。若是,则忽略计算结果,将原始数据矩阵作为后续处理的原始数据;若否,则将滤波后的数据图形作为后续处理的原始数据。这样,通过对原始数据矩阵图形基于图形的噪声数据过滤,可以进一步优化笔迹数据矩 阵图形,也即使得所述手写输入的优化方法获得更为准确的优化结果。

在一些可选的实施例中,步骤103之前还包括:通过在所述原始数据矩阵图形中查找笔划的特征点,确定包含特征点的最小矩阵,进而去除外围无用空间,得到具有最小数据矩阵的原始数据矩阵图形。这样,通过去除原始数据矩阵图形中的外围无用空间,可以进一步优化所述原始数据矩阵图形,减少了后续计算的数据,也即提高了优化计算的效率。

进一步,所述确定包含特征点的最小矩阵的步骤还包括:设定一个权值距离,用于使得最小矩阵内的笔迹能够在所述权值距离内继续延伸。这样,使得获得的最小数据矩阵在后续霍夫变换时能够获得更为准确的计算结果。

在一些可选的实施例中,步骤103之前还包括:采用边缘检测法对所述原始数据矩阵图形进行处理,得到优化后的原始数据矩阵图形。

在一些可选的实施例中,步骤103之前还包括:通过大量数据测试,根据不同笔迹特点确定不同的参数阈值,通过所述参数阈值设置霍夫变换的变换参数。这样,可以使得霍夫变换获得更加准确的计算结果。

在一些可选的实施例中,所述将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型的方法为:针对不同的线型设置不同的线型斜率区间,根据所述斜率区间,将优化笔迹线段依次划分为横线、竖线、左斜线、右斜线四种不同的线型。例如:将横线的斜率区间设置为负10°到正10°,则只有检测的优化笔迹线段的斜率值处于该斜率区间是,才能将其划分为横线。这样,更加有利于笔迹线段的识别和判断,也即提高了优化方法的准确度。

在一些可选的实施例中,步骤104之前还包括步骤102’。也即在相同线型进行合并处理之前,对各个线段再次进行基于图形的噪声数据过滤。这样,可以进一步优化数据,过滤过多或过少的轮廓,以获得更好的数据图形。

在一些可选的实施例中,所述判断相邻的线段包围矩是否超出设定的合并阈值的方法为:计算相邻的线段包围矩相交部分的长或宽的数值,将所述长或宽的数值与其中较小线段包围矩相应的长或宽的数值进行比较,将获得的比值与合并阈值进行比较。也即,将相交部分的长度值和宽度值分别与相交的线段包围矩的长度值和宽度值比较,选出其中最大的比值,将该比值与合并阈值进行比较,判断是否超出设定的合并阈值。

在一些可选的实施例中,所述形成新的线段包围矩,并根据新的线段包围矩获得新的合并线段的步骤包括:采用最小的包围矩包围合并的两个线型对应 的线段包围矩,将该最小的包围矩作为新的线段包围矩;根据线型特点,在新的线段包围矩中生成该新的线段包围矩所能包含的最长的线段,该最长线段即为新的合并线段。这样,可以将相近的线段逐渐合并,使得干扰线段越来越少,也即提高了优化计算的效率和准确性。

在一些可选的实施例中,所述书写原则具体为:

末线段保留原则,保留距离主线段末端最近的线段,删除主线段上的其他线段;

线段书写方向矛盾原则,在一个笔划中,若存在多种线型,则删除与前一线段书写方向矛盾的线段;

三线间隔原则,若当前线段同时符合以下情形:

当前线段与下一线段相交;

当前线段与前一线段平行;

下一线段与前一线段相交;则删除当前线段。

这样,通过对笔迹线段的筛选排除,可以获得最接近书写字体的备选字体,用户可以在备选字体库中选出自己想要书写的字,也即最终实现了用户的准确输入。

在一些可选的实施例中,所述将滤波处理后的优化笔迹线段进行识别的步骤之前还包括:将不同字库中的字体转换为符合四种线段组合的可识别的字库。由于所述优化算法通过将输入的笔迹线段划分为四种基本的线型,进行判断,因此,需要将字体库转化为可识别四种基本的线型的字体库,保证了优化算法的可靠性。

在一些可选的实施例中,所述获得输入字体的编码步骤之后还包括:获得输入字体必须包含的字体编码以及输入字体绝对不能包含的字体编码。这样,进行识别判断时,可以判断字体库的的字体是否符合所述输入字体,即该字体是否包含输入字体必须包含的字体编码,同时是否没有包括输入字体绝对不能包含的字体编码,只有两者同时符合,才能将该字体作为输入字体的备选字体。

参照图2所示,为本发明提供的手写输入的优化方法的另一个实施例的流程图。

步骤201,收集笔迹坐标点数据,并获得自我调整阈值;

其中,笔迹捕获是整个优化算法(与方法含义相同)的初始步骤,其中容入了小型学习方法。笔迹捕获过程会在起初阶段,识取用户笔划书写速度,逐 步调整捕获频率,以避免捕获大量无用的密集点阵而影响计算性能,同时也过滤掉了可能存在的微小的波动噪声。

除此外,笔迹捕获也为后续滤波处理提供了初步筛查异常笔迹的标杆数据。即,收集了一定量的笔迹坐标点数据后,通过区间估计等常规方法计算出用户正常书写情况下,不同方向上所书写的笔迹最可能的行走长度均值。书写方向加上这个均值所构成的向量,将作为算法自我调整阈值,传递到后续滤波处理步骤中使用。

步骤202,判断是否处于震动环境,若发现手写输入处于震动环境,则执行步骤203,若发现并未处于震动环境,则跳过步骤203、204和205,保留所有数据并直接跳转到步骤206。

其中,对于环境的侦测属于环境场景识别,也即对手写输入的粗滤波。

滤波在手写场景中,不仅要考虑屏幕上的情况,更要优先考虑屏幕以外的环境场景变化,如坐、卧、站立,乃至户外,以及行驶的车辆中等本身就可能存在大量不规律抖动的场景。这些场景导致用户书写笔迹中融合了更多的噪声,原本不大的震颤峰值,在特殊的场景中,会放大数倍,震颤频率亦将随之变化,震颤方向变得异常。单一的滤波模型不可能适应这类巨变,因此必须先识别是否处于震动环境。考虑性能以及设备耐用性的条件下,本算法会周期性的进行环境震动侦测。同时,当识别率在单位时间内下降幅度达到一定识别阈值时,也会启动环境震动侦测,以便本算法能够在不同环境场景中对相关滤波和识别参数进行切换,达到宏观上的粗滤波。例如:走动或乘坐交通工具过程中手持Pad,因所处物理环境本身会随机性的产生震动,粗滤波即通过设备陀螺仪或加速度传感器侦测并记录这种环境波动,用于后续抵消计算。

步骤203,判断笔迹线段是否超出震颤阈值。当发现手写输入处于震动环境时,则判断当前线段的起始点与前一线段的最后一点的间距是否大于设定的震颤阈值,若大于震颤阈值,则表示该当前线段是由于震动引起的嫌疑线段,应当删除,即执行步骤205;若小于或等于震颤阈值则,表示线段属性未定,予以保留,通过后续步骤优化,即执行步骤204。

步骤204,保留该笔迹线段,作为后续优化处理的初始数据,若该笔迹线段并未超过震颤阈值的线段,表示该线段的属性可能是由于震动引起的也可能不是,应当保留该线段,通过后续的优化计算进一步判断其属性。

步骤205,删除不符合的笔迹线段;对于超出震颤阈值的线段,即是该线 段是由于外界或自身震动引起的错误输入笔迹,应当删除该线段。

参照图3所示,为本发明提供的基于震动环境的手写输入的优化方法的一个实施例的手写输入示意图。如图3所示,因外因或者使用者本身震颤的缘故,导致书写横线A3B3时,由于发生巨型震颤,产生了噪声嫌疑线段C3D3。经检测,顺序输入的点e3与点f3的间距大于设定的震颤阈值,因此,确认噪声嫌疑线段C3D3为噪声线段,予以删除。这样,通过对环境震动的判断以及对设定的震颤阈值的比较可以快速排除由于震颤引起的错误的输入笔迹线段,使得后续优化步骤获得更为准确的手写输入笔迹数据。

需要说明的是,本发明所述的噪声嫌疑线段是指任何直接通过笔迹捕获而得到的且未经加工的笔迹线段。

步骤206,采用快速特征点侦测法获取笔划特征点,并形成原始数据矩阵图形;

其中,步骤206到步骤216属于对笔迹数据的细滤波,即微观滤波,是整个优化算法的核心部分。它的作用是让那些常人使用的普通手写输入法无法识别的,乃至肉眼都很难辨识的笔迹变得平滑,而趋向于可辨认的状态。整个滤波过程,分为多个层次,由浅入深,完成整个流程。

快速特征点侦测法是一种角点检测方法,它可以用于特征点的提取,并完成跟踪和映射物体。该算法最突出的优点是它的计算效率,即能够获得比其他算法更快的计算速度,而且如果应用于机器学习方法的话,该算法能够取得更佳的效果。步骤206通过快速特征点侦测法能够获取手写输入笔迹的特征点,并且根据这些输入笔迹数据建立原始数据矩阵图形,为后续的优化计算打下基础。

步骤207,对数据矩阵图形进行二值化处理,对处理结果取反。

其中,由于笔迹书写部分,可能存在多级灰度颜色,而为了减少不同颜色对算法性能的影响,所以需要将接收到的图像转换为纯黑白的图像,这个过程转换过程称之为二值化。在二值化过程中,对处理结果取反,即相当于原来图像中黑色的部分变为白色,白色的部分变为黑色。这样,是为了给后续形态学滤波打好基础,提高后续形态学滤波的效果。

步骤208,根据图形特点,基于形态学滤波。

其中,基于形态学的图像处理过程,主要分为两种:开运算和闭运算。开运算的原理是先腐蚀,再膨胀,用来消除小物体、在纤细点处分离物体、平滑 较大物体的边界的同时并不明显改变其面积。闭运算的原理是先膨胀,再腐蚀,用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。这里根据不同图形特点,采用不同次数和方式的基于形态学的滤波,是为了让那些相邻较近的笔迹相互融合,同时远离大多数笔迹的离散的小区域被剔除。也即,大大优化了笔迹数据图形。

步骤209,查找轮廓,检查轮廓数量,判断轮廓数量是否低于设定的轮廓阈值。若否,则执行步骤210;若是,则执行步骤211。

基于上述计算结果,通过“拓扑结构分析的边界跟踪数字化二进制图像算法”查找外轮廓。所述检查外轮廓数量的方法具体为:对于一个查找到的轮廓,如果它的面积小于最小面积阈值,或者大于最大面积阈值,则当前轮廓将被认定为异常轮廓,予以排除,获得正常的外轮廓数量。其中,所述最小面积阈值,是当前图像面积乘以最小轮廓阈值系数得来的;所述最小轮廓阈值系数,是根据大量实验结果总结出来的经验值。同理,所述最大面积阈值,是当前图像面积乘以最大轮廓阈值系数得来的;所述最大轮廓阈值系数,也是根据大量实验得来的经验值。

由于形态学滤波后可能会过滤掉有效的笔迹数据,所以在轮廓查找这一步骤,会检测轮廓的数量,当其低于设定的轮廓阈值时,将忽略上述步骤的计算结果,转而采用原始数据矩阵图形参与后续的优化计算。因为过滤掉那些太大或太小的轮廓后,可能发生轮廓数量低于设定的轮廓阈值的情况,也即使得笔迹数据的轮廓过少,不利于后续的优化计算,同时也可能出现判断错误的情形,所以对于这种情况,依然将采用原始数据矩阵图形参与后续运算。所述轮廓阈值是根据书写窗口的宽、高像素值来设定的,也即,通过步骤201中获得的自我调整阈值设定。

步骤210,根据步骤209,将滤波处理后的数据矩阵图形作为后续计算的初始数据矩阵图形。

步骤211,根据步骤209,忽略步骤209的计算处理,将原始数据矩阵图形作为后续计算的初始数据矩阵图形。

步骤212,去除外围空间,获得最小矩阵图形;

其中,以上述步骤获得的计算结果为原始矩阵数据,去除笔迹图形外围无用空间,缩小图形矩阵至笔迹外边缘。同时,保证边缘能够延伸一定权值距离,以保证图形背景能比笔迹稍宽一定幅度,这样是为了后续的霍夫变换处理优化, 因为,如果输入到此算法中的图形里的笔迹充满整个图形,即边缘没有空隙,则霍夫变换的计算结果往往差强人意。所以,需要在这里刻意留出一部分空白区域,以保证霍夫变换优化算法能够计算出期望的线段。

步骤213,采用边缘检测法获得优化矩阵图形;也即通过边缘检测算法对上述数据进行处理,获得更加优化的数据矩阵图形。

步骤214,采用霍夫变化处理,形成线型初选库;

其中,使用霍夫变换进行初级线段检测。经过大量的数据测试,可以得到针对震颤特点的笔迹的良好参数阈值,根据该参数阈值来设置霍夫变换方法,形成线型初选库;最后按照一定斜率,对线型初选库进行划分,分成四大类型的线型,即:横线、竖线、左斜线、右斜线。这样,也即将获得的笔迹数据全部转化为四种线型,以利于字体的识别判断。

步骤215,通过线段包围矩将同线型线段进行合并;

其中,将上述所划分的四大类线型分别置入线段包围矩的过滤方法中进行筛选。线段包围矩方法中,可以再次使用前述的基于图形的滤波处理,即二值化、多次变参的形态学运算,以过滤太大或太小的轮廓,然后返回计算结果矩阵,进行初始过滤。在图形过滤处理中,将获得的每条同线型线段自身的包围矩进行比较。对于包围矩相交的线段,进行吸收合并,也即判断包围矩相交部分的长或宽与相应包围矩的长或宽的比值是否超过设定的合并阈值,若超过合并阈值,则表示可以合并处理,若不超过,则表示不能合并处理。其中,对于不同线型,吸收设定的合并阈值不同。这样,经过多次处理后,相同线型的线段间,距离较近、共线等可能影响后续识别的线段将被合并,较短的线段将被与其距离较近的长线段吸收,即剔除。也即进一步优化了笔迹数据。

其中,所述线段包围矩是指能够刚好将当前线段的这些特征点包围在内的最小矩形。

优选的,所述合并阈值判定时,将包围矩相交部分的长或宽与相应两个包围矩的长或宽中数值较小的值进行比较。例如,两线段包围矩分别为M1(长w1,高h1)和M2(长w2,高h2),且M1和M2相交部分形成的矩形M3(长w3,高h3)。同时合并阈值为系统默认值Y,即大量实验的经验值。那么若w1<w2,则记w=w1,反之记w=w2,同理若h1<h2,则记h=h1,否则记h=h2。当两线段符合以下条件时:w3>Y*w或者h3>Y*h,将发生线段的合并。

参照图4和图5所示,分别为本发明提供的基于相同线型的手写输入的优化方法优化前的线段示意图和优化后的线段示意图。

其中,线段a4b4与c4d4为同线型的斜线,且它们的包围矩相交,比较后,判定线段a4b4与c4d4属于可以合并的线型,此时取两线段包围矩的外层最小包围矩,生成与原线段a4b4和c4d4同线型线段E5F5。线段E5F5即是a4b4与c4d4合并后的结果线段。

步骤216,根据书写原则将不符书写原则的线型删除;

其中,根据语言字体的书写特性进行滤波。例如:起笔不可能同时书写出两条同向线段等,或一个笔划出现了不可能发生的线段组合。这就需要对发生冲突的线段进行协调。不同线型间,在不同方向上拥有着不同的原则阈值,达到原则阈值时,将会发生吸收或合并操作。具体规则包括:

末线段保留原则,即主线段上的噪声嫌疑线段,除距离主线段末端最近的线段保留外,其它线段将予以减分,即剔除;

线段书写方向矛盾原则,即在一笔划中,若存在多种线型,如前一线段若与下一线段书写顺序矛盾,则剔除下一线段。

三线间隔原则,即若当前线段同时符合以下情况,将被确认为噪声线段而被剔除:

当前线段与下一线段相交;

当前线段与前一线段平行;

下一线段同时也与前一线段相交。

其中,所述原则阈值是指线段书写方向矛盾原则中的阈值,其为系统默认值,其源于大量实验得到的结果。它是规定当前线段上由终点出发,到达线段上某点P的距离d占整个线段长度的比例。其中,点P是划分当前线段的前端和末端的分水岭。按书写顺序,以下情况,将发生书写方向矛盾:后续线段的末端与当前线段的末端相交;当前线段的前端与前一线段的前端相交。

参照图6所示,为本发明提供的基于判断书写原则的手写输入的优化方法的一个实施例的书写笔迹示意图。根据曲线上的坐标点捕获顺序可知,线段A6B6的书写方式是从A6点向B6点的方向。同理可以得出线段k6l6线段书写方向为从k6点到l6点方向。其它线段的书写方向以此类推。笔迹轨迹原意为书写一条横线A6B6,根据上述末线段保留原则,噪声嫌疑线段c6d6、e6f6、g6h6、i6j6、k6l6中,末端线段k6l6将被保留,其它噪声嫌疑线段将过剔除。 然后考虑线段书写方向矛盾原则。因A6B6为左至右方向,同时k6l6为上至下方向,在现实生活中,不可能在一笔划中同时完成这种书写笔迹,所以k6l6被确认为噪声线段而剔除。最终,A6B6线段清除了所有噪声线段。

参照图7所示,为本发明提供的基于判断书写原则的手写输入的优化方法的另一个实施例的书写笔迹示意图。其中,书写顺序为A7B7—C7D7—E7F7,其中C7D7与E7F7相交,且平行于A7B7,同时A7B7又与E7F7相交,所以C7D7符合三线间隔原则,将作为噪声线段而剔除。

步骤217,对线段识别,获得输入字体的编码,检索字体库将符合字体编码的字体作为备选库,并将所述备选字体库显示出来,以供用户进行选择。这样,可以根据用户的手写输入,获得一系列相近的备选字体库,然后用户通过对备选字体库的选择可以准确得到自己想要输入的字体

其中,字库由字体组成,字体必须转换为本方法所能使用的格式,这就需要对不同字库进行转换。字体的笔划将与上述线型对应。任何笔划都将转化为上述四种线段的组合。加之上述每种线段类型存在两个相反的书写方向,这就最终形成了八种核心算法所能读取的笔划向量单元。向量单元间再组合,形成字体中的每一笔划。

每一笔划包含两种过滤规则:必须包含的笔划向量,以及绝对不能包含的笔划向量。当经过图形化处理后的线段组合被投入到字体识别模块中,将会按照字体每一笔划的规则进行比较。当不符时,当前字体将从备选库中排除。

在一些可选的实施例中,每个直线型字体均由横线(记作二进制1)、竖线(记作二进制10,十进制为2)、左斜线(左上至右下,记作二进制100,十进制为4)、右斜线(左下至右上,记作二进制1000,十进制为8)组成。每个汉字,笔划间的数据以空格间隔。每一笔划内若有多种可能的写法,则不同写法间以分号间隔。对于某一笔划的某个写法中,除了必须包含的笔划编码外,同时也存在绝对不能包含的笔划编码,则他们之间用逗号间隔。以汉字“人”为例,标准记录分为两个笔划,形成一条数据记录:84(十进制)。但考虑笔划撇可能被识别为竖线+右斜线+横线的组合,而笔划捺可能被识别为竖线+左斜线+横线的组合。最后,综合考虑“人”字书写的各种可能性的交集,即撇笔划至少包含右斜线或者竖线,可能包含横线。而捺笔划则至少包含左斜线或者竖线。所以此时,上述关于“人”的数据将变更为:8,0;2,0;4,0;2,0。这就是必须包含的规则。

现在,考虑“绝对不包含原则”。仍以“人”字为例,笔划撇中,若日常书写识别中几乎不可能包含左斜线,那么我们就可以将左斜线列为“人”关于第一笔划撇中“绝对不包含原则”。同理,有关笔划捺,也绝对不会包含左斜线。至此,“人”字的数据记录,将变更为:8,4;2,4;4,8;2,8。

在一些可选的实施例中,针对二进制,某个字经过识别后,形成的识别码为1011,它的含义是包含了:横线(0001)、竖线(0010)、右斜线(1000)。若在字库中,关于这个字的编码规则为:1000,0100。这就意味着,这个字必须包含1000(右斜线),同时绝对不能包含0100(左斜线)。只有同时满足上述两个条件,才算符合规则成为备选字。按上述字的编码规则来看,它包含了1000(右斜线),同时编码从左至右第二位是0,即不包含左斜线(0100),所以这个字符合要求,将被纳入备选字。同样也可以将上述二进制表达方式改为十进制方式来存储的。例如上述字在字库中保存的不是“1000,0100”,而是“8,4”。这样可以节省存储空间,进一步提高优化效率。

需要说明的是,本发明并不限于上述实施例中的步骤顺序,可以根据实际的需要对上述步骤进行调整,或者还可以重复执行某一步骤,或者在某一步骤的之前或之后添加某一步骤,这样可以进一步提高本发明优化方法的优化质量和效果。

由上述实施例可知,本发明提供的手写输入的优化方法,对于原发性震颤、帕金森、左脑创伤等因疾病而部分丧失手指稳定性控制能力的患者,原本拥有丰富的表达能力,但因病症而截断了部分向外界表达意愿的通道。患者不仅只是需要生理上的治疗,更需要心理上的平衡。任何能让它们接近原有生活方式的方法或工具,都会紧紧抓住,这不仅能在心理上获得关怀,亦能为康复之路铺垫基石,重塑信心。

手部震颤的患者,在纸张上已难以写字,看到凌乱的字迹更会让自己情绪波动,影响病情。同时,手部震颤也令这类人群几乎断绝了现有已非常普及的多媒体设备的交互关系,如平板电脑等触屏设备。本发明可以让凌乱的字迹优化为普通手写输入法所能辨识的状态,重新打通了上述患者与多媒体设备间的通道,让它们从新获得失去的手写表达能力。

另外,对于因个体所处环境的变化状态,如运动状态,又需要通过数字信号向外界表达复杂意愿或精确指令时。微型按键设备往往无法满足需求,单指手写符号,更能适应这种极端环境。震颤输入法关于输入设备外围环境的突变 甄别能力强大,由于这种环境侦测数据存在滞后性,为震颤输入法分析数据并剔除异常波动,矫正输入的凌乱符号并转换为使用者意图提供了充足的时间。而上述处理过程瞬间完成,对使用者而言是及时和精确的。对于个体位于颠簸的交通工具中,或多变的野外恶略环境中的行进过程是非常适用的。

参照图8所示,为本发明提供的手写输入的优化装置的一个实施例的结构框图。所述手写输入的优化装置包括:

笔迹捕获模块801,用于收集手写输入的笔迹坐标数据;

数据矩阵化模块802,用于采用快速特征点侦测法根据所述笔迹捕获模块801捕获的笔迹坐标数据获取笔划的特征点,并形成原始数据矩阵图形;

线型侦测模块803,用于使用霍夫变换对所述优化数据矩阵图形进行初级线段检测,获得优化笔迹线段,将优化笔迹线段划分为横线、竖线、左斜线、右斜线四种不同的线型;

线型合并模块804,用于采用最小矩阵包围优化笔迹线段,形成线段包围矩,针对相同线型的优化笔迹线段,判断相邻的线段包围矩相交部分的长或宽与相应的线段包围矩的长或宽的比值是否大于设定的合并阈值,若大于合并阈值,则将相邻的线段包围矩合并,形成新的线段包围矩并根据新的线段包围矩获得合并线段,若小于或等于合并阈值,则不处理;

书写判断模块805,用于根据书写原则,对优化笔迹线段进行滤波处理,将不符合书写原则的优化笔迹线段删除;

线型匹配模块806,用于将所述书写判断模块805处理后的线段进行识别,获得该字体的编码,即该字体必须包含哪些笔迹向量,绝对不能包含哪些笔迹向量,然后从字体库中按照该编码进行检索,获得符合该字体编码的备选字体库;

显示输出模块807,用于实现用户的手写输入指令,以及用于显示所述线型匹配模块806获得的备选字体库,然后根据用户的指令输出目标字。

在一些可选的实施例中,所述数据矩阵化模块802、线型侦测模块803、线型合并模块804、书写判断模块805也可以集成为一个细滤波模块。而且所述数据矩阵化模块802、线型侦测模块803、线型合并模块804、书写判断模块805的连接形式不限于图示所述的连接关系。

参照图9所示,为本发明提供的手写输入的优化装置的另一个实施例的结构框图。所述手写输入的优化装置还包括粗滤波模块808,所述粗滤波模块808 用于在所述笔迹捕获模块801收集手写输入的笔迹坐标数据的同时进行环境震动侦测,判定用户的手写输入是否处于震动环境,若处于震动环境,则进一步判断所述笔迹捕获模块801捕获的笔迹线段的起点与该起点之前的输入点之间的间距是否大于设定的震颤阈值,若是,则所述笔迹线段为噪声线段,予以删除;若否,则保留该笔迹线段并发送至所述数据矩阵化模块802;若未处于震动环境,保留所有笔迹坐标数据,并发送至所述数据矩阵化模块802。

在一些可选的实施例中,所述手写输入的优化装置的具体优化过程为:

通过笔迹捕获模块801收集用户输入的笔迹坐标数据,并将所述笔迹坐标数据发送给粗滤波模块808;

所述粗滤波模块808对所述笔迹坐标数据进行滤波处理,将由于环境或输入的震动而产生的错误笔迹过滤掉,并将过滤后的笔迹坐标数据发送给数据矩阵化模块802;随后依次经过线型侦测模块803、线型合并模块804和书写判断模块805的优化和处理;

所述矩阵化模块802、线型侦测模块803、线型合并模块804和书写判断模块805进一步处理接收到的所述笔迹坐标数据,即通过各类算法对所述笔迹坐标数据进行优化和滤波,同时通过吸收、合并以及删除获得可识别的标准线型笔迹线段,最后将优化的笔迹线段发送给线型匹配模块806;

所述线型匹配模块806将获得的优化线段与字库逐一匹配,获得符合输入笔迹的备选目标字,并将所述备选目标字发送给显示输出模块807;

所述显示输出模块807将获得的备选目标字显示出来,用户通过点击或选择合适的目标字,进而选中想要输入的目标字;若发现备选目标字中没有想要输入的目标字,则返回提示用户重新手写输入,直至获得想要输入的目标字;若找到目标字,则选取该目标字并输出,完成手写输入。

由上述实施例可知,所述手写输入的优化方法依次通过输入笔划,粗滤波,细滤波,累积线型字,字库匹配,进而使得用户确认命中目标字,然后用户可以重复上述步骤逐步实现多个字体的输入,最后得到想要的输出文字。

在一些可选的实施例中,对于因各种原因无法或不便使用键盘直接完成客观符号或字体输入的情况,均需要使用手写模式先行生成主观模拟符号,再经输入法转译后形成电子设备所能识别的客观信息符号或字体。在这一过程中,对于允许使用屏幕这类反馈设备,且双目与反馈设备间可保持相对静止状态的情况下,眼动仪可以作为辅助输入工具。例如眼动仪可作为点击按钮、字体确 认、保存、删除、修改、发送信息等操作。对于无法使用屏幕这类反馈设备的情况下,亦可以通过耳机作为输入反馈,以达到确认的目的。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1