互联网资讯 / 人工智能 · 2023年10月27日 0

超轻量中英文OCR模型开源,支持全流程训练与部署

在日常生活中,光学字符识别(OCR)技术是最为普及和便捷的人工智能应用之一。

无论是在办理各类业务时进行身份证识别,还是在自动驾驶汽车中进行路牌识别,OCR技术都发挥着重要作用。

作为开发者,OCR相关的需求也是层出不穷,包括卡证识别、票据识别、汽车场景识别以及教育场景的文字识别等。

那么,这款仅8.6M的模型,甚至在没有GPU的情况下也能稳定运行,并且提供从自定义训练到多种硬件部署的完整开发套件,您想了解一下吗?

无论文字呈现为横排还是竖排,这款超轻量模型都展现了出色的识别效果。

即使在复杂的应用场景中,它的表现依然令人满意:

那么,如果情况更加复杂,这么小的模型能否应对得了呢?

毕竟,在实际应用中,图像中的文字常常会面临弯曲、模糊等问题。

例如,某些不够清晰的路牌:

主体部分基本上能够被准确识别,然而由于英文小字部分模糊,识别效果就显得不那么理想。

再来看一张背景复杂的文字识别效果:

出现了一个错别字,扣一分。满分10分的话,可以给个9分。

实际上,在OCR项目的实施过程中,开发者往往面临两个主要挑战:

1. 在移动端和服务器端,待识别的图像数量通常很多,开发者希望模型越小、精度越高、预测速度越快。由于GPU成本昂贵,使用CPU进行处理会更具经济性。在确保满足业务需求的前提下,越轻量的模型占用的资源越少。

2. 在实际的业务场景中,OCR面临多种问题,个性化的业务需求往往需要自定义数据集重新训练,同时硬件环境的多样性要求支持多种部署方式。加上数据收集等繁琐工作,项目实施中很多时间都消耗在算法研发以外的环节,因此迫切需要一套完整的全流程解决方案来加速研发进度,节省宝贵时间。

因此,超轻量模型及其全流程解决方案,对于算力和存储空间有限的移动端和嵌入式设备来说,可以说是必不可少的。

在这个开源项目中,开发者还贴心地提供了可直接测试的DEMO。

根据量子位的测试,在移动端DEMO中,这个不到10M的模型几乎能实现秒级效果。

在中文公开数据集ICDAR2017-RCTW上,经过调整测试条件,比较该项目与曾在GitHub热榜上受欢迎的CHineSEOcR_LITe(5.1k stars)发布的10M模型,结果如下:

该8.6M超轻量模型在V100 GPU单卡上平均预测耗时57毫秒,而在CPU上则为319毫秒。

而CHineSEOcR_LITe的10M模型在V100单卡的预测速度为230毫秒,CPU则需要739毫秒。

当然,模型预测速度的提升不仅归功于模型大小的减小,也得益于算法与框架的深入优化。

项目中提供的基准测试结果如下:

作为一名GitHub编程的开发者,我感到老板在OCR需求方面不再担忧。

而且这个8.6M的超轻量开源模型,背后有大公司的支持。

出品方正是国内领先的AI开发公司百度,他们为这个最新开源的OCR工具库命名为:PaddleOCR。

PaddleOCR发布的超轻量模型主要由4.1M的检测模型和4.5M的识别模型组成。

其中,检测模型的基础模型采用了DB算法,而文本模型的基础模型则使用了经典的CRNN算法。

鉴于MoBIleNetV3在端侧模型中的优越表现,这两个模型均选择以MoBIleNetV3作为骨干网络,初步将模型大小减少超过90%。

此外,开发者还通过减少特征通道数等策略,进一步压缩了模型的大小。

尽管模型体积小,但训练所需的数据集却相当丰富,项目方提供的数据表明,模型使用的数据量(包括合成数据)大约在百万到千万级别。

不过,某些开发者可能会问,在特定场景下,通用OCR模型的精度或许无法满足需求,算法模型在实际项目部署中也可能遇到各种问题,应该如何解决呢?

PaddleOCR从训练到部署,提供了全面的指引,堪称是「最全OCR开发者大礼包」。

由于OCR业务的特殊性,用户的需求难以通过单一的通用模型满足,而之前开源的CHineSEOcR_LITe也不支持用户进行训练。

为了方便开发者使用自己的数据自定义超轻量模型,除了8.6M的超轻量模型外,PaddleOCR还提供了两种文本检测算法(EAST、DB)以及四种文本识别算法(CRNN、RoSSeta、STAR-Net、RARE),基本覆盖常见的OCR任务需求,且算法仍在不断丰富中。

值得一提的是,「模型训练/评估」中的「中文OCR训练预测技巧」,让人眼前一亮,点击进去可以看到关于「中文长文本识别的特殊处理、如何更换不同的backbone等实战技巧」,非常符合开发者在项目实战中的需求。

对开发者更加友好的是,PaddleOCR提供了手机端(包括iOS和Android DEMO)、嵌入式端、大规模数据离线预测以及在线服务化预测等多种预测工具组件的支持,能够满足各种工业级应用场景。

项目还为开发者整理了常用的中文数据集、标注和合成工具,并正在持续更新。

目前包括的数据集有:

五个大规模通用数据集(ICDAR2019-LSVT,ICDAR2017-RCTW-17,中文街景文字识别,中文文档文字识别,ICDAR2019-ART);大规模手写中文数据集(中科院自动化研究所-手写中文数据集);以及垂类多语言OCR数据集(中国城市车牌数据集、银行信用卡数据集、验证码数据集-Captcha、多语言数据集)。

此外,还整理了常用的数据标注工具(labelIMg、RoLabelIMg、labelMe)和常用的数据合成工具(text_RendeReR、SynthText、SynthText_CHinese_veRsion、TextRecognITionDatageneRaTor、SynthText3D、UnRealText)。

自开源以来,项目受到了广泛关注,已经有大量开发者积极参与并贡献内容。