OCR 训练记录


【第一次训练】

训练数据:syn

训练数量:51200

在真实数据上测试结果:

字符准确率:67%

word 准确率:5%

【第二次训练】

训练数据:syn + gan

训练数量:syn 51200, gan 51200

是否提前结束:是

结束标志:11个字符平均acc 达到98%

在真实数据上测试结果:

字符准确率:75.3%

word 准确率:14.5%

真实样本总数:124

全部正确数:18

错1-2个数:27

其他:79

【第三次训练】

训练数据:syn + gan

训练数量:syn 51200, gan 51200

是否提前结束:是

结束标志:11个字符平均acc 达到99%

结束时实际迭代次数:4000

结束时acc:

on refine_batch

[ 1.          1.          1.          0.99437499  1.          0.99874997

  0.95687503  1.          0.99624997  0.95937502  1.        ]

on syn_batch

[ 1.          1.          1.          0.99312502  1.          1.

  0.98312497  1.          0.99812502  0.97437501  1.        ]


在真实数据上测试结果:

字符准确率:75.8%

word 准确率:15.3%

真实样本总数:124

全部正确数:19

错1-2个数:28

其他:77

一个初步的判断:平均准确率达到了0.98,但是个别字符达到0.95就截止了,总体准确率没有提升。修改截止阈值为0.999再测一波。如果不行,考虑规范化输入图像明暗亮度,目前gan图的明暗程度比较统一。

【第四次训练】

训练数据:syn + gan

训练数量:syn 51200, gan 51200

是否提前结束:是

结束标志:11个字符平均acc 达到99.9%

结束时实际迭代次数:8300

结束时acc:

on refine_batch

[ 1.          1.          1.          1.          1.          1.

  0.99562502  1.          1.          0.99374998  1.        ]


on syn_batch

[ 1.          1.          1.          0.99937499  1.          1.

  0.99874997  1.          1.          0.995       1.        ]

在真实数据上测试结果:

字符准确率:78.7%

word 准确率:24.19%

真实样本总数:124

全部正确数:30

错1-2个数:23

其他:71

【第5次训练】

在训练4对基础上fine tune。并且执行了直方图匹配

结束标志:11个字符平均acc 达到99.95%

结束时实际迭代次数:1100(不包括训练4之前到迭代次数)

结束时acc:

on refine_batch

[ 1.          1.          1.          1.          1.          1.

  0.99687499  1.          0.99937499  0.99874997  1.        ]

on syn_batch

[ 1.          1.          1.          1.          1.          1.          1.

  1.          1.          0.99687499  1.        ]


在真实数据上测试结果:

字符准确率:84%

word 准确率:33%

真实样本总数:124

全部正确数:41

错1-2个数:36

其他:47


【第6次训练】

使用第4次的训练model,对输入图像进行了直方图匹配,将图像直方图调整到(-0.4,0.8)范围内。

字符准确率:82.7%

word 准确率:29%

真实样本总数:124

全部正确数:36

错1-2个数:34

其他:54

【第七次训练】

对输入层进行BatchNormalization操作(axis = 1)

结束标志:11个字符平均acc 达到99.9%

结束时实际迭代次数:4500

结束时acc:

on refine_batch

[ 1.          1.          1.          1.          1.          1.

  0.99624997  1.          0.99874997  0.995       1.        ]


on syn_batch

[ 1.          1.          1.          1.          1.          1.

  0.99562502  1.          0.99812502  0.99624997  1.        ]


在真实数据上测试结果:

字符准确率:76%

word 准确率:25%

真实样本总数:124

全部正确数:31

错1-2个数:22

其他:71

【第8次训练】

在第7次训练的基础上,识别前,使用hist_norm

在真实数据上测试结果:

字符准确率:87%

word 准确率:53%

真实样本总数:124

全部正确数:66

错1-2个数:17

其他:41

【第8.5次训练】

训练迭代次数:51200

识别前,使用hist_norm

结束时acc:

loss on refine_batch is 

[ 1.          1.          1.          1.          1.          0.99937499

  0.99874997  1.          1.          0.99687499  1.        ]


loss on syn_batch is 

