zoukankan      html  css  js  c++  java
  • 西夏文检测实录

    背景:最近一直在准备公务员考试和光伏发电数据分析,今天抽出空来做一下西夏文的识别工作。

    首先大量了解西夏文识别的研究进展,主要是:

    (1)以柳长青为团体的研究者,他们的识别只是单字的识别,就是通过对图像做特征处理,然后做欧式距离,实际上就是图到图的检索,在现有语料库(汉字-西夏文图像)基础上,对西夏文图像进行图到图的匹配,进而得到单字西夏文图片对应的汉字,但我觉得这种方法缺陷就是效率问题,一个单字西夏文图片去和语料库中做相似度计算??,显然效率很低,正如我的猜想,柳长青的论文中实验数据只有很少一部分西夏字,大概200多字,这种方法取均值的准确率达到了80以上,但是短板也很明显。

    (2)西夏文處理系統 | 古今文字集成 (ccamc.co) 这个网站也是给出了翻译,视频中是输入西夏文来检索汉字,但是目前我还没有解决西夏文在浏览器和代码编辑器显示的问题,今天也是研究了ttf文件的内部结构,还没有解决西夏文在编辑器和浏览器运作的问题。

    我的思路:

    首先柳长青对单字图像做特征处理,然后计算该图像与语料库中单字图像的相似度,是可行的,实际上也可以做深度学习的图到图的匹配,所以目前可以采用将整个文本卷书,进行文本检测,提取出单字的图像区域,然后采用柳长青的思路走下去,通过单字的检索来完成整个文本卷书的识别。

    图像去噪处理

     通过实验,去噪对文本检测的影响较大,好的去噪决定了文本检测的精度,所以对比了经典方法的去噪方法,如下所示。

    原始图像

    均值滤波去噪                                                                                                        中值滤波去噪

                             

    高斯滤波去噪                                                                                             非局部平均去噪

                                       

                   非局部平均去噪参数优化

     templateWindowSize = 7                                                                            templateWindowSize = 3

              

    小波变化去噪 二维一级分解

     

     实际上,但从肉眼看,非局部平均去噪是效果最好的,实际上肯定的,NL-means把空间域和变换域的降噪方法结合起来,在对图像进行降噪处理,由于传统空间域和变换域的降噪方法,实际上传统方法中最优的是BM3D,但是目前我还没实现代码,所以没有去做这个。

    实际上,深度学习在图像降噪也是早有研究,下一步就计划做深度学习的图像降噪,基于自编码器的图像降噪。

    对于深度学习图像降噪需要大量数据集,通过自己生成中文数据集,然后加入噪声,来训练我们的自编码器降噪模型,然后通过迁移学习,应用到西夏文图像降噪处理。

    基于CRAFT文本检测模型:

    文本检测也是采用迁移学习,将预训练在中文数据集上表现不错的模型拿来,做西夏文检测

    具体采用CRAFT,出自2019年的cvpr,目前的检测效果如下

     又经过了一下午的实验,优化了检测模型,效果如下:

     可以看到,效果已经非常好,完全满足了分割需求,我们通过检测输出的坐标对文本进行分割,

     分割效果如上,可以看到202个西夏文没有出现一个错误,基本可以应用该方法

    基于图匹配的西夏文识别

     在前面的工作中,我们已经完成了西夏文的单字分割,实际上我们已经有了西夏文语料库,在语料库中我们的数据存储形式是,单字的西夏文图片对应中文汉字,所以说:

    (1)我们已经完成了整页西夏文->单字西夏文的分割

    (2)语料库中 存有 单字西夏文图片->汉字

    (3)我们只需要做图到图的匹配,即可完成最后的西夏文识别,也就是将整页分割后的单字西夏文图片与语料库中的单字西夏文图片进行图匹配,找到相似度最大的即可完成识别。

    (4)图匹配的算法可以借鉴柳长青的思路,或者采用深度学习方法,对比选择最好的,完成最后的识别工作。

  • 相关阅读:
    反馈更多的信息,让别人感到舒服。
    Centos 安装Redis
    CentOS用yum安装MySQL 8.0 .
    MySQL事务。
    Java垃圾回收。
    类加载机制与类加载器。
    Java内存模型。
    844--Backspace String Compare
    maven的配置及基本操作
    idea基本使用
  • 原文地址:https://www.cnblogs.com/spx88/p/15142204.html
Copyright © 2011-2022 走看看