APP下载

空中手写技术的一种改进方案

2021-07-03潘王衡张晋敏肖清泉

关键词:光标笔尖鼠标

潘王衡 张晋敏 肖清泉 谢 泉

(1. 贵州大学 大数据与信息工程学院, 贵阳 550025; 2. 贵州大学 新型光电子材料与技术研究所, 贵阳 550025)

触控屏技术是一种通过采集电子笔或人手的实时位置来实现人机交互的技术。就现有的触控屏技术来看,触控屏的尺寸需要随着显示屏尺寸的增加而增加,触控组件大多包含玻璃材质,其便携性因此受到极大的限制。独立的触控组件因为透光性、兼容性和便携性方面存在缺陷而几乎不被采用,生产商一般选择将触控组件与显示屏集成在一起。于是,每台显示设备必须配备一套触控组件。原有的显示设备要获得触控功能,则需要再购买一台具有触控功能的显示设备。

无需触摸的空中手写技术是一种较先进的人机交互技术,它是通过传感器捕捉用户手写的动作来实现对计算机光标的操控。实现方式主要有2种:一种是用摄像头捕捉空中手写的手势[1-4];另一种是通过惯性传感器(加速度传感器、陀螺仪或磁力传感器)采集空中手写的运动数据[5-6]。目前的空中手写技术,对轨迹和字符的识别已经有成熟的算法[7-9]。有关产品一般被称为空中飞鼠,其功能相当于是鼠标、手写板、键盘和电子教鞭的集合体,但它还无法取代触摸屏的地位。人们喜欢使用触控屏,是因为其十分便捷且操控准确,还有用笔在纸上书写的体验,而空中飞鼠在这方面存在重大欠缺。

我们对空中手写技术进行了改进,在没有大尺寸触控屏组件的情况下也能够实现精准触控,还原真实书写效果。

1 空中飞鼠的不足

用笔在纸上书写时,只需考虑笔尖应该在哪处落下与何时抬起。与此对照,目前的空中飞鼠还存在一些不足。

第一,无法获取显示屏与电子笔之间的相对位置信息。在纸上写字,须知道纸在哪儿,要在哪个位置落笔,而且这个落笔位置的坐标应该是唯一的。在空中飞鼠与常规鼠标的使用过程中,设备没有获取显示屏与电子笔之间的相对位置信息。无论空中飞鼠在哪儿,只要它与电脑的连接正常,使用的效果都是一样的。显然,这与我们使用纸张进行书写的方式有较大差异。看似设备的使用脱离了空间的限制,但正是这一点让空中飞鼠技术丧失了操作的准确性。在使用触控屏时,其实默认了书写平面就是显示屏表面,这使得显示屏与电子笔之间的相对位置信息在可操作的二维平面范围内是唯一的。

第二,无法实现光标移动距离与电子笔身实际移动距离相对应。要实现真实书写,必需要电子笔与电脑光标的实际移动距离和方向相同。目前的空中飞鼠和鼠标均没有做到这点,在鼠标移动很短距离时,其控制的光标可能已经跨过了整个电脑屏幕。比如将电脑主机同时连接多个大小不同的屏幕,开启屏幕复制显示模式时,各个屏幕上显示的画面是完全一样的。此时若移动鼠标,则会看到不同屏幕上的光标同时移动,但在实际空间的移动距离却是互相不一样的。因此,需要让光标移动的距离与电子笔笔身的实际移动距离有唯一的对应关系。

电脑对鼠标和光标的移动距离是通过像素点来进行判断的。传感器采集到鼠标移动的像素点和方向时,会将该数据实时传递给电脑,然后电脑通过一定的比值来判断光标应该在屏幕上移动多少个像素点。因此,通过调整鼠标和光标移动的像素点比值,就可以让鼠标与光标同时移动的实际距离相一致,而难点在于如何确定该比值。

