Sierkinhane / CRNN_Chinese_Characters_Rec

(CRNN) Chinese Characters Recognition.
1.81k stars 537 forks source link

found bug in demo.py #270

Closed ygfrancois closed 3 years ago

ygfrancois commented 3 years ago

img = cv2.resize(img, (0, 0), fx=config.MODEL.IMAGE_SIZE.H / h, fy=config.MODEL.IMAGE_SIZE.H / h, interpolation=cv2.INTER_CUBIC)

应该是 fx=config.MODEL.IMAGE_SIZE.W / w

chichuhu commented 3 years ago

不是,原代码在训练的时候长宽缩放到固定宽高是为了减少内存消耗,可以不这样放缩。 测试的时候只需要把高度调整到32,宽度要按照高度缩放的比例缩放,不然文字会产生形变,识别效果会变差,所以代码中这样写是没错的,你要是想提高泛化能力在训练的时候也可以这样放缩。

ygfrancois commented 3 years ago

不是,原代码在训练的时候长宽缩放到固定宽高是为了减少内存消耗,可以不这样放缩。 测试的时候只需要把高度调整到32,宽度要按照高度缩放的比例缩放,不然文字会产生形变,识别效果会变差,所以代码中这样写是没错的,你要是想提高泛化能力在训练的时候也可以这样放缩。

明白你意思了,谢谢回复。 主要是,训练的时候做了形变,测试时候也做形变,对于模型来说才是见过的数据吧?特别是针对特定场景,文字长度比较固定的化,如果这样训练和测试,识别率会非常低。 我尝试下训练时候不缩放到固定宽度,看看内存的消耗~ 多谢多谢