[ 1.          1.          1.          1.          1.          1.          1.

  1.          1.          0.99937499  1.        ]

在真实数据上测试结果:

字符准确率:87.9%

word 准确率:54%

真实样本总数:124

全部正确数:67

错1-2个数:17

其他:40


【第9次训练】

直方图均衡化效果并不好

所以本次实验只把 syn 和 refine 在训练前都拉伸到(-1,1)

对于真实图像,在识别前,也把直方图拉伸到(-1,1)

对输入层进行BatchNormalization操作(axis = 1)

结束标志:11个字符平均acc 达到99.9%

结束时实际迭代次数:5500

结束时acc:

on refine_batch


on syn_batch


在真实数据上测试结果:

字符准确率:83%

word 准确率:33%

真实样本总数:124

全部正确数:42

错1-2个数:35

其他:47

结果没有提升,问题还是在于gan的相似性

【第10次训练】

只针对acc_other中图片做特定的识别,将生成图片进行了纵向拉伸后再训练OCR模型。

在第8.5次实验得到的 acc_other 集合上做验证。

验证字符准确率:71%

count100 is  0

count2 is  9

count_other is  7

【第10.5次训练】

对第10次验证实验得到的 7 张 acc_other 图进行人工剪切,有4张图片识别结果得到了修正,

./cache/kk/20170411_097.jpg

20171414

./cache/kk/20170609_115.jpg

20170609

./cache/kk/20170423_029.jpg

20170403

./cache/kk/20170611_050.jpg

20170411

final char acc is : 0.875

结论,图片识别前的裁剪是影响识别准确的关键因素。需要专门针对裁切,进行优化。

【第11次训练】

对syn 图进行了拉伸& 压缩处理

结束标志:11个字符平均acc 达到99.9%

结束时实际迭代次数:13000

结束时acc:

loss on syn_batch is 

[ 1.          1.          1.          1.          1.          1.

  0.99937499  1.          1.          1.          1.        ]

loss on refine_batch is 

[ 1.          1.          1.          0.99874997  1.          0.99937499

  0.9975      1.          0.99874997  0.9975      1.        ]


在真实数据上测试结果:

字符准确率:93%

word 准确率:69%

真实样本总数:124

全部正确数:86

错1-2个数:31

其他:7

错的7个全是20161203那个渣图,这个图暂时放弃吧。

接下来的方向,研究发票代码和发票号码,然后考虑整合。

【第12次训练】

在11次的基础上增量训练

结束标志:11个字符平均acc 达到99.95%

结束时实际迭代次数:4300()

结束时acc:

loss on syn_batch is 

[ 1.          1.          1.          1.          1.          1.          1.

  1.          1.          0.99937499  1.        ]

loss on refine_batch is 

[ 1.          1.          1.          0.99937499  1.          1.

  0.99812502  1.          0.99937499  0.99937499  1.        ]

training is finish, and final iteration is  4300

在真实数据上测试结果:

字符准确率:94.6%

word 准确率:72%

真实样本总数:124

全部正确数:90

错1-2个数:28

其他:6

需要解决 acc2 中的问题,只错1-2个,为什么就不能全对呢?差在哪里??

【第12.1次训练】

在第12次第基础上,试图将网络 acc  训练到极致

结束标志:11个字符平均acc 达到99.97%

在真实数据上测试结果:

字符准确率:94.7%

word 准确率:72.5%

真实样本总数:124

全部正确数:90

错1-2个数:28

其他:6

同样 需要解决 acc2 中的问题,只错1-2个,为什么就不能全对呢?差在哪里??

从这个结果看,应该考虑增加图片拉伸压缩多样性的问题了。

【第12.2次训练】

在第12.1次第基础上,试图将网络 acc  训练到极致

结束标志:迭代51200

在真实数据上测试结果:

字符准确率:94.7%

word 准确率:73.3%

真实样本总数:124

全部正确数:91

错1-2个数:28

其他:5

同样 需要解决 acc2 中的问题,只错1-2个,为什么就不能全对呢?差在哪里??

从这个结果看,应该考虑增加图片拉伸压缩多样性的问题了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值