-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
给定的SRNET-datagen skeletonize.py中,生成的t_sk效果很差 #11
Comments
您好,我也一直在想办法提高t_sk的生成质量,我是用在线生成数据训练的,就是在生成每一个batch的数据后,对经过resize的图片生成t_sk,这样就不需要将t_sk进行resize造成损失。 我发现如果字体边界能更清晰一些(渲染的字号调大、透视变换调小,增大字符间距离),t_sk的生成质量能得到一定提高,而Synthtext源码中在用freetype渲染字符的时候是逐字符渲染的,就造成了很多字符粘连,因此导致t_sk质量变差,可以将SRNet-datagen项目中Synthtext/render_text_mask.py中的render_normal和render_curved函数修改为整个单词进行渲染,拉大字符间距离,会得到一些改善。我会在之后抽时间不断调整,达到较好效果并更新项目。 我在训练的时候d_loss基本稳定在1-3之间,g_loss在最开始的时候是40左右,但很快降到18以下,最终在10-15之间震荡,没有遇到g_loss比d_loss多70倍的情况,您可以打开自动生成的结果图看看是不是完全没学到? |
我改成了在线生成t_sk, 但是一个batch消耗的时间巨大,相比原来一轮20s,现在可能要160s的样子。 |
字体文件我是从windows系统抓出来的ttf,背景图片一部分是用的dtd纹理数据集,这个可以下载到,还有就是公司内部的数据,这部分数据不方便提供出来,建议从dtd中挑选一些比较干净的背景图片,或者从一些公开ocr数据集中提取无文字的部分先做一些简单的实验。 |
好的谢谢您,然后我自己训练的过程中进行测试,发现生成的t_sk效果非常差,与给定的i_sk相差太多,可以说没有学习到骨架信息。根据您训练好的model文件我进行inference的时候,生成的t_sk和i_sk也差的非常多,t_sk大部分还是一团白色,完全没有办法看出文字的骨架,请问这部分问题您有解决吗? |
我输出的o_sk和o_t也是比较差,但是o_f的输出问题不大,我不清楚是因为t_sk数据生成质量的问题还是模型本身的问题,原论文中作者也没有给出这两个中间结果的demo。我之前单独训练了一个t_sk的模型也是学不到,所以猜想这部分只是对模型有一个指导作用,不过我觉得可以在优化t_sk的质量后看看效果。 |
最终训练的结果d_loss,只能到1.4左右,g_loss在12左右,请问您的最终训练结果也是这样的吗 |
是的,d_loss是判别器loss,生成器效果好了,判别器自然分不清图像是生成的还是真实的,g_loss我最终是在10-15之间。 |
但是,测试效果出来会发现,文本的内容会有损失,效果并不是特别好,是不是因为g_loss还是太高了的原因 |
我这里有时也会出现一些字符变化的badcase,可能是数据问题也可能是模型还没有调到最佳状态,我的g_loss最终是在10-15,下不去10,效果还可以但是badcase也不少,我怀疑数据上还存在一些问题尤其是t_sk的生成,我打算优化一下数据生成,不给那么多复杂的变换,先让模型学习一下简单些的试试。 |
你好,请问你是如何解决SRNnet-datagen的bug: |
为啥我训练的结果也在10-15,但是只有背景提取出来了,字体完全出不来,怎么回事 |
您好,我想在自己的数据上自己训练一版SRNet,但是在给定的skeletonize.py文件中生成的t_sk效果很差,这样的数据送进去训练导致gan部分G的loss是D的loss的数十倍,想问您当时用给定的skeletonize.py生成的t_sk下,训练的时候有遇到这样的loss情况吗,在训练了37万轮后基本不收敛,还是维持这样的G loss比D loss为70多的比例
The text was updated successfully, but these errors were encountered: