把手机拍在试卷上,然后等几秒钟,这个问题的答案就出来了。我上中学的时候,从来没有想过过几年的时间,学生就能用上这样的“神器”,但是现在这样的产品开始一个接一个的出现。
如果你之前使用过像PhotoMath或者小猿搜题这样的产优艾设计网_设计百科品,你会发现它们有一个共同点:都很好用,用户只需要给软件拍一张照片就可以返回问题的答案。但是这个简单的过程背后,你知道原理是什么吗?
从技术上讲,这类软件主要有两种方案:“用图片搜索图片”和“OCR文字搜索”。
从上面的流程图可以看出,图片的收集方式是将用户拍摄的图片与现有的图片题库进行匹配。这非常类似于通过上传图片在搜索引擎中找到相似的图片。只有在图像匹配的过程中,有两种方式可供选择:“计算机视觉机器学习”和“深度学习”。
与“用图片搜索图片”的方法相比,“OCR文本搜索”的方法更加复杂。用户拍照后,软件首先需要识别其中的字符,然后在题库中搜索得到结果。与上述图片匹配过程类似,字符识别过程中有两种技术方案可供选择:“传统OCR”和“深度学习”。
虽然这两个过程看起来简单易懂,但电脑在幕后要做的事情远比这些复杂。就像PingWest在播放前引入的PhotoMath一样,每个处理过程都要经过图像输入、预处理、校正、去噪等几个阶段。然而,猿类搜索问题的正常“做题”过程至少要经过五个步骤:预处理、分割、识别、搜索和辅助策略。
软件在接收手机拍摄的图片时,首先要做异常检测,比如图片是否模糊,图片是否需要旋转等等。在这个过程之后,进行“二值化”和“字符和公式的分割”。
对字符和公式进行切分
经过“二值化”后,整个图像会呈现出明显的黑白效果。结果,图像变得简单,数据量也减少,并且可以突出感兴趣对象的轮廓。自然,单个字符可以被剪切掉。
把字符剪下来后,软件还是不能“识别”出是什么字符,所以下一步就是“识别”这些字符。此时需要光学字符识别技术(OCR)和深度学习技术。
在“识别”过程中,PhotoMath主要采用OCR技术,而Ape搜索主要采用深度学习技术。然而,由于这两种方法不能保证100%正确识别,可能需要在中间插入一个纠错过程。形态非常相似的字符机,比如“1和L”、“图中好图”、“人和”,也容易读错。这时,就需要用语言模型来纠正错误。
由于PhotoMath的功能比较简单,——只能做简单的数学计算,所以在“识别”过程完成后才开始做题。但是,由于ape在搜题时要考虑各种主题,所以在“识别”后还要在题库中搜索相应的问题。在这个过程中,计算机需要使用搜索过程中所需的技术,如分词和排序。
所以,你看,虽然这些软件可以在几秒钟内给你一个问题的答案,但中间的整个过程其实挺麻烦的,而且使用的技术也很广泛。另外需要注意的是,即使使用了这么多先进的技术,这些软件也不能保证100%正确的答案。
不过对于学生来说,大家也不要太过担心,因为深度学习的识别极限目前和人眼差不多,未来深度学习肯定会比人眼更强大。也就是说,再过几年,今天的中学生可能又会深有感触:为什么我上学的时候没有这个神器?
精彩评论