华为EMUI10“滚屏翻译”之背后的学问
IT前沿10月17日消息 此前,华为官方发布一则短视频以介绍华为Mate30系列手机中接入的“滚屏翻译”功能。现在华为EMUI官方微信号撰文详解EMUI10“滚屏翻译”及其背后的OCR技术,我们来看一下吧。
华为EMUI官方表示,EMUI10全屏翻译的存在,解决了外文翻译的难题,但是如果想要翻译多屏内容,需要一次又一次进行全屏翻译的操作。随着内容长度的增加,操作的繁复还会使阅读的连贯性降低。基于此,“滚屏翻译”便派上了用场。
EMUI10滚屏翻译支持各种应用、十种语言、多屏内容的翻译。使用小艺语音口令“帮我翻译屏幕”或双指按压屏幕即可使用。华为EMUI官方表示,“当你浏览一篇长文章需要翻译时,系统会先将其滚动截屏,形成一张原文的长截图,然后对长截图进行切分、文本检测、翻译、排序、去重、拼接,最后以同样的图片和翻译完成的文字,再次呈现在你的面前,这就是滚屏翻译。”
在这一系列的步骤中,最为关键的是如何对长截图进行初步处理。那利用什么技术去进行处理呢?这里就不得不提到这里面的关键技术——OCR技术。
以下为华为EMUI官方对OCR技术的详解:
OCR,即光学字符识别(Optical Character Recognition),指检查字符,并对其进行检测识别,然后再将其字符形状转换成计算机文字的过程。在这里的应用,也就是对原来长文章形成的长截图上的文字,进行识别提取,将它们提供给后续的机器翻译环节使用,也就是完成了长篇源文字提取的过程。
从技术原理上为检测和识别两段式算法框架,涉及中、英、日、韩、俄、西、法、德、意、葡十种语言识别能力,包含多个运行于NPU(Neural-network Processing Unit,神经网络处理单元)的深度模型。
调用OCR算法后,首先对图像做增强处理,将图片适配至理想状态后,采用多线程的方式同步运行深度模型以及后处理运算,最后借助NLU(Natural Language Understanding,自然语言理解)校正输出文本识别结果。
翻译得准不准,依赖于OCR识别的准确性;翻译得快不快,依赖于OCR处理字符速度的快慢。将经过OCR处理的文本进行机器翻译,重新对图片进行排序、拼接处理,最后把翻译好的长篇文章呈现在用户面前。
这样一套能把长文章中的文字转变为图片,再转换成译文的创新方案,现在已经申请专利保护了噢!
//每行字每张图,都要完完整整//
滚屏翻译中还创新性地通过OCR文本行定位以实现智能的图片切分和拼接,巧妙地避免了在长截图切分过程中文字或图片被截断的情况。
大家可能会有这样的疑问,原文形成的长截图直接翻译不行吗?为什么还要做切分呢?
这是因为,当前的图片翻译只支持单屏内容的翻译,长截图会自动缩放成和屏幕等高进行翻译,图片被压缩,文字大小自然也被压缩了,这会极大地影响到翻译结果的准确性。
为了有效提高翻译的准确性,那就把长截图切分成多张短图后再做翻译吧。但如果直接按照屏幕高度对长截图做简单切分,很可能会出现一行文字被截断或者一张插图被截断的情况。
而滚屏翻译,采用OCR技术,可以检测出一行文本或图片的位置坐标,如果发现切分位置正好处在某行或某张图片中间,则会向上移动到行间空白位置进行切分。
以这种规则处理后的图片宽度同屏幕一致,高度等于或略低于屏幕高度,每一行字和每一张图都是完整的。这种方案巧妙实用,在速度快的同时,还保证了大家的翻译体验。