男生跟男生做口视频网站,grimhelm.wordpress,做静态网站有什么建议,互联网网站开发有哪些职位PaddleOCR是一个基于飞桨开发的OCR#xff08;Optical Character Recognition#xff0c;光学字符识别#xff09;系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点#xff1a;
高精度#xff1a;PaddleOCR采用深度学习算法进行训练… PaddleOCR是一个基于飞桨开发的OCROptical Character Recognition光学字符识别系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点
高精度PaddleOCR采用深度学习算法进行训练可以在不同场景下实现高精度的文字检测和文字识别。
多语种支持PaddleOCR支持多种语言的文字识别包括中文、英文、日语、韩语等。同时它还支持多种不同文字类型的识别如手写字、印刷体、表格等。
高效性PaddleOCR的训练和推理过程都采用了高效的并行计算方法可大幅提高处理速度。同时其轻量化设计也使得PaddleOCR能够在移动设备上进行部署适用于各种场景的应用。
易用性PaddleOCR提供了丰富的API接口和文档说明用户可以快速进行模型集成和部署实现自定义的OCR功能。同时其开源代码也为用户提供了更好的灵活性和可扩展性。
鲁棒性PaddleOCR采用了多种数据增强技术和模型融合策略能够有效地应对图像噪声、光照变化等干扰因素并提高模型的鲁棒性和稳定性。
总之PaddleOCR具有高精度、高效性、易用性和鲁棒性等优点为用户提供了一个强大的OCR解决方案。
一、环境安装
1.Anaconda安装 打开Anaconda官网去下载然后安装这个在网上很多教程根据他们安装就行 2.cudacudnn安装
去这里找入口安装对应的cuda和cudnn版本 cuda各个版本的Pytorch下载网页版模型转化工具免费gpt链接_cuda国内镜像下载网站-CSDN博客
和yolov5配置跑通基本流程一样
ppocr环境 pip install requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple二、下载训练源码
GitHub - PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)https://github.com/PaddlePaddle/PaddleOCR/tree/main
最好下载这个 其他版本可能报错
这个版本的没有标注的程序所以你还需要下载一个r2.6的把里面的PPOCRlabel复制到你下载的main版本的OCR。 验证环境是否跑通 进入往下翻GitHub - PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)https://github.com/PaddlePaddle/PaddleOCR/tree/main 下载压缩然后放到下方文件夹中 打开py终端输入指令
python tools/infer/predict_system.py --image_dirC:\Users\User\Desktop\test.jpg --det_model_dir./inference_model/en_PP-OCRv3_det_infer/ --rec_model_dir./inference_model/en_PP-OCRv3_rec_infer
效果大概就是这个样子 环境没问题的话就可以开始制作自己的数据集训练了
三、数据集制作
如果你的环境没问题那么进入PPOCRLabel中直接右键运行 网上又说用这个 python PPOCRLabel.py --lang ch指令的我用不了这个报错所以这个指令用不了的可以直接右键run PPOCRLabel.py 文件即可
如果报错 就在 PPOCRLabel.py 文件头上加入
import os
os.environ[KMP_DUPLICATE_LIB_OK]TRUE 然后右键运行 PPOCRLabel.py 打开后是这样的 导入图片再点击自动保存 旁边改成你需要标注的字符 标注后你的数据集文件夹中会生成这些文件 全部打标完成之后点击文件选择导出标记结果再点击文件选择导出识别结果完成后再文件夹多出四个文件fileStateLabelrec_gt, crop_img。
其中crop_img中的图片用来训练文字识别模型
fileState记录图片的打标完成与否
Label为训练文字检测模型的标签
rec_gt为训练文字识别模型的标签。 如果是文字文本识别标注那你可以直接点击左下角那里进行自动标注 然后数据集划分
python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ../train_data/drivingData
在终端运行上述指令 文件路劲在PPOCRLabel文件中 运行后数据集就会被划分 生成的det 和rec文件打开后为如下 四、开始训练字符模型
下载训练模型
GitHub - PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices) - PaddlePaddle/PaddleOCRhttps://github.com/PaddlePaddle/PaddleOCR/tree/main
最好三个都下载下来也可以只下载检测和识别两个
下载好解压放入 配置训练文件 打开后你需要手动修改数据集路径 这里有一个是多少代保存一次你可以设置为一代保存一次 改为1即可 py终端运行如下指令就可以开始运行了
python tools/train.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_dml.yml 运行完毕了模型会报错在这里 五、测试
python tools/infer_det.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrained_modeloutput/ch_db_driving/iter_epoch_400.pdparams Global.infer_imgC:\Users\User\Desktop\PaddleOCR-release-2.6\train_data\det\test\0201_1 (3).jpg 六、训练rec识别模型
和上面的检测det模型的训练方式一样 这里更改多少代 保存一次 七、运行
python tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml 八、然后测试
和上面的方法一样只是把模型换成rec模型
python tools/infer_det.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrained_modeloutput/en_db_driving/iter_epoch_400.pdparams Global.infer_imgC:\Users\User\Desktop\PaddleOCR-release-2.6\train_data\det\test\0201_1 (3).jpg 你可以用如下代码进行批量推理和模型测试
中间那个是分类模型 你可以在官网上直接下载
from paddleocr import PaddleOCR
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
from paddleocr import PaddleOCR, draw_ocr
import os
import skimagefont cv2.FONT_HERSHEY_SIMPLEX# 参数依次为ch, en, french, german, korean, japan。
ocr PaddleOCR(use_angle_clsTrue, langen, use_gpuFalse,rec_model_dir./models/en_PP-OCRv3_rec_infer/,cls_model_dir./models/ch_ppocr_mobile_v2.0_cls_infer/,det_model_dir./models/en_PP-OCRv3_det_infer/) # need to run only once to download and load model into memory
def OCRsspt_en(img_path,out_path):for filename in os.listdir(img_path):img os.path.join(img_path,filename)print(filename)# ims np.ndarray(range(img))# img_florcv2.imread(ims,flags1)# img_florImage.open(img)# img_flor skimage.io.imread(img)result ocr.ocr(img, clsTrue)# 显示结果image Image.open(img).convert(RGB)boxes [line[0] for line in result[0]]txts [line[1][0] for line in result[0]]scores [line[1][1] for line in result[0]]im_show draw_ocr(image, boxes, txts, scores, font_path./simfang.ttf)im_show Image.fromarray(im_show)output_path os.path.join(out_path, f{os.path.splitext(filename)[0]}s.bmp)im_show.save(output_path)print(txts)print(####################OK#####################)img_path H:\\DL\\OCRrelse\\PaddleOCR-release-2.6\\train_DATA\\jpegs
out_path H:\\DL\\OCRrelse\\PaddleOCR-release-2.6\\inference_results\\dete
OCRsspt_en(img_path,out_path)效果如下 九、C#部署不完善
官方部署包 https://github.com/sdcb/PaddleSharp
1.你需要下载ocr的包以及其他工具包 将你训练的两个模型导入进去根据官方的部署包进行修改读取模型
就像这样 然后就可以进行ocr识别了 需要其他操作都可以自己加