寻求训练检测模型时的优化建议(行驶证场景)
收藏
场景:
行驶证正面
问题:
db模型训练的精度已经达到了hmean: 0.9908009135992529, precision: 0.988941508388332, recall: 0.9926673240789906
但在检测的结果里,短文本的检测框和长文本的检测框,框的大小难以紧密程度难以达成一致,下面3张图是调试了3种unclip_ratio的结果:
unclip_ratio=1.6的时候,短文本的框很棒!(长文本GG
unclip_ratio=3的时候,长文本的框很棒!(短文本GG
unclip_ratio=2.3的时候,,你可能会说“哎呀这不是差不多可以了嘛”......对于短文本来说蛮过得去,但如果是以像是字符'P'为结尾的长文本,在识别时会识别成'F'....(因为截断了)
回到正题!想问的是,有没有啥手段能让 短文本的检测框和长文本的检测框的紧密程度一致。求大佬的帮助!!!
ps.
1.其他的DBPostProcess都调过了木用
2.在做标注时,短文本和长文本的框都是相对紧贴的
0
收藏
请登录后评论
我吹响号角,帮你呼唤一个大佬过来
@ ioracion
你好,这个发现很好玩啊,之前倒没注意这个现象;
我刚才可视化发布的中文模型,看了下结果,发现短文本的检测框太大不是一个普遍现象,大多数框都是比较紧致的(unclip_ratio=1.6)
- 训练出来保存的模型应该有多个,可以试试其他epoch的模型,可视化看看是不是也有这个现象
- 在unlcip_ratio 2.3 到3 之间找一个中间值,是否能得到比较合适的结果
- 或者设置比较小的unclip_ratio,设置后处理参数use_dilation为True(对分割的map做膨胀)
另外,问下,你训练的时候用的unclip_ratio是多少?
感谢大佬回复QAQ
1.我也试了下发布的(中英文通用PP-OCR server)模型,用同样的参数文件,发现就没有我这个问题...框都很贴合文字
2.看epoch模型的效果可能是个突破口!我重新训练看看(之前只留了best和latest模型)
3.unlcip_ratio 2.3 到3 之间都试过了,都是短文本的框太大了- -
4.试了下use_dilation,设置为False的时候,短文本的框相对会更小些(跟设置为True的时候相比)
5.这个模型训练用的unclip_ratio是2.4(然后昨天昨天又试了下用unclip_ratio=1.6来训练,对比上面3种不同unclip_ratio的结果,发现结果差不多,指标差不了多少,感觉是其他因素导致框不紧致的问题...
其他信息补充:
1.训练时用的paddleocr版本是2.0.4
2.这个模型训练的数据是多种场景混合的(包括其他证件像是身份证、驾驶证、少量车牌等),怀疑是不是场景太杂导致的,于是只保留了行驶证正面的照片(1000张)来训练,最后发现还是存在这样的问题
3.怀疑是不是图片大小差太多导致的,剔除了很小很模糊的图片,对很大的图片做了缩放,现在文件的大小在[94KB,650KB]之间,唯一觉得处理不好的地方是,没有做等比缩放。。处理的逻辑是这样:(导致缩放别扭的检测跟识别效果都很差- -)
4.附上训练用的参数
更新不同epoch的结果,到epoch16的时候指标感觉很不错了,但还是同样的问题。16跟15相比的话,会发现15的长文本框刚刚好、段文本框太大,到16后,短文本框虽然小了,但长文本框也小了...
best metric, hmean: 0.9821138986931223, precision: 0.9709072048283667, recall: 0.993582320015441, fps: 22.424835840399837, best_epoch: 16
你好,问下你这个行驶证数据集是私有的还是哪里下载的公共的。
大佬,这个整完了吗? 行驶证的私有化部署,使用cpu的可行吗,有偿