第三,无法匹配书写落笔习惯。在电脑中模拟书写时,是以是否按下鼠标左键或自定义键位来判断此时是否在屏幕上显示笔迹(即落笔)。能够操作鼠标在电脑上快速写好字的人比较少,要用比鼠标更加难以控制的空中飞鼠来写好字则更加困难。按目前的技术方式,想写出标准的字符,需要多次按下和松开按键,这是在普通书写时本来无需做的动作,因此用户会感觉十分别扭,并显著减慢书写速度,写出的字还容易变形。

2 技术改进方案

使用与现有空中飞鼠基本相同的硬件,在程序层面尤其是操作方法上进行改良。必备的硬件有:激光灯、按键模块、加速度传感器、陀螺仪、中央处理器、较为精准的时钟芯片和有线/无线信号传输模块。为了解决运算量和功能扩展空间的问题,需要设置专门的电脑端软件或硬件,从而在不用触控屏的情况下,借助电子笔来实现精准触控,并还原真实书写的效果。

2.1 获取电子笔初始位置和姿态

在电子笔上设置一个初始设置按钮。电子笔首次在一个新的显示设备上开始使用前,操作初始设置按钮,使电子笔的中央处理器获取显示屏幕位置及其大小的相关参数。用笔尖接触显示屏幕的左下角处,并使笔身垂直于显示屏幕,这是电子笔的初始位置和姿态。然后操作初始设置按钮,由中央处理器存储电子笔的初始位置和姿态数据。

设置初始姿态,目的在于确认垂直的笔身指向显示屏幕的方向。初始位置设置为左下角,是为了确定处于屏幕所在平面上的一个特征点,即空间原点。平面上一点的位置确认,垂直于该平面的法线方向确认,则可以确认唯一平面。所以,通过获取电子笔的初始位置和姿态,可以确认显示屏幕所在的平面位置(见图1)。同时,空间原点是显示屏幕的左下角,这在任何显示屏幕上都是最方便人手直接触及的位置,也是屏幕两条边界的交点,因此可提高人手操作的准确性。

图1 空间原点及初始姿态设置

2.2 电子笔实时位置与姿态运算及资源调配

惯性传感器能够获取移动距离、移动方向、旋转角度和旋转方向。在已知空间原点与初始姿态之后,通过对惯性传感器的实时信息进行运算,可以得到电子笔相对于原点的实时移动方向、距离及笔尖的实时指向。然而通过实时数据来计算路径,通常要涉及积分,计算量较大,仅靠电子笔内置的单片机类中央处理器和存储器则难以完成。电子笔移动的方向和距离是实时信息,我们选择将这些实时信息传输到电脑端,由电脑进行处理。电脑的运算能力更强,且不受电子笔握持大小和电池的局限。对于老式电脑、普通手机及平板等性能相对较差的产品,可以设置专门用于处理电子笔发送的实时信息的附加模块。该模块内置专用运算芯片和配套电路,用它将实时信息处理为最简单的控制电脑光标移动和点击的最终操作信号,再通过USB、蓝牙等传输途径传送至电脑中。

在信号传输方面,一般的有线/无线传输器件即可胜任,因为需要处理的信息与现有空中飞鼠和鼠标需要处理的信息基本等同。目前,5G技术可以实现对远程手术的精确控制,其低时延和对方向的操控性能,已经远超出电子笔书写精度的要求,可以作为极端精度要求下的技术支撑。为了让同一时刻的多个数据之间存在唯一对应关系,传输每一个关键数据时,均同时将对应的时间一同发送。

电子笔仅作为发送按键控制信号和传感器实时信号的模块,而由电脑端相关软件来处理实时信号。在电子笔初始位置和姿态确定后,电脑端相关软件对电子笔接下来发送的位置与姿态变动信号进行实时运算,得到电子笔相对初始位置与姿态的变动情况,从而获得唯一的空间坐标与笔尖指向信息,然后进一步计算电子笔笔尖位置在显示屏幕所在平面投影的坐标,当投影坐标在屏幕的显示范围内时,控制光标跟随笔尖移动。

2.3 屏幕显示范围和缩放比例的确定

因为屏幕所处平面已经确定,根据该平面内不同时处于一条直线的任意3个点,能够确认唯一长方形。屏幕的相邻边是互相垂直的,可以通过获取3或4个屏幕顶点的坐标信息来确定屏幕的显示范围(见图2)。

