最佳實踐 | 用騰訊雲AI文字識別從0到1實現通訊行程卡識別

騰訊雲AI發表於2022-05-12

疫情防控常態化下,學校為了保證孩子身體健康和安全,要求所有入校人員提供通訊行程碼並稽核。但是通過人工稽核的方式,不僅工作量極大且容易出錯。作為一名軟體開發工程師,我開始思考並著手調研,希望可以通過更智慧的方式來解決。


在調研過程中,發現騰訊雲AI文字識別產品推出了 健康碼OCR、行程卡OCR等多種自動化識別能力,剛好契合智慧識別這個現實問題。但是識別出來的結果是否準確呢?


查閱了官方介紹資料,發現騰訊雲AI聯合騰訊優圖實驗室針對文字檢測和文字識別關鍵技術進行了優化和創新。在文字檢測技術方面進行了深度優化,提出了Compact Inception,通過設計合理的網路結構來提升各尺度的文字檢測/提取能力。同時引入RNN多層自適應網路和Refinement結構來提升檢測完整性和準確性。


在文字識別方面,經過大量實驗和實踐,對主流CNN+RNN+CTC方法進行了改進和創新:對CNN加入了橫向非對稱卷積和綜合多種尺度感受野的特徵,增強了網路對多尺度字型的支援。對RNN加入了Attention機制,Attention機制的加入,可以在所有特徵塊的基礎上,得到每一個特徵塊在全域性中的權重資訊,有效提升整行識別的準確率。這無疑給我們吃了定心丸,放心的採用騰訊雲AI文字識別的自動化識別能力了。


根據產品能力介紹,通訊行程卡識別能力,可以 自動識別出行程卡顏色、途經地、存在中高風險地區的城市、電話號碼等資訊,實現了全自動的模式,極大的減輕了人工稽核的工作量。


接下來,我將詳細講述我是如何使用通訊行程卡識別能力。


01.準備工作


為了使用通訊行程卡識別能力,我們需要進行一些準備工作。


1. 騰訊雲AI文字識別提供了體驗服務(功能演示頁面),我們先對通訊行程卡能力進行了體驗,Demo識別的效果很不錯。


undefined


2. 在使用騰訊雲AI文字識別之前需要開通文字識別服務。在騰訊雲OCR控制檯頁面,我們成功開通了文字識別服務。


undefined


3.服務開通成功後,騰訊雲AI文字識別贈送了免費的資源包,50~1000次的免費額度。當免費資源包用盡後,我們先是購買了預付費資源包,後來又開通了後付費。


在購買頁購買了通訊行程卡識別1千次的資源包。在資源包管理頁面中看到了資源包的具體使用情況。

undefined

在設定頁面開通了後付費服務,每個月來結算。後付費設定每月只能變更一次,而且變更後次日0點生效。

undefined


02.操作流程


通過下面幾個步驟我們正式開始使用通訊行程卡能力。

  • 獲取個人金鑰
  • 通訊行程卡API文件
  • 體驗線上呼叫
  • 使用整合騰訊雲OCR的SDK
  • 查詢呼叫量


2.1獲取個人金鑰

第一步,我們需要個人金鑰。在騰訊雲訪問管理的API金鑰管理頁面,我們新建了個人金鑰。

undefined


2.2通訊行程卡識別API文件

第二步,就是檢視具體的使用說明了,在文字識別的API文件中檢視了通訊行程卡識別的輸入入參、輸出出參、錯誤碼等資訊。

undefined


2.3體驗線上除錯

第三步,騰訊雲AI文字識別還提供了線上呼叫API Explorer工具,我們通過這個工具體驗了下線上呼叫,更加直觀的看到了請求引數和返回值。

undefined


2.4使用整合騰訊雲OCR的SDK

第四步,就是真正的使用。
雲 API 3.0 提供了配套的開發工具集(SDK),支援多種程式語言。在API文件文件的最下方,我們檢視了SDK具體使用方法,十分簡單方便。
我們使用的開發語言是 Node.js 。

  • 通過 npm 安裝
npm install tencentcloud-sdk-nodejs --save


  • 使用SDK呼叫通訊行程卡識別介面

    const tencentcloud = require( "../tencentcloud-sdk-nodejs");
    const OcrClient = tencentcloud.ocr.v20181119.Client; const models = tencentcloud.ocr.v20181119.Models;
    const Credential = tencentcloud.common.Credential; const ClientProfile = tencentcloud.common.ClientProfile; const HttpProfile = tencentcloud.common.HttpProfile;
    let cred = new Credential( " SecretId ", " SecretKey "); let httpProfile = new HttpProfile(); let clientProfile = new ClientProfile(); /* 推薦使用 V3 鑑權。當內容超過 1M 時,必須使用 V3 簽名鑑權。除 Node SDK 外,其他語言 SDK 都支援 V3。 clientProfile.signMethod = "TC3-HMAC-SHA256"; */ clientProfile.httpProfile = httpProfile; let client = new OcrClient(cred, "ap-guangzhou", clientProfile);
    let req = new models.RecognizeTravelCardOCRRequest();
    req.ImageUrl = ";
    client.RecognizeTravelCardOCR(req, function( errMsg, response) {
    if (errMsg) { console.log(errMsg); return; }
    console.log(response.to_json_string());
    });

    2.5查詢呼叫量

    第五步,呼叫成功後,我們在騰訊雲OCR控制檯檢視了介面的呼叫明細,包括了呼叫量、成功量、失敗量等資訊。

    undefined

    主賬號登入後檢視了所有賬號的呼叫量明細,子賬號只能查詢自己的呼叫量明細。 在用量查詢許可權管理頁面給子賬號賦權後,子賬號也查詢到了所有子賬號的呼叫量明細許可權了。

    undefined


    來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014348/viewspace-2893753/,如需轉載,請註明出處,否則將追究法律責任。

    相關文章