paddle-ocr-server

简介

基于java语言的开箱即用的ocr识别服务,用到的框架和技术

  • tio-boot
  • djl
  • opencv
  • pytorch
  • onnx
  • paddle-ocr

require

glic==2.28 or CentOS 8.4

How to build

  1. git clone https://github.com/litongjava/ai-server.git
  2. or
  3. #git clone https://gitee.com/ppnt/ai-server.git
  4. #set JAVA_HOME=D:\java\jdk1.8.0_121
  5. mvn clean package -pl paddle-ocr-server -DskipTests -Pproduction

run

  1. java -jar paddle-ocr-server/target/paddle-ocr-server-1.0.4.jar

库文件存储路径

启动后默认会下载pytorch,djl-pytorch库文件存储路径

  1. $HOME/.djl.ai/pytorch

如果下载太慢可以到下面的地址下载pytorch库

  1. https://github.com/litongjava/djl-libs/releases/tag/pytorch

接口文档

在线文档地址

https://apifox.com/apidoc/shared-98cc5675-f1a3-4250-a940-cfe060854ef4

测试接口

测试接口不需要上传文件,使用程序自带的文件进行识别,用于测试环境安装是否成功 访问地址:http://localhost/paddle/ocr/test 返回数据:

  1. {"data":"www.997788 + 登机牌 BOARDING PASS \n航班 FLIGHT 日期 DATE 舱位 CLASS 序号SERIALNO. 座位号SEATNO \nMU 2379 03DEC W 035 12F \n目的地TO 始发地 FROM 一 登机口 GATE 登机时间BDT \n福州 TAIYUAN G11 \nFUZHOU 身份识别IDNO. \n姓名NAME \nZHANGQIWEI 票号TKTNO. \n张祺伟 \n票价FARE ETKT7813699238489/1 \n登机口于起飞前10分钟关闭 GATES CLOSE 10MINUTES BEFORE DEPARTURE TIME + \n","ok":true}

识别接口

  1. curl --location --request POST 'http://localhost/paddle/ocr/rec' \
  2. --header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
  3. --form 'file=@"<file>"'

返回数据格式

  1. {
  2. "data": "text数据",
  3. "ok": true
  4. }

Docker

build

  1. mvn package -DskipTests -Pproduction
  2. docker build -t litongjava/paddle-ocr-server:1.0.1 .
  3. docker tag litongjava/paddle-ocr-server:1.0.1 litongjava/paddle-ocr-server

run

  1. docker run --name ocr_server -dit -p 8080:80 litongjava/paddle-ocr-server

部署到aliyun fc

推送镜像到

在 阿里云镜像仓库中 新建仓库
推送镜像到 阿里云镜像仓库
  • 登录查看用户名https://cr.console.aliyun.com/cn-hangzhou/instance/credentials
  • 进入linux命令行
  • 登录 docker login registry.cn-hangzhou.aliyuncs.com
  • 拉取 litongjava/paddle-ocr-server
  • tag;docker tag litongjava/paddle-ocr-server registry.cn-hangzhou.aliyuncs.com/litongjava/paddle-ocr-server
  • push: docker push registry.cn-hangzhou.aliyuncs.com/litongjava/paddle-ocr-server

部署到 aliyun fc

  • 登录 阿里云
  • 选择”阿里云函数”计算
  • 选择”服务及函数”
  • 创建”服务”
  • 名称:paddle-ocr-server 确定创建
  • 创建函数—>使用容器镜像创建
  • 函数名称 ocr
  • web server模式 是
  • 请求处理程序类型 处理 Http请求
  • 镜像 选择刚才推送的镜像 registry-vpc.cn-hangzhou.aliyuncs.com/litongjava/paddle-ocr-server:latest
  • 监听端口 80
  • 是否使用GPU 不使用GPU
  • 规格方案 默认即可
  • 禁用公网访问 URL 否
  • 点击部署
  • 部署成功过后获取地址访问测试即可