当前位置 博文首页 > 盛夏温暖流年:我的 Serverless 实战 — Serverless 腾讯云文字

    盛夏温暖流年:我的 Serverless 实战 — Serverless 腾讯云文字

    作者:[db:作者] 时间:2021-06-27 21:37

    通过 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 实战”征稿活动】