乐趣区

关于云计算:开发函数计算的正确姿势OCR-服务

作者 | 杜万(倚贤)阿里云技术专家

简介

首先介绍下在本文呈现的几个比拟重要的概念:

OCR(光学字符识别): 光学字符识别(Optical Character Recognition, OCR)是指对文本材料的图像文件进行剖析辨认解决,获取文字及版面信息的过程。亦行将图像中的文字进行辨认,并以文本的模式返回。

Tesserocr:Tesserocr 是 python 的一个 OCR 辨认库,但其实是对 tesseract 做的一层 python API 封装,所以它的外围是 tesseract。

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需治理服务器等运行状况,只需编写代码并上传。函数计算筹备计算资源,并以弹性伸缩的形式运行用户代码,而用户只需依据理论代码运行所耗费的资源进行付费。函数计算更多信息参考。

Funcrfat:Funcraft 是一个用于反对 Serverless 利用部署的工具,能帮忙您便捷地治理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),帮助您进行开发、构建、部署操作。Fun 的更多文档参考。

备注: 本文介绍的技巧须要 Funcraft 版本大于等于 3.6.8。

本文介绍将一个预制的 tesserocr 示例疾速部署到函数计算平台。该示例借助于 Funcraft 装置了最新的 4.1.1 版本的 tesseract,相比于包管理器的 3.0.2 版本识别率大幅度晋升。

该示例提供了一个 vue.js 实现的交互界面,有三种提供输出图片的形式:应用示例图片、上传图片或者提供图片 URL。而后用户点击辨认按钮就能迅速体验辨认成果。

将 tesserocr 部署于函数计算,借助于函数计算的主动伸缩和按量计费的个性,提供了免运维和老本劣势。

上面是部署当前的应用成果动图:

初始化

git clone https://github.com/vangie/fc-…

装置依赖

$ fun install

本地测试

$ fun local start domain_for_ocr
using template: template.yml
CustomDomain domain_for_ocr of tesserocr/tesserocr was registered
url: http://localhost:8000/
methods: [‘GET’, ‘POST’]
authType: ANONYMOUS

function compute app listening on port 8000!

应用浏览器关上 http://localhost:8000/

同步文件到 NAS

同步模型目录 tessdata_fast 和 依赖目录 .fun/root .fun/python 到 NAS 盘。

$ fun nas sync

部署

$ fun deploy
using template: template.yml
using region: cn-shanghai
using accountId: *3743
using accessKeyId: *Ptgk
using timeout: 60



Detect ‘DomainName:Auto’ of custom domain ‘domain_for_ocr’
Fun will reuse the temporary domain 1712300-1986114430573743.test.functioncompute.com, expired at 2020-04-27 19:35:00, limited by 1000 per day.

Waiting for custom domain domain_for_ocr to be deployed…
custom domain domain_for_ocr deploy success

留神下面返回的长期域名地址:1712300-1986114430573743.test.functioncompute.com

应用浏览器关上 http://1712300-1986114430573743.test.functioncompute.com

小结

  1. Tesserocr 库提供了开箱即用的图片辨认成果,而且提供了预训练好的模型,如果须要也能够间接训练模型。
  2. 函数计算为 Tesserocr 服务化提供了便当。借助函数计算能够轻松部署一个高可用、按量访问量计费的 OCR 服务。
  3. Funcraft 工具解决 Tesserocr 移植到函数计算的一些技术难题,比方原生依赖、打包问题。细节能够查看 Funfile 文件。
退出移动版