zhiqwang / sightseq

Computer vision tools for fairseq, containing PyTorch implementation of text recognition and object detection
MIT License
125 stars 34 forks source link

中文识别率不高问题 #14

Closed peiji1981 closed 5 years ago

peiji1981 commented 5 years ago

请问下,我这边数字识别精度挺好的,中文识别率为何这么低,而且我的字典里就19个特定的中文字,图片像素也调过,训练数据也产生了1000多w的,是否需要调节模型一些参数?还是crnn里尝试blstm?

zhiqwang commented 5 years ago

数据和现在训练使用的模型参数大概是什么?

peiji1981 commented 5 years ago

densenet121,其他参数基本默认,loss可以下去,但valid data不好,数据的话是一条条中文大写金额

zhiqwang commented 5 years ago

先把模型换成 densenet_cifar 试一下呢, densenet_cifar 把图片放缩 1/4,densenet121 放缩 1/8。1/8 有时候放缩得太严重了。

peiji1981 commented 5 years ago

好的,我想再问下,空格是无需打上label吧?

zhiqwang commented 5 years ago

不需要

zhiqwang commented 5 years ago

BTW, --height, --width 也要和训练使用的图片保持比例

peiji1981 commented 5 years ago

thx, 这个之前注意到了,现在在trainning过程中,validation acc就不高 ,真实数据train 2000多张,test200张,densenet121 最好的一次是acc 23%。场景下的训练,不知道大概需要多少量的训练数据

zhiqwang commented 5 years ago

先换成 densenet_cifar 跑一下。如果 validate 的数据和 train 的差距不大,2000 张感觉也够用训练,transformer 的 mean, std 这个需要改一下

peiji1981 commented 5 years ago

我之前在你代码基础上加入了多gpu模式可以了,transformer 的 mean, std 是需要做什么样的修改?

zhiqwang commented 5 years ago

使用 train 的数据的 meanstd,小数据集这个还挺关键的. 多 gpu 模式欢迎提 pull request

peiji1981 commented 5 years ago

不好意思,可能初学不是特别明白,transform 的 mean 和 std 统计的是什么?

zhiqwang commented 5 years ago

我描述可能不太清楚。是使用的图片的均值和方差, 在 main.py 的这 两行. 图片送进网络模型的时候先经过 transformer 这一步。

可以参考 script 计算均值和方差.

peiji1981 commented 5 years ago

代码位置我看到了,参考代码也看了下,可以简单理解为 图片像素的均值和方差吗? 然后现在main中的的mean 和std 是加载 模型自带的值吗

zhiqwang commented 5 years ago

是的, crnn.py 里面我写了我自己一个数据的 meanstd

peiji1981 commented 5 years ago

嗯,在前面做下归一化,图像预处理部分。如果target 的像素分布和source 相似的话,是有用额

peiji1981 commented 5 years ago

您这边能否share一个比较好的 图片数据增广的code, 我之前是用了text_render文本生成图片,我还想找适合crnn训练用的, 能给定一个图片,然后通过各种变化生成新图的,传统的图像方法的code,非DCGAN

zhiqwang commented 5 years ago

我用过这个 https://github.com/mdbloice/Augmentor 这个没用过 https://github.com/aleju/imgaug 但看起来还不错

peiji1981 commented 5 years ago

Augmentor这个不错,就是没有色彩、对比度这种的变换 第二个用起来比较重

zhiqwang commented 5 years ago

@peiji1981 不知道你那边结果怎么样?

CTCLoss 官方现在建议更新最新的 pytorch,CTCLoss 实现有 bug, 讨论在 pytorch/pytorch#21392

peiji1981 commented 5 years ago

造了点数据有一定提升,嗯 我更新下CTCLOSS