图2 屏幕显示范围设置

在确定屏幕的显示范围之后,屏幕的实际空间参数已经齐全。此时,电脑端软件获取显示屏幕的分辨率参数,并根据屏幕不同方向的像素点数与实际长度的比值来确定光标移动距离。同一屏幕,一般纵横方向上的像素点数不同,因此需要将光标移动距离的比值分解为纵横两个方向分别处理。假设:显示屏幕横向上像素点为N,屏幕的实际横向长度为M,则当电子笔横向位移长度为A时,光标应当与电子笔横向同向位移A*N/M个像素。此时,横向的缩放比例应为M/N。纵向的缩放,原理相同。通过缩放,实现手写笔迹与在屏幕上显示的大小一致。

考虑到投影仪用的显示屏幕较大,为方便远距离确认屏幕的顶点,根据“同种均匀介质中光线沿直线传播”与“一条非平行于一个平面的直线与平面有唯一交点”的原理,采取“激光-平面定位法”来获取屏幕顶角(见图3)。

图3 激光-平面定位法示意

在电子笔上设置一个激光灯,用激光照射显示屏幕并瞄准想要确定的位置。激光点,即为电子笔发射出的激光射线与显示屏幕的平面的交点。由于电脑端程序已经计算出电子笔的实时位置和姿态,通过对电子笔的实时坐标和笔尖指向进行运算,即可得激光点的位置信息。比如已知原点位置坐标为(O,O,O),实时激光笔坐标位置为(X,Y,Z)。其中,Z垂直于显示屏幕方向,X为横向坐标轴,Y为纵向坐标轴。从笔尖发射出的激光光线与XOY平面的夹角角度为θ,激光光线在XOY平面上的投影与X轴的夹角角度为γ,则此时激光点的坐标为(Z/tanθ·cosγ,Z/tanθ·sinγ)。在陀螺仪之类的传感器中,大多是以俯仰角的方式表示指向,不过大体运算方式相似,各项关键参数之间也可以互推。还可以根据长方形相邻边是互相垂直的特性,来校准手动选点误差。对于像投影仪幕布这种已知垂直于地面的显示屏幕,也可以用重力传感器来进一步校正。

2.4 设置落笔识别区间和笔位置跟随区间

设置笔位置跟随区间,是模仿手持笔移动状态。正常书写时,不会在写一个字时多次放下手中的笔,而应该是笔一直随手部移动而移动。因此,设置笔尖处于显示屏幕正前方时,电脑上的光标根据手写笔在显示屏上的数学投影坐标的移动而移动。

设置落笔识别区间,是模仿真实的笔尖接触纸面的效果,即设置手写笔的笔尖与显示屏幕的平面位置间隔一定距离时,触发鼠标左键点击信号,或触发其他在屏幕上显示笔迹的信号。落笔识别区间远小于笔位置跟随区间。在传感器精度满足的情况下,手写笔笔尖与显示平面之间的距离为正时,落笔识别区间越小越好。该区间太大,会使中央处理器判断电子笔一直处于落笔状态,导致出现连笔现象。当手写笔笔尖与显示平面之间的距离为负值时,若显示屏幕具有韧性,可以用负值的大小来控制笔迹粗细,进一步还原人的书写笔迹;针对玻璃类刚性材质的显示屏幕,可以在电子笔笔尖上加入灵敏的压力传感器件,辅助控制笔迹粗细(见图4)。

图4 落笔识别区间与笔位置跟随示意

3 虚拟运行流程

为了展现改进方案的完整性和逻辑严密性,下面介绍一个虚拟的运行流程。

