美文网首页自然语言处理 (让机器更懂你)
NLP 之 自然场景 文字识别 1 Scene text rec

NLP 之 自然场景 文字识别 1 Scene text rec

作者: 涛涛江水向坡流 | 来源:发表于2018-07-07 15:44 被阅读20次

    初来 咋到, 很多坑需要自己一个一个过。 就比如数据预处理, 我谷歌了好半天 也没找到现成的轮子, 只好自己写一个了。

    参考的论文是An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition.

    数据集下载

    这个论文里面有 用ICDAR 2003 数据集的测试, 也就是今天的博客的主要内容了。

    论文中介绍了有251 scene text images, 严谨的我就来数一数

    youngt_05.08.2002 文件夹, 113 个

    ryoungt_13.08.2002 文件夹, 134 个

    sml_01.08.2002 文件夹, 4个

    这样加起来还真是。数据集下载的地方 就是这里啦

    http://www.iapr-tc11.org/mediawiki/index.php/ICDAR_2003_Robust_Reading_Competitions

    选择 Robust Reading and Text Locating 下载

    举个例子,  图片都是这样的。

    数据集预处理

    这个时候就需要看看那个word.xml文件了, 随便截个图, 观察一下画风

    这画风 让学数字电路的我虎躯一阵,决定去谷歌, 看看有没有现成的代码, 可惜谷歌了好久 并没有。 于是乎决定自己写。

    这个XML 文件的格式还是很清楚的, imageName 就是文件的路径, 下面的x , y, height, width 就是文字的所在地。  那个 tag 标签 就是对应的 文字内容, 知道了这些 还是觉得自己手写很麻烦, 又去谷歌了。

    这个时候发现了强大的xml python package,

    这包的具体使用 可以参考如下链接,

    https://www.mkyong.com/python/python-read-xml-file-dom-example/

    我这个上面的简单代码, 就是用来确认 我能读到 需要的内容, 比如 路径什么的。

    接下来我写了两个函数 一个是 isalphanumeric, 一个是inser_split,  这个函数isalphanumeric

    主要是用来判断 这个字体内容是不是 数字+字母, 不是就返回false. inser_split 这个呢就是插入 | 用来分开各个字母, 截图如下啦。

    接下来就是 crop image and save it

    这个写的有点乱, 主要的目的就是用OPENCV 把上面words.xml 指定位置上的文字截图下来, 然后保存到一个文件里, 我这个 就是把所有的裁剪后的图片保存到./crop/里, 根据cv2.imwrite 这个函数 写进去。

    这个函数还比较简单, 就是读image 在image2里, 我设置image2 是为了快速debug 遍历一部分图片 , 省着遍历所有图片。

    抓image name, 名字通过firstChild.data 得到

    抓taggedRectangels,  和taggedRectangle 这两个loop,

    然后就是截图 crop, cnt, total_Cnt 的目的主要是为了 确认总数是否正确。 截图 crop image 这个函数

    最后又写了csv 文件, 按照  /full/path/to/image2 这个格式写的, 参考注释

    这里边有个continue , 主要是论文里说, Ignore images that either contain non-alphanumeric charachters or have less than 3 characters.

    图片crop 完了,图片名字格式 就是内容_编号, 效果不错。

    写到这里, 数了下截图的个数, 860 cropped images, looks great. 

    相关文章

      网友评论

        本文标题:NLP 之 自然场景 文字识别 1 Scene text rec

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