最近在项目中使用PaddleOCR遇到手写体识别的难题,用PP-OCRv3和v4效果都不是很理想。在PaddleOCR官方代码中有一个训练手写体的案例,里面有一个根据中科院的数据集进行手写体训练。由于数据量过大,我没有尝试去训练,直接用别人训练好的模型测试。但是效果一般,绝大部分手写体都能识别。最要紧的是这个模型对印刷体的识别率变低了。所以我怀疑这个模型的真实性,有没有大佬可以无偿分享下。
方案一
首先想到的是在手写体数据里混入印刷体数据,然后统一进行训练。但是训练太耗时,直接PASS。
方案二
PaddleOCR在图像识别的时候会调用3个模型,分别是det、rec和cls模型。根据这个原理可以训练一个cls模型用来分类手写体和印刷体。然后在识别过程中,对文本区域进行分类。手写体就调用手写体的模型,反之。这部分改动已经基于PaddleOCR2.6进行改动,并且测试成功。
但是问题也随之出现,需要训练两个模型,分类和手写体。而且如果一个文本区域同时存在手写体和印刷体可能会出现意想不到的结果。