AstarLight / Lets_OCR

A repository for OCR, which inlcudes some classical OCR algorithms Pytorch implementation such as CTPN, EAST and CRNN.
MIT License
656 stars 327 forks source link

相同文字的不同图片识别问题 #37

Open rookie-hui opened 5 years ago

rookie-hui commented 5 years ago

感谢作者的分享,我在识别的时候发现一个很奇怪的问题,同一个文字,图片的大小不一样,识别效果居然会不一样。 效果如下: demo2 另外,我修改了这个图片里面蓝色框内的文件的名字,因为不修改运行时会报错。

这里面demo5的大小280和32,test的大小491和76。 下面是俩个图片的原图: demo5 test

希望作者能解答一下,谢谢

moyemoji commented 5 years ago

感谢作者的分享,我在识别的时候发现一个很奇怪的问题,同一个文字,图片的大小不一样,识别效果居然会不一样。 效果如下: demo2 另外,我修改了这个图片里面蓝色框内的文件的名字,因为不修改运行时会报错。

这里面demo5的大小280和32,test的大小491和76。 下面是俩个图片的原图: demo5 test

希望作者能解答一下,谢谢

你好,请问你的CRNN训练了几个epoch,训练了多久时间呢?

AstarLight commented 5 years ago

图像被送入模型前会被resize,可以看看resize之后的图像变化

AstarLight commented 5 years ago

4个epoch,1天

rookie-hui commented 5 years ago

图像被送入模型前会被resize,可以看看resize之后的图像变化

感谢作者的回复,我是否可以简单理解为因为我那个test.png旁边有留白,导致resize之后,识别起来会不准确么?我不太清楚代码里面的resize之后是怎么处理了,我去掉了留白,手动resize了一下,发现下面这个情况: test 上面这个图片test.png(193x64),识别失败,但是resize之后的test1.png(60x32), 却可以识别成功,是因为resize的大小的问题么?作者你代码里面resize后的大小是固定的么,如果我一行有非常多(少)的文字,是不是会偏小(大)呢?这个对最后的识别是否有影响呢?

ps:我试着去修改你的代码里面的Config里面的img_height和img_width和infer_img_w,发现识别效果变得更差。。。请问如果我想测试一下原图的识别效果需要怎么去改数据呢?(让代码里面的w和h改成我图片的w和h)

zhangdaxia1 commented 5 years ago

图像被送入模型前会被resize,可以看看resize之后的图像变化

感谢作者的回复,我是否可以简单理解为因为我那个test.png旁边有留白,导致resize之后,识别起来会不准确么?我不太清楚代码里面的resize之后是怎么处理了,我去掉了留白,手动resize了一下,发现下面这个情况: test 上面这个图片test.png(193x64),识别失败,但是resize之后的test1.png(60x32), 却可以识别成功,是因为resize的大小的问题么?作者你代码里面resize后的大小是固定的么,如果我一行有非常多(少)的文字,是不是会偏小(大)呢?这个对最后的识别是否有影响呢?

ps:我试着去修改你的代码里面的Config里面的img_height和img_width和infer_img_w,发现识别效果变得更差。。。请问如果我想测试一下原图的识别效果需要怎么去改数据呢?(让代码里面的w和h改成我图片的w和h)

请问您找到解决方法了么?我觉得原因就是作者的训练图片均为固定高度32像素所以原图为高度32像素的才能比较好的识别,而你原图是高度60,76的那些图按照高度等比例resize以后会变形,所以需要手动设置一个合适的宽度,请问这如何进行解决呢?