余江健 吳倩倩
摘? 要:目前,隨著各種基礎(chǔ)科學(xué)的不斷進步,計算機技術(shù)也隨之有了非常迅猛發(fā)展,在日常的生活中,人們對于各種證件信息的輸入也隨之變得更為頻繁。用戶更加擔(dān)心在輸入長串的證件號碼時,出現(xiàn)遺漏和錯誤。用戶對卡證信息的輸入需求升級,各種對證件信息有需求的軟件在線下線上推廣和信息輸入體驗遇到瓶頸。開發(fā)一款對于卡證信息輸入,對于用戶方便快捷地得到自己的證件信息的小程序會有效解決這個問題。本小程序是基于百度AI結(jié)合PyQt5界面技術(shù),設(shè)計并開發(fā)的一個卡證識別的小程序。該程序囊括了身份證識別,銀行卡識別,證件信息文本化輸出??ㄗC識別小程序界面簡潔,功能明確,為用戶提供了一款方便快捷的卡證識別工具。
關(guān)鍵詞:百度AI;PyQt5;卡證識別
中圖分類號:TP18? ? ? ? ?文獻標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)06-0080-04
Abstract: At present, with the continuous progress of a variety of basic science, computer technology has also developed very rapidly, and in daily life, people's input of all kinds of document information has become more frequent. Users are more worried about omissions and errors when entering a long string of document numbers. Users' demand for card information input is upgraded, and a variety of software with demand for certificate information has encountered bottlenecks in online promotion and information input experience. Developing a card information input will effectively solve this problem, for users can get Mini Program for their own certificate information conveniently and quickly. This Mini Program is based on Baidu AI and combined with PyQt5 interface technology, so as to design and develop a card identification Mini Program. The program includes ID card identification, bank card identification, document information text output. Card recognition Mini Program has a simple interface and clear function, which provides users with a convenient and fast card recognition tool.
Keywords: Baidu AI; PyQt5; card identification
1 概述
百度AI是最近比較火的一個人工智能開放平臺,它提供了很多方便快捷的AI接口和一些具體應(yīng)用。目前百度AI在語音、圖像、文字、人體等識別方向都取得了相當(dāng)顯著的成果,在識別精度和速率上也達(dá)到了很高的狀態(tài),并且還在不斷更新。[1]
由于百度AI的識別能力非常強大,并且識別的效果很好,具有可以實際應(yīng)用的價值。目前涉及到卡證識別的領(lǐng)域有應(yīng)用綁定,相關(guān)文件需求等等。基于此,本項目擬采用百度AI來開發(fā)卡證識別小程序,此卡證識別小程序主要是一個面向有證件信息輸入需求人員的小程序。該小程序由功能選擇界面,身份證識別界面,銀行卡識別界面,證件信息文本化輸出四個部分組成。整個卡證識別小程序的界面采用PyQt5開發(fā),其中身份證識別和銀行卡識別采用百度AI實現(xiàn)。
2 需求分析
根據(jù)用戶對證件信息輸入的基本需求,對比分析各種小程序上的主要功能模塊,本著小程序開發(fā)的原則:在功能方面,小程序要更加有效,功能更單一;在設(shè)計方面,小程序要更加簡潔,不必要的功能基本沒有。在使用場景方面,小程序的功能要更集中明確。
該小程序的主要定位是為各種需要卡證輸入的地方提供便捷的卡證識別程序,基于小程序的主要定位,小程序應(yīng)為用戶提供更加明確的服務(wù),盡量減少與卡證識別無關(guān)的功能模塊,為用戶提供用完就走,快速得到結(jié)果的使用體驗。
用戶的需求的主要部分是小程序提供的卡證識別,該小程序中的卡證識別主要是銀行卡識別和身份證識別,它能為用戶的卡證信息輸入提供更多的便利,避免漏字,錯字,導(dǎo)致信息輸入錯誤。并且卡證識別小程序還提供卡證信息文本化輸出功能,攝像頭錄入照片功能,還提供用戶下載,以便之后的使用。
2.1 功能結(jié)構(gòu)圖
根據(jù)以上分析,此卡證識別小程序的業(yè)務(wù)邏輯模塊分為輸出地址管理,銀行卡識別,身份證識別,卡證信息文本化輸出,總體功能模塊如圖1。
主要功能如下:
(1)輸出地址管理:選擇識別后的銀行卡和身份證相關(guān)信息的輸出地址。
(2)銀行卡識別:輸入銀行卡照片,通過百度AI,識別銀行卡上的銀行卡號,有效日期和銀行名稱。
(3)身份證識別:輸入身份證照片,通過百度AI,識別身份證上的姓名,性別,民族等相關(guān)的信息。
(4)卡證信息文本化輸出:將上述信息顯示在一個界面中,確認(rèn)后以文本方式輸出。
2.2 程序業(yè)務(wù)流程分析
在卡證識別小程序中,客戶無需登錄,可以直接進入卡證識別小程序,進行輸出地址管理、添加銀行卡、識別銀行卡、添加身份證、識別身份證等主要操作,如圖2。
流程分析:當(dāng)用戶獲取到小程序后,可以直接進入卡證識別小程序。首先填寫輸出文件的路徑,然后可以在銀行卡識別頁面添加銀行卡照片并識別,之后在身份證識別頁面添加身份證照片并識別,最后點擊文本化輸出。至此識別與輸出流程結(jié)束。
3 系統(tǒng)功能詳細(xì)設(shè)計
3.1 系統(tǒng)功能詳情需求分析
3.1.1 輸出地址管理功能需求
當(dāng)用戶進入到卡證識別小程序的功能頁面時,點擊選擇輸出路徑按鈕,即可進入輸出地址管理頁面。在這里用戶可以在文本框中填寫所期望的卡證信息文件輸出的路徑。文件地址填寫完畢后,可以關(guān)閉頁面,用戶輸入的信息會保存在程序中。
3.1.2 銀行卡識別功能需求
用戶在功能頁面點擊銀行卡按鈕,即可進入銀行卡識別頁面。上方的文本框用于顯示已選中的銀行卡圖片文件,可以直接輸入銀行卡圖片文件的路徑,也可以通過左側(cè)的選擇文件按鈕,選擇所想要識別的圖片文件。如果手上沒有相關(guān)照片,也可以點擊攝像頭按鈕,當(dāng)場錄入用戶的銀行卡照片。然后在選擇該圖片。在錄入成功后,中間的圖像顯示欄會顯示相應(yīng)的照片,點擊AI識別按鈕可以識別相關(guān)信息,點擊右上方關(guān)閉,用戶的信息會保存在程序中。
3.1.3 身份證識別功能需求
用戶點擊功能頁面的身份證按鈕,即可進入身份證識別頁面。里面的布局與銀行卡識別頁面相似,左側(cè)按鈕功能也類似,右側(cè)可以看到自己輸入的卡證照片的相關(guān)信息,點擊關(guān)閉,用戶的信息會保存在程序中。
3.1.4 卡證信息文本化輸出功能需求
用戶點擊輸出按鈕即可進入卡證信息文本化輸出頁面。如果用戶已經(jīng)完成了銀行卡圖片錄入和身份證卡片錄入,這里的確認(rèn)頁面會顯示相應(yīng)的信息,用戶可以核對相應(yīng)信息,如果有錯誤或者遺漏可以自行填補,也可以點擊檢查按鈕看有什么信息沒填。之后點擊確認(rèn)并輸出按鈕,卡證信息文件將會以文本方式輸出。
3.2 人工智能設(shè)計
人工智能部分使用的時百度AI的接口,在使用時需要輸入APP_ID,API_KEY和SECRET_KEY,而這些信息以及提前存放在程序中,方便隨時調(diào)用:
4 程序的總體設(shè)計
4.1 項目的總體架構(gòu)
本項目在總體架構(gòu)上主要分為功能界面、人工智能識別兩大部分。其中功能界面主要利用PyQt5框架以及其提供的QtGui、QtWidgets、QtCore等模塊完成小程序客戶端界面和功能設(shè)計與實現(xiàn),客戶端可以與用戶進行直接交互,提供方便快捷的應(yīng)用體驗。人工智能識別部分主要采用的是百度AI所提供的數(shù)據(jù)接口和numpy中的數(shù)據(jù)處理,其中由百度AI負(fù)責(zé)銀行卡和身份證的識別功能,而numpy中的數(shù)據(jù)處理負(fù)責(zé)相關(guān)信息的處理和輸出。實現(xiàn)識別與相關(guān)信息轉(zhuǎn)化的功能。
4.2 項目開發(fā)方法和環(huán)境部署
項目小程序客戶端的功能開發(fā)和設(shè)計過程主要采用面向?qū)ο蟮目蛻舳碎_發(fā)方法,將客戶端程序的功能劃分開來成為幾個相對獨立的功能模塊,每個功能模塊都具有自己的功能設(shè)計和實現(xiàn)要求,最后再將各個模塊組織和集成起來,這樣使得整個項目的結(jié)構(gòu)層次分明,也便于開發(fā)工作的管理。[2-3]
項目的基礎(chǔ)環(huán)境是基于Anaconda,其包含了conda等功能強大而且比較實用的科學(xué)包及其依賴項。[4]本項目采用的是Anaconda3-5.3.1和python-3.5.3,安裝的組件有baidu-aip,opencv-python和PyQt5。項目選擇python作為程序的開發(fā)語言。在開發(fā)工具的選擇上,采用的是Anaconda自帶的Spyder來開發(fā)小程序。
5 實現(xiàn)界面(圖4)
上述分別是身份證識別,銀行卡識別,功能界面,卡證信息確認(rèn)界面。
5.1 功能頁面
用戶瀏覽與選擇相應(yīng)功能模塊主要在小程序客戶端的功能頁面中。功能頁面中提供的主要是文件輸出路徑填寫,身份證識別,銀行卡識別和輸出確認(rèn)四個按鈕。
5.2 文件地址選擇
文件地址選擇頁面可以實現(xiàn)用戶指定卡證信息輸出路徑的功能,方便用戶在使用完程序后,快速找到相應(yīng)文件。填寫成功后即可退出,相關(guān)卡證信息會輸出在程序里面。
5.3 身份證識別
身份證識別頁面用于識別用戶所上傳的身份證照片中所存在的信息。用戶可以直接在文本框中填寫身份證照片所在的文件路徑,也可以通過左側(cè)的文件選擇按鈕選擇自己的照片所在位置。選擇成功后,該程序會在中間的圖片框中顯示用戶所上傳的圖片,確認(rèn)無誤后點擊AI識別按鈕,相關(guān)信息就會顯示在右側(cè)的文本框內(nèi)。
5.4 銀行卡識別
和銀行卡識別頁面相似,銀行卡識別頁面則是用于識別用戶所上傳的銀行卡照片中所存在的信息。用戶也可以直接在文本框中填寫身份證照片所在的文件路徑,同時也可以通過左側(cè)的文件選擇按鈕選擇自己的照片所在位置。選擇成功后,該程序會在中間的圖片框中顯示用戶所上傳的圖片,確認(rèn)無誤后點擊AI識別按鈕,相關(guān)信息就會顯示在右側(cè)的文本框內(nèi)。
5.5 卡證信息確認(rèn)
卡證信息確認(rèn)頁面主要是用于最后用戶確認(rèn)信息,頁面會顯示用戶之前所錄入的銀行卡和身份證相關(guān)信息,用戶也可以點擊檢查按鈕檢查是否符合輸出的規(guī)范,用戶對自己的卡證信息確認(rèn)無誤后,即可輸出文件。
6 結(jié)束語
作為當(dāng)前的關(guān)注熱點——人工智能,卡證識別能夠提高效率,同時也可以為使用者解決輸入長串的證件號碼所出現(xiàn)的漏寫錯寫問題。小程序與卡證識別相結(jié)合,對于各種證件信息錄入工作有很大助力作用。
本文設(shè)計并開發(fā)了基于百度AI的卡證識別小程序。在這個過程中作者不僅是熟悉了軟件開發(fā)的流程,同時對python、百度AI、PyQt等基礎(chǔ)知識有了更深層次的了解。但是對于卡證識別的研究受限于時間的關(guān)系,部分功能實現(xiàn)需要進一步完善提高,頁面也可以更加美化。盡管如此,但作者始終相信人工智能的應(yīng)用變得更加廣泛是一種必然的趨勢, 隨著人工智能日臻成熟, 卡證識別程序也會持續(xù)完善。
參考文獻:
[1]吳莉莉,王健慶,杜宇翔,等.基于百度AI的校園服務(wù)小程序的設(shè)計與實現(xiàn)[J].現(xiàn)代信息科技,2019,3(18):8-10.
[2]顧小玲.面向過程、面向?qū)ο?、面向組件、面向服務(wù)軟件架構(gòu)的分析與比較[EB/OL].https://www.docin.com/p-304876301.html.2011.
[3]程子珍.基于微信小程序的網(wǎng)上購物系統(tǒng)的設(shè)計與實現(xiàn)[D].首都經(jīng)濟貿(mào)易大學(xué),2018.
[4]sunny颯楓.百度百科——anaconda(開源的Python包管理器)[EB/OL].https://baike.baidu.com/item/anaconda/20407441?fr=aladdin.2019.