如何在浏览器中完全运行光学字符识别(OCR)以进行语言学习?
YuzuLingo · 2026年11月1日
您可以通过加载一个紧凑的ONNX模型并通过WebAssembly或WebGPU执行,将OCR完全在浏览器中运行。帧保留在设备上,因此识别不依赖于云API密钥或往返于服务器的请求。
浏览器OCR对沉浸式学习的重要性
刻录的字幕是像素,而不是文本。一个观看动漫、C剧或直播的学习者需要将这些像素转换为字符,才能查阅字典。这样在标签页中播放视频的同时,也可以识别文本行。
页面中的ONNX模型
现代OCR包以适合浏览器的ONNX图形形式发布。扩展或页面加载权重一次,然后将剪裁的字幕区域传送通过图形。小型PaddleOCR风格的模型是CJK硬字幕的常见选择,因为它们平衡了准确性和下载大小。
WebAssembly与WebGPU
WebAssembly可以在所有支持扩展的Chromium和Firefox上运行。当GPU和浏览器支持时,WebGPU加速推理。在可用时,一个可靠的堆栈选择WebGPU,如果不可用则回退到WASM,以便在旧机器上仍然能够进行识别。
隔离重负载以保持用户界面响应
在主内容脚本线程上加载多兆字节的模型会导致点击和滚动被冻结。在一个隔离的iframe或工作线程中运行识别可以将解码和推理过程放在页面的交互路径之外。主机脚本只发送剪裁区域并接收字符串。
预热以避免首次识别延迟
第一次推理需要下载模型和初始化图形。在学习者打开互动区域时进行预热,提前开始这些工作并显示清晰的加载状态,而不是静默的五秒冻结。经过预热,后续的行将重用已加载的运行时。