美文网首页Artificial Intelligence
应用示例:图像文字识别

应用示例:图像文字识别

作者: SmallRookie | 来源:发表于2017-12-02 10:20 被阅读145次
    Problem Description and Pipeline

    在图像文字识别应用中,我们希望从给定的图片中识别图中的文字,如:

    为了实现图像文字识别,常采取如下步骤:

    • 文字检测(text detection)
    • 字符切割(character segmentation)
    • 字符分类(character classification)
    滑动窗口(Sliding Windows)

    滑动窗口是一项用来从图像中抽取对象的技术。

    滑动窗口技术也被用于文字识别,首先训练模型能够区分字符与非字符,然后运用滑动窗口技术识别字符,一旦完成了字符的识别,我们将识别出的区域进行扩展,然后将重叠区域合并。

    第一步为文本检测:

    下一步为字符切割:

    最后一步为字符分类,利用神经网络、支持向量机或逻辑回归训练分类器即可。

    Getting Lots of Data and Artificial Data

    如果我们的模型出现欠拟合问题,那么利用更多的数据训练模型是能得到更好的效果。然而,我们如何获取数据呢?

    以文字识别为例,我们可以从字体网站上下载各种字体,然后利用这些不同的字体配上各种不同的随机背景图片,人为地构建训练数据。

    另一种方法为,利用已有的数据对其进行修改,如:扭曲、旋转和模糊处理等。

    获得更多数据的几种常用方法为:

    • 人工数据合成
    • 手动收集、标记数据
    • 众包
    Ceiling Analysis:What Part of the Pipeline to Work on Next

    在机器学习的应用中,我们通常需要通过几个步骤才能进行最终的预测,那么我们如何能够知道那一部分最值得我们花时间和精力去优化呢?因此,我们引入上线分析法。

    我们仍以文字识别为例,其流程图如下:

    现假设文字识别的正确率为72%,如果我们令文本检测(Text detection)部分的正确率为100%,则发现整个模型的正确率提升至89%;如果我们令字符切割(Character segmentation)部分的正确率为100%,则发现整个模型的正确率提升至73%;如果我们令字符识别(Character recognition)部分的正确率为100%,则发现整个模型的正确率提升至82%。

    从中我们可以得出结论,优化文本检测和字符识别对整个模型的正确率提升较大,这两部分是值得我们花费时间和精力优化的。


    一些测试题:


    Coursera版Andrew NG的机器学习课程到此结束,课程编程练习源码及相关资料,可访问本人的Github。最后,感谢Ryan Cheung以及其它乐于分享的网友!

    相关文章

      网友评论

        本文标题:应用示例:图像文字识别

        本文链接:https://www.haomeiwen.com/subject/kbdgvxtx.html