关键词:OCR,Paddle.js,PaddleOCR01前言OCR(OpticalCharacterRecognition,光学字符识别)是文字识别的统称,不仅支持文档或书籍文字识别,还包括自然场景的识别。文本也可以称为STR(SceneTextRecognition)。OCR文字识别一般包括两部分,文字检测和文字识别;文本检测首先使用检测算法来检测图像中的文本行;然后检测到的文本行使用识别算法来识别特定文本。OCRSDK(@paddlejs-models/ocr)依赖的技术主要包括两部分:百度开源的超轻量级文本识别模型套件PaddleOCR和基于JavaScript的前端深度学习推理引擎Paddle.js。接下来详细介绍PaddleOCR和@paddlejs-models/ocr。02PaddleOCRPaddleOCR是百度开源的超轻量级文字识别模型套件。提供数十种文字检测识别模型,旨在打造丰富、领先、实用的文字检测识别模型/工具库,帮助用户训练创建更好的模型并落地应用。目前不仅开源了超轻量级的8.6M中英文模型,用户还可以自定义训练,使用自己的数据集Fine-tune,取得非常好的效果。并提供了一套完整的各种硬件推理部署工具(全面支持服务器、移动、嵌入式等),是OCR文字识别领域工业级应用的绝佳选择。Paddle.js框架内使用的模型有:ch\_PP-OCRv2\_det\_infer文本检测推理模型和ch\_PP-OCRv2\_rec\_infer文本识别推理模型。对于之前的PP-OCR版模型,主要有三方面的改进:模型效果方面,相比PP-OCR手机版,提升了7%以上;速度方面,与PP-OCR服务器版相比,提升了220%以上;在模型大小方面,总大小为11.6M,服务器端和移动端都可以轻松部署。GitHub项目:https://github.com/PaddlePadd...03@paddlejs-models/ocr@paddlejs-models/ocr是一个运行在浏览器端的模型SDK,提供文字识别AI能力。SDK封装了两个API:init(模型初始化)和recognize(文字识别),核心代码如下:import*asocrfrom'@paddlejs-models/ocr';//模型初始化awaitocr.init();//获取文本识别结果API,img为用户上传的图片,option为可选参数//option.canvasasHTMLElementCanvas:如果用户需要绘制文本框选择区域,则传入canvas元素//option.styleasobject:如果用户需要配置canvasStyle,传入style对象//option.style.strokeStyleasstring:文本框选择颜色//option.style.lineWidthasnumber:文本框选择线段width//option.style.fillStyleasstring:文本框选择填充颜色constres=awaitocr.recognize(img,option?);//识别文本结果console.log(res.text);//文本区域坐标控制台.log(res.points);import*asocrfrom'@paddlejs-models/ocr';//模型初始化awaitocr.init();//获取文字识别resultAPI,img为用户上传的图片,option为可选参数//option.canvasasHTMLElementCanvas:如果用户需要绘制文本框选择区域,传入canvas元素//option.styleasobject:如果用户需要配置画布样式,传入样式对象//option.style.strokeStyleasstring:文本框的颜色//option.style.lineWidthasnumber:文本框选择线宽//option.style.fillStyleasstring:文本框选择填充颜色constres=awaitocr.recognize(img,option?);//文本识别结果console.log(res.text);//文本区域坐标console.log(res.points);GitHub项目:https://github.com/PaddlePadd...丨**整体流程图丨**模型转换paddlejsconverter是Paddle.js的模型转换工具,其功能是转换PaddlePaddle将模型转换成浏览器友好的格式,供Paddle.js在浏览器等环境中加载预测使用工具安装命令:pip3installpaddlejsconverter工具使用命令:#paddle_model_file_pathisocr_det/ocr_recPaddlePaddle模型本地路径#paddle_param_file_pathisocr_det/ocr_recPaddlePaddle模型参数本地路径#paddlejs_model_directory为转换后的paddlejs模型本地路径(开发者自定义)paddlejsconverter\--modelPath=
