OCR识别系统 YOLOv8 +Paddle 方案落地

YOLOv8 + PaddleOCR 技术方案落地

  • Yolov8相关文档
    • [Step 1 证件模型的训练](#Step 1 证件模型的训练)
    • [Step 2 Yolov8进行图片推理](#Step 2 Yolov8进行图片推理)
    • [Step 3 PaddleOCR进行识别](#Step 3 PaddleOCR进行识别)
    • [Step 4 整合Yolov8 + PaddleOCR 进行OCR](#Step 4 整合Yolov8 + PaddleOCR 进行OCR)

Yolov8相关文档

《yolov8 官方网站》
《Yolov8 保姆级别安装》

Ultralytics YOLOv8 是一款尖端的、最先进的 (SOTA) 模型,它以之前 YOLO 版本的成功为基础,并引入了新功能和改进,以进一步提高性能和灵活性。YOLOv8 旨在快速、准确且易于使用,使其成为各种对象检测和跟踪、实例分割、图像分类和姿势估计任务的绝佳选择
目前市面的OCR功能都已经比较完善了,Paddle也很出众,不过OCR出来后相关字段都是错乱,你通过正则表达式获取也不能满足特殊场景,那么就需要特别的位置检测。yolov家族就是做这个事情的!!,通过图片相关位置截取图片在进行OCR

Step 1 证件模型的训练

1、选取身份证标注 (300张样本,200张测试样本)

2、使用标注软件进行处理数据集(这里我用的是 makesense)

3、yolov8 进行训练模型 (这里可以参考《Yolov8 保姆级别安装》文章 )

python 复制代码
yolo detect train model=yolov8n.pt data=idCard.yaml epochs=10 imgsz=640

样图:

Step 2 Yolov8进行图片推理

python 复制代码
yolo predict model=best.pt  source=image_test imgsz=640 

检测后效果:

Step 3 PaddleOCR进行识别

python 复制代码
paddleocr --image_dir ./imges/test.jpg --use_angle_cls true --use_gpu false 

\[\[28.0, 37.0\], \[302.0, 39.0\], \[302.0, 72.0\], \[27.0, 70.0\]\], ('姓名 xxxxxxx', 0.9658738374710083)

...

到这里相关操作都能正常运行,那么你的虚拟环境就好了。

Step 4 整合Yolov8 + PaddleOCR 进行OCR

1、通过Flask整合,通过http接口进行交互识别

python 复制代码
"""
三大核心包
"""
from flask import Flask, request
from ultralytics import YOLO
from paddleocr import PaddleOCR

//yolov 推理
model_idCard = YOLO('best_idCard.pt')
results = model_idCard.predict(img, device='cpu', stream=True)
....

//获取yolov推理后的切片图进行ocr
ocr = PaddleOCR(lang='ch', use_angle_cls=True, enable_mkldnn=True, cpu_threads=8, ocr_version='PP-OCRv4')
result = ocr.ocr(img, cls=True)



@app.route('/idCardOcr', methods=['POST'])
def idCardOcrRequest():
# f = request.files['file']
 json = request.json
 imagePath = 'temp/' + json['fileName']
 # imagePath = 'D:/work_project/useDeviceCloud/temp/' + json['fileName']
 return idCardOcr(imagePath)

yolov8推理出来的切图

效果:

效果还是比较可以的,不过低配置的机器可能有点限制。paddle要求比较高后续看看在接入其他的ocr通用版本来替换,让更多的机器能跑起来

看↓↓↓方格或搜索: 码猿趣事,回复关键字:yolov8+OCR持续更新中~。

相关推荐
向哆哆8 天前
高精度织物缺陷检测数据集(适用YOLO系列/1000+标注)(已标注+划分/可直接训练)
yolo·目标检测
前网易架构师-高司机8 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
AI人工智能+9 天前
CNN+CRNN+NER:如何实现食品经营许可证秒级结构化信息提取?
深度学习·ocr·食品经营许可证识别
向哆哆9 天前
粉尘环境分类检测千张图数据集(适用YOLO系列)(已标注+划分/可直接训练)
yolo·分类·数据挖掘
摆烂小白敲代码9 天前
腾讯云智能结构化OCR在物流行业的应用
大数据·人工智能·经验分享·ocr·腾讯云
琅琊榜首20209 天前
移动端AI挂机新范式:YOLOv8+NCNN实现无Root视觉自动化
人工智能·yolo·自动化
智驱力人工智能9 天前
地铁隧道轨道障碍物实时检测方案 守护城市地下动脉的工程实践 轨道障碍物检测 高铁站区轨道障碍物AI预警 铁路轨道异物识别系统价格
人工智能·算法·yolo·目标检测·计算机视觉·边缘计算
智驱力人工智能10 天前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
前端摸鱼匠10 天前
YOLOv8使用 Ultralytics 内置功能简化格式转换:介绍如何使用 yolo mode=data 等相关功能或辅助工具来加速和简化数据格式的准备工作
人工智能·yolo·目标检测·机器学习·目标跟踪·视觉检测
hans汉斯10 天前
《数据挖掘》期刊推介&征稿指南
图像处理·人工智能·算法·yolo·数据挖掘·超分辨率重建·汉斯出版社