我的 Serverless 实战 — Serverless 腾讯云文字识别(OCR)详细部署过程

Posted 盛夏温暖流年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的 Serverless 实战 — Serverless 腾讯云文字识别(OCR)详细部署过程相关的知识,希望对你有一定的参考价值。

通过 Serverless Framework ComponentOCR SDK, 我们能够快速部署一个基于 COS + API + SCF 的通用文字识别 OCR 应用,在部署之前,先来了解一下什么是 OCR。


OCR 技术

OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。

衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。


腾讯云 OCR 优势

腾讯云 OCR 基于腾讯优图实验室的深度学习技术,能够将图片上的文字内容,智能识别成为可编辑的文本。支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息,具有以下几个方面的优势:

  • 准确性高
    腾讯云文字识别 OCR 可自动从图片中定位并识别字段,印刷体的平均准确率可达90%以上,手写体的识别平均准确率高达85%以上,鲁棒性强。
  • 稳定性强
    腾讯云的身份证识别、名片识别、营业执照识别服务已成功应用于微众银行、QQ、广点通等腾讯内部核心业务,接受过海量用户和复杂场景的考验,各项反馈良好。
  • 适用性高
    依托腾讯优图自研的 OCR 技术,涵盖了整个证件检测识别框架的所有核心算法,支持横向、竖向拍摄,适应透视畸变、光照不均、部分遮挡的情况,具备非常高的复杂环境可用性。
  • 简单易用
    腾讯云文字识别 OCR 除了可直接调用的全面的 API 接口,还提供了丰富多样的 SDK 供开发者使用,服务使用简单便捷,兼容性强。
  • 应用广泛
    腾讯云文字识别 OCR 提供手写体和印刷体的识别,除各类标准化的卡证识别外,也提供定制化的 OCR 识别,如各类票据或运单等的个性化识别,满足多样化的场景应用需要。

Serverless FrameworkOCR 的结合,为用户提供了方便快捷、成本更低的通用文字识别应用部署方案。


腾讯云 Serverless + OCR 部署流程

1. 环境准备

  • linux 服务器版本:CentOS 7.9
  • 安装 Node.js(建议使用 Node.js10.0 及以上版本)
  • 开通 OCR 通用文字识别服务

2. 基础环境搭建

(1). 安装 Node.js

官网下载

https://nodejs.org/en/download/

选择最新版本的 Node.js
在这里插入图片描述
上传到 Linux 后解压

xz -d node-v14.17.0-linux-x64.tar.xz
tar -xvf node-v14.17.0-linux-x64.tar

进入解压文件夹

cd node-v14.17.0-linux-x64

设置 node 和 npm 为全局变量

ln -s /tmp/upload/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /tmp/upload/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/npm

运行命令进行测试

node -v

正常输出版本号说明安装成功
在这里插入图片描述
(2). 开通 OCR 通用文字识别服务

打开官方链接

https://console.cloud.tencent.com/ocr/overview

填写个人信息
在这里插入图片描述
申请审核秒通过,接下来就可以使用了。

在这里插入图片描述

3. 配置

安装 Serverless Framework

npm install -g serverless

设置 serverless 为全局变量

ln -s /tmp/upload/node-v14.17.0-linux-x64/bin/serverless /usr/local/bin/serverless

验证是否安装成功

serverless -v

结果如下
在这里插入图片描述
新建本地文件夹,使用 serverless init 命令,下载相关 template

mkdir ocr
cd ocr
serverless init ocr-app

创建完成
在这里插入图片描述
在 ocr-app 目录下找到 .env.example 文件,改名为 .env

mv .env.example .env

在里面输入账户、密钥信息和指定存储桶(用于存放上传的图像)
在这里插入图片描述
其中,账户、密钥信息可以在以下链接中找到

https://console.cloud.tencent.com/cam/capi

如果没有密钥需要创建一个
在这里插入图片描述
下载所有 npm 依赖

npm run bootstrap

下载完成结果
在这里插入图片描述

4. 部署

执行以下命令进行部署

serverless deploy --all

部署成功后,可以使用浏览器访问项目的 website 链接(以下图片中绿色字体的上一行)
在这里插入图片描述
选择图片上传,项目即可通过 OCR SDK 自动完成文字识别
在这里插入图片描述
执行以下语句,可移除项目

serverless remove --all

【本文正在参与 “100%有奖 | 我的Serverless 实战”征稿活动】

以上是关于我的 Serverless 实战 — Serverless 腾讯云文字识别(OCR)详细部署过程的主要内容,如果未能解决你的问题,请参考以下文章

我的 Serverless 实战 — Serverless 初探

我的 Serverless 实战 — serverless中的CLS服务应用详解

我的Serverless实战—基于Serverless搭建WordPress个人博客图文教程

我的 Serverless 实战 — serverless中的CLS服务应用详解

Spring Boot Serverless 实战 | Serverless 应用的监控与调试

我的 Serverless 实战 — 使用基于腾讯云云函数部署项目实践