通过容器搭建开源文字识别/OCR服务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 通过容器搭建开源文字识别/OCR服务

前一段时间需要应用文字识别,看了一下国内外开源的OCR软件,发现中文识别有:
Tesseract
PaddleOCR
EasyOCR
Chineseocr
Trwebocr
Cnocr/cnstd
等,通过对比识别效果,感觉PaddleOCR效果较好,准备部署服务,开发环境没有GPU,所以先通过容器模式部署CPU版。具体过程如下:

下载PaddleOCR:https://gitee.com/paddlepaddle/PaddleOCR
在容器目录下包括:
PaddleOCR (下载的代码)
requirements.txt
Dockerfile

requirements.txt的内容如下:
shapely
scikit-image
imgaug==0.4.0
pyclipper
lmdb
tqdm
numpy
visualdl
python-Levenshtein
opencv-contrib-python==4.4.0.46
cython
lxml
premailer
openpyxl
attrdict
paddlepaddle
paddlenlp
paddle2onnx
paddlehub

Dockerfile内容如下:

Base Images

FROM python:3.7-buster

把当前文件夹里的文件构建到镜像的根目录下

ADD . /

WORKDIR /

RUN apt -y update
RUN apt -y install g++
RUN apt -y install libglib2.0-dev
RUN apt -y install libgl1-mesa-glx
RUN apt -y install libsm6
RUN apt -y install libxrender1

安装所需要的包

RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

WORKDIR /PaddleOCR

RUN mkdir -p /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_det_infer.tar -C /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_ppocr_mobile_v2.0_cls_infer.tar -C /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_rec_infer.tar -C /PaddleOCR/inference/

检测+识别串联服务模块:

RUN hub install deploy/hubserving/ocr_system/

分类服务模块:

RUN hub install deploy/hubserving/ocr_cls/

检测服务模块:

RUN hub install deploy/hubserving/ocr_det/

安装识别服务模块:

RUN hub install deploy/hubserving/ocr_rec/

EXPOSE 8899

执行:
docker build -t ppocr:0.1 .

启动服务
docker run -itd --name ppocr -p 9000:9000 ppocr:0.1 /bin/bash -c "cd /PaddleOCR && hub serving start --modules ocr_system ocr_cls ocr_det ocr_rec -p 8899"

然后就可以通过http://host:9000/predict/ocr_system访问文字识别服务了。

相关文章
|
2月前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
45 3
|
16天前
|
存储 安全 网络安全
群晖部署容器魔方并结合内网穿透实现远程访问本地服务
群晖部署容器魔方并结合内网穿透实现远程访问本地服务
|
25天前
|
监控 安全 Java
有了容器化,还有必要制作 system service 来启动服务吗?
尽管有容器化技术,将服务作为 systemd 系统服务管理仍具有价值,因为它能实现系统整合、自动化管理、依赖处理、资源限制、安全增强及长期运行服务支持。systemd 允许设置服务间依赖、控制资源配额、日志监控和安全上下文。在 DevOps 环境中,通过 systemd 单元文件实现基础设施即代码,促进一致性与自动化部署。创建 systemd 服务涉及编写服务文件,定义描述、依赖、执行命令、重启策略等。
25 0
|
2月前
|
关系型数据库 MySQL Nacos
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
51 1
|
2月前
|
机器学习/深度学习 文字识别 并行计算
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
104 2
|
2月前
|
机器学习/深度学习 文字识别 API
文字识别OCR常见问题之发票真伪查询有接口如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
28 0
|
2月前
|
文字识别 API
文字识别OCR常见问题之支持香港和澳门的营业执照识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
25 3
|
2月前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
24 3
|
2月前
|
文字识别
文字识别OCR常见问题之拦截扫描件的识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
22 2
|
2月前
|
数据采集 文字识别
文字识别OCR常见问题之目标区域和KV区域区别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
35 2