开发函数计算的正确姿势——OCR 服务

本文涉及的产品
小语种识别,小语种识别 200次/月
文档理解,结构化解析 100页
票据凭证识别,票据凭证识别 200次/月
简介: 本文介绍将一个预制的 tesserocr 示例快速部署到函数计算平台。该示例借助于 Funcraft 安装了最新的 4.1.1 版本的 tesseract,相比于包管理器的 3.0.2 版本识别率大幅度提升。该示例提供了一个 vue.js 实现的交互界面,有三种提供输入图片的方式:使用示例图片、上传图片或者提供图片 URL。然后用户点击识别按钮就能迅速体验识别效果。将 tesserocr 部署于函数计算,借助于函数计算的自动伸缩和按量计费的特性,提供了免运维和成本优势。

简介

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

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 部署于函数计算,借助于函数计算的自动伸缩和按量计费的特性,提供了免运维和成本优势。

下面是部署以后的使用效果动图:

image.png

初始化

git clone https://github.com/vangie/fc-ocr-example.git

安装依赖

$ 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 文件。

本文转自<阿里巴巴云原生技术圈>——阿里巴巴云原生小助手

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
2月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
137 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
5月前
|
Serverless Python
借助 serverless 将 MCP 服务部署到云端
本文介绍了如何将 MCP 服务通过 SSE 协议部署到云端,避免本地下载和启动的麻烦。首先,使用 Python 实现了一个基于 FastMCP 的网络搜索工具,并通过设置 `transport='sse'` 启用 SSE 协议。接着,编写客户端代码测试服务功能,确保其正常运行。随后,利用阿里云函数计算服务(FC 3.0)以 Serverless 方式部署该服务,包括创建函数、配置环境变量、添加依赖层以及部署代码。最后,提供了客户端测试方法和日志排查技巧,并展示了如何在不同工具(如 Cherry-Studio、Cline 和 Cursor)中配置云端 MCP 服务。
1074 10
借助 serverless 将 MCP 服务部署到云端
|
11月前
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
8010 5
|
7月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
10月前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
10月前
|
弹性计算 人工智能 自然语言处理
魔搭社区与函数计算:高效部署开源大模型的文本生成服务体验
在数字化时代,人工智能技术迅速发展,开源大模型成为重要成果。魔搭社区(ModelScope)作为开源大模型的聚集地,结合阿里云函数计算,提供了一种高效、便捷的部署方式。通过按需付费和弹性伸缩,开发者可以快速部署和使用大模型,享受云计算的便利。本文介绍了魔搭社区与函数计算的结合使用体验,包括环境准备、部署应用、体验使用和资源清理等步骤,并提出了改进建议。
|
11月前
|
机器学习/深度学习 监控 物联网
函数即服务(FaaS)
函数即服务(FaaS)
565 6
|
10月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
383 1
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
人工智能 JSON 文字识别
印刷文字识别使用问题之如何数电发票进行识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。

热门文章

最新文章