zoukankan      html  css  js  c++  java
  • 关于PGM在OCR方面的应用

    本文仅仅是一个简单的PGM在OCR方面的应用的实践。

    仅此记录下来实现的思路。

    OCR(Optical Character Recognition)即是将手写的文字用计算机自动的识别出来,然后输送到计算机里。

    OCR目前仍然没有完全成功的产品。但是不论OCR再进行优化,他的基本思路都是相同的。

    在此,我仅仅使用到了两个比较通用的OCR方面的优化方法进行说明。

    首先最基本的,就是直接通过采集到的手写体问题图片进行识别,我们假定前后的letters之间没有任何的关联。

    使用softmax,DL或者任何一种你认为可行的分类算法都可以,这个分类算法的目的就是根据拿到的图片信息给单词表中的

    每一个备选letters进行打分(score),可能性高的letter的分高,反之则分低。

    当然我们的假设是错误的,因为不论是在英文单词里还是在这世界上的任何一种语言,letters之间肯定是相关的,而且有些letters

    本来外形就十分的相似,如果仅仅是建立letters之间不相关的模型进行OCR恐怕识别率不会很高。

    鉴于此,对模型进行了优化,建立了一个markov network,这里假定了相邻的letters之间是有关联的,然后我们建立一个表,

    列出各种letters同时出现的概率的大小。

    由于仅仅相邻两个letters的约束不够强,于是再多加一个联系,引入三个letters同时出现的score

    有了基本思路和模型就可以来实现啦!

    在实现的时候用到了python的一个开源库:pgmpy  http://pgmpy.org/

    具体安装和使用文档在他们的官网上都有,真的挺好用。

    下面附上我实现的repo地址:

    https://gitcafe.com/NeighborhoodGuo/OCR_based_on_PGM

    如果有朋友发现不足的地方欢迎指正!

  • 相关阅读:
    如何编写自己的Linux安全检查脚本?
    ubuntu桌面版打开终端Terminal的几种方法
    Docker 学习笔记(CentOS 7.1)
    发送验证码倒计时
    在Thinkphp中使用AJAX实现无刷新分页
    php加密解密
    浏览器用户用滤镜实现网页的翻转效果
    PHP定时执行任务的实现
    PHP GBK UTF8互转
    在php4下可用,简单的php数组转成json格式,
  • 原文地址:https://www.cnblogs.com/NeighborhoodGuo/p/4824618.html
Copyright © 2011-2022 走看看