返回

文章详情

回到手写识别的未来

Hacker News2026年8月10日 15:58

回到手写识别的未来 五十年前,兰德公司开发了图形输入语言软件系统(GRAIL)。在1966年的一份兰德备忘录中,GRAIL的声称目标是“研究用户可以如何直接、自然且轻松地处理他们的问题的方法。”用户使用类似于钢笔的仪器和平板与GRAIL进行交流。GRAIL没有鼠标,没有键盘,没有按钮,没有操纵杆,以及没有其他我们通常与现代计算机关联的设备。当用户希望在屏幕上显示一个框时,他们就画了一个框。当用户希望在屏幕上显示文本时,他们就手写了文本。当你今天观看该系统的演示时,它仍然显得优雅而神奇。借用托尼·霍尔的一句名言,GRAIL在许多方面比它的几乎所有后继者都有所改进。“这个识别方案达到了使任何用户都可以自然地与计算机交流的主要目标。用户没有被任何操作机制所分心,而是可以专注于他们的问题。”—— 加布里埃尔·格罗纳(1966) 上面的图像描绘了汤姆·艾利斯在1960年代使用兰德平板与屏幕上的图像互动。艾利斯是兰德平板和GRAIL软件系统的发明者和项目负责人之一。这个图像以及许多其他图像可以在计算机历史博物馆网站上找到。 在这篇活跃的论文中,我们将重新审视加布里埃尔·格罗纳对GRAIL项目的贡献。格罗纳开发了一种非常聪明的程序,可以识别手写的字母、数字、标点符号和几何图形。该程序足够高效,能够在IBM System/360计算机上实时运行,并且足够强大,能够正确识别90%初次用户绘制的符号。格罗纳在1966年的一份兰德备忘录中记录了他的方法,题为《手写文本的实时识别》。在本文结束时,您应该能完全理解格罗纳的手写识别方案是如何工作的。更准确地说,您将看到格罗纳的方法是如何运作的,并逐步形成对其各种操作和阶段的直观理解。最好将这篇论文视为格罗纳原始备忘录的动态伴侣。当格罗纳描述算法或启发式时,这篇论文将为您提供可以探索的交互式实现。当文本逐字引用自格罗纳的备忘录时,将以更改字体的方式呈现。原始备忘录中描述的识别方案能够识别各种符号、形状、数字、字母甚至标点符号。在这篇论文中,我将呈现一个简单版本的格罗纳识别器,它只能识别大写的数字和字母。本文的所有源代码公开可在Github上获取。请将所有错误、错别字和建议提交至问题追踪器。如果您对此作品有任何问题或评论,欢迎在Twitter上与我联系。实际上,您可以阅读格罗纳整个程序的源代码,他是用IBM 360汇编编写的。“当今的用户-计算机接口机制与理想的交流相去甚远,显著降低了有效利用机器和用户的能力的可能性……有人认为,探索人类现有的灵巧性,使用一个自由的、类似钢笔的工具在一个水平面上,比如纸张,会是富有成效的。”—— M.R.戴维斯和T.O.艾利斯(1964) 人类使用兰德平板与GRAIL进行互动。所有输入都通过类似钢笔的仪器在兰德平板的表面上绘制。这个10.24英寸 × 10.24英寸的平板具有每英寸100行的分辨率,因此能够准确地数字化超过一百万个离散的笔触位置。笔尖内置了一种压力敏感开关,使用户可以在任何需要在屏幕上做标记时,按压笔尖接触写作表面。每四毫秒,将笔尖的位置作为一对(x,y)坐标报告给GRAIL。下面,您会发现一个可以绘制和涂鸦的虚拟平板。与兰德平板一样,虚拟平板的表面也是离散化的。这意味着写作表面被划分为一个网格,所有笔触位置都被报告为这个网格上的坐标。虽然兰德平板的分辨率为每英寸100行,但我们的虚拟平板的分辨率约为每英寸20行。因此,最好将我们的虚拟平板想象为兰德平板的一个小部分,放大约500%。在使用平板时,请记住这一点。绘制字母和数字,使其填充大约70%的可用平板高度。画得大一点!要开始绘制,请将光标移到平板上并按下鼠标按钮。这模拟了笔尖接触平板表面的行为。在不释放鼠标按钮的情况下,移动光标在平板表面上做标记。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