csguoh / LEMMA

[IJCAI2023] An official implement of the paper "Towards Robust Scene Text Image Super-resolution via Explicit Location Enhancement"
Apache License 2.0
50 stars 5 forks source link

关于test_model的问题 #14

Closed 02w20 closed 3 months ago

02w20 commented 5 months ago

你好!我目前也在做文本图像这类任务,遇到个问题想请教一下。 我在你的log文件中发现,训练时是用CRNN作为test model,然后等训练结束后直接将CRNN换为MORAN、ASTER等,用同一参数进行测试。但同样方法在用到我自己的模型时,我发现训练时CRNN的准确率在easy、medium和hard三个难度的数据集均有提升,但测试时替换掉test model,发现在MORAN和ASTER上的准确率表现并不好。想请教一下这可能会是什么原因呢? 非常感谢!

csguoh commented 5 months ago

Thanks for your question.

As my understanding, your STISR model may have preference to the CRNN recognizer, or the super-resolved text image is still blur, which makes it hard to gain consist conclusion for a specific setting.

You can check the visualization results. In addition, we use CRNN for validation because of the fast inference, if switching to other recognizer is helpful, you can change the text recognizer for validation.

02w20 commented 5 months ago

Thank you for your prompt reply! I will go check the visualization results

I have a small question. If I use three test models: CRNN, ASTER, and MORAN for validation and train them three times independently, is this considered cheating?

csguoh commented 5 months ago

The performance is evaluated on the same STISR model, using three text recognizers.

02w20 commented 4 months ago

很感谢您的及时回复!前面的问题我已经解决了。

我看到您的论文中有用到场景文本识别的数据集(CUTE80, IC15等)去验证模型的鲁棒性,请问表五的数据是在test model选哪个的时候测得的呢?希望可以得到回复,谢谢

02w20 commented 4 months ago

很感谢您的及时回复!前面的问题我已经解决了。

我看到您的论文中有用到场景文本识别的数据集(CUTE80, IC15等)去验证模型的鲁棒性,请问表五的数据是在test model选哪个的时候测得的呢?希望可以得到回复,谢谢

而且我想请教一下您对数据集有没有进行处理?我用CRNN作为test model去测试在text zoom训练集上训练好的模型,当测试数据集为SVTP(用您给的链接下载的)时,达到了63%,我觉得我一定是哪里弄错了。

csguoh commented 4 months ago

你好,在场景文本识别数据集上的实验我们直接使用在TextZoom上训练好的模型来测试 我们对数据集做了人工退化,因为我们本身做的是低质量文本图像的超分辨率任务,所以不能直接拿文本识别数据集的原始高质量图片来做测试的。 希望我的回复有帮到你;)

02w20 commented 4 months ago

我在dataset.py的class lmdbDataset_real中看到诸如 if self.manmade_degrade:img_lr = degradation(img_HR)的代码,请问是加载普通的文本识别数据集,但将manmade_degrade改为true达到做人工退化的效果吗?

csguoh commented 4 months ago

嗯嗯是这样的

02w20 commented 4 months ago

您好!我对于产生文本先验的模块有些疑问。 首先,我注意到在您的代码base.py的def ABINet_init中,是将ABINet切换到了验证模式,然后一直沿用下载的预训练参数。这一点是和之前TATT等其他的模型不一样的(他们是先加载预训练模型,然后在训练中不断保存最佳的recognizer参数,不断更新的。)这里我想确认一下我的理解是正确的吗?

其次,在上述的我的理解正确的前提下,我想请教一下这么做的原因是什么?是通过实验证明这样做会更有效吗?还是有其他的原因?因为我在其他模型中用ABINet替换掉CRNN结果反而会更差,我有点困惑。

希望可以得到回答,十分感谢!

csguoh commented 4 months ago

您好, ABINet在训练过程中也是可更新参数的,这一点您可以再验证一下。我们在这个工作中使用ABINet的原因是因为该模型是基于Attention的模型,可以为我们的LEMMA提供注意力图从而完成字符位置增强。如果ABINet效果不好的话,有可能是由于您这边的任务图像退化过于严重,导致生成的注意力图的质量较低造成的。