一个笔状设备(电子笔)内具有所需的各种硬件,电脑端具有配套的软件。电子笔与电脑端软件可以通过无线方式进行实时通信。将笔尖放置于显示屏左下角,使笔身垂直于显示屏。按住初始设置按钮数秒,进入初始化模式(可用信号灯闪烁或变色来反馈)。电子笔的中央处理模块通过信号传输模块,将从陀螺仪中读取的姿态数据实时传输给电脑端软件,电脑记录此时位置为空间原点,并将此时获得的姿态数据作为初始姿态数据存储。把初始姿态与垂直于显示屏所在平面建立等同关系,定义过原点垂直于电子笔的平面为显示屏所在平面。同时,中央处理模块开始从加速度传感器中读取加速度数据,并传输给电脑端。电脑端根据加速度方向和强度进行积分,得出电子笔的位移,从而得到电子笔在空间相对于原点的实时位置坐标。

依次将笔尖对准显示屏幕的另外至少2个顶角点位(可以使用激光点来对准),同时点击初始设置按钮。此时,中央处理模块将姿态数据进行临时存储,并发送给电脑端。电脑根据该姿态数据和初始姿态数据进行对比运算,得到笔尖的指向;结合电子笔在同一时刻的位置坐标及屏幕所处平面的坐标,进一步运算,得到对应顶角相对于原点的位置坐标(原点自身即为一个顶角,3个顶角确定的一个方形即为显示平面)。获取3个顶角坐标之后,电脑根据顶角坐标与屏幕所处平面坐标,确定屏幕显示范围。继续进行获取顶角操作时,再将获取的点位坐标与已获取的坐标进行对比:若距离太近,则将相近位置的原坐标进行替换;若距离与原有的3个顶角均较远,则将其作为第4个顶角。停止获取顶角操作数秒后,电子笔退出初始化模式。

电脑端软件获取电脑屏幕的显示分辨率,根据显示分辨率和获取到的显示屏尺寸,确定电子笔实际移动距离与显示屏幕上光标位移像素点数之间的比例关系。电脑端根据电子笔的实时位置和姿态数据,计算笔尖的实时坐标信息和该坐标在显示屏幕所处平面的数学投影坐标;当该投影坐标处于屏幕显示范围内时,控制光标移动到该坐标位置,并跟随投影坐标的移动而移动。最后,电脑端根据电子笔内安装的传感器的精度,设置最小的落笔识别区间。根据电子笔的实时位置和姿态数据判断,笔尖处于落笔识别区间内时,触发点击鼠标左键,或触发光标在电脑上显示笔迹的其他控制信号,即可实现精准触控功能,还原真实书写的效果。

4 结 语

鉴于现有空中飞鼠技术实现精准触控存在的数据缺失问题,我们提出了一种改进方案。(1)通过采集电子笔初始位置和姿态,确定空间原点和屏幕的所处平面,使系统内的空间坐标唯一。(2)通过对惯性传感器数据进行运算,获得电子笔的实时坐标与笔尖指向。(3)获取屏幕的顶点坐标,确定准确的显示范围坐标,按电子笔实际移动距离与电脑光标移动像素点数之间的比例,实现光标与电子笔的移动距离一致。(4)采用“激光-平面定位法”,获取人手难以触及的位置坐标。(5)电子笔将惯性传感器的数据实时传输至电脑端进行运算,电子笔就无需配备强力的运算芯片。电脑端的CPU和GPU,可保障系统的运算能力。5G技术的大数据量传输和超低时延特性,可保证数据传输的实时性。(6)设置位置跟随区间和落笔识别区间,使电子笔的书写操作符合人的正常使用习惯,让用户获得接近用笔在纸上书写的体验。

按改进方案,没有触控屏组件的显示设备在配备相应的软件和外置设备后,也可以获得精准的触控和书写效果。同时,触控组件(原触控屏,现在用电子笔来替代)的大小不再受显示屏大小的影响,增强了便携性;使用投影仪时也可将其作为电子黑板来书写,展现真实书写的效果。

猜你喜欢

光标笔尖鼠标
寻找笔尖上的少年
让真情在笔尖流露
深情笔尖下的西部惊叹曲
陈光标吃剩饭倒了谁的胃口
鼠标折叠笔
陈光标:巴菲特先生,我要裸捐!
睡着笑醒
45岁的鼠标
超能力鼠标
鼠标也可以是这样的