黃 率
(湖南科技學(xué)院信息工程學(xué)院,湖南 永州 425199)
在過去的10年,人工智能技術(shù)實現(xiàn)了自動駕駛、實用的語音識別、圖像識別和有效的網(wǎng)絡(luò)搜索等。人工智能在今天是如此普及,以至于人們可能一天要使用幾十次。在服裝、制造等傳統(tǒng)行業(yè)中,由于保密、安全、信息化水平等條件限制,在工作中有大量的表格需要在現(xiàn)場手工填寫,然后再錄入到信息系統(tǒng)中,存在重復(fù)工作且容易錄錯[1]。而采用中文手寫體識別可對相應(yīng)表格內(nèi)容進行實時識別和自動錄入,人工進行檢查校驗即可,能夠減少大量人工工作量[2]。圖片識別技術(shù)稱為光學(xué)字符識別,它是計算機視覺領(lǐng)域中重要的研究分支,其較常見的應(yīng)用是印刷體和手寫體文本的識別,前者都是打印字體,相對比較規(guī)整,但是在印刷過程中設(shè)備和紙張的原因?qū)е碌挠∷①|(zhì)量問題,會對光學(xué)字符識別模型的輸入產(chǎn)生噪聲影響,另外由于印刷樣式、底紋背景和拍攝光線等也會對識別的結(jié)果產(chǎn)生干擾[3]。
人們在日常生活中由印刷體產(chǎn)生的各種證件,比如身份證、銀行卡和駕駛證經(jīng)常需要自動識別,并提取其中的數(shù)據(jù)信息。而基于人工智能的文字識別技術(shù)的優(yōu)勢就是對各種印刷體等進行文本識別,通過計算機圖形學(xué)對表格進行識別,并將單元格進行切分,對每個單元格的圖片,通過采用人工智能算法實現(xiàn)文本識別,可減少大量特征提取和處理的工作,并能夠提高模型訓(xùn)練的準確率[4]。
本文設(shè)計的AI圖像識別工具需要在一張圖片上獲取相關(guān)信息。通過Python、PYQT5和百度AI開放平臺開放接口實現(xiàn)簡單的識別圖像上的信息項目——AI圖像識別工具。本文設(shè)計實現(xiàn)的工具可以識別銀行卡圖片、植物圖片、動物圖片、通用票據(jù)圖片、營業(yè)執(zhí)照圖片、身份證圖片、車牌號圖片、駕駛證圖片、行駛證圖片、車型和LOGO等圖片中的相關(guān)信息。
AI圖像識別工具的設(shè)計流程如圖1所示。
圖1 設(shè)計流程圖
操作系統(tǒng):Window7/8/10或者Ubuntu。開發(fā)工具:PyCharm。內(nèi)置模塊:urllib、urllib.request、base64、JSON。第三方模塊:PyQt5。在開發(fā)AI圖像識別工具項目時,主要使用了PyQt5搭建界面base64、urllib、urllib.request模塊來獲取百度API接口信息,使用JSON模塊解析返回的JSON類型數(shù)據(jù)。
2.4.1 根據(jù)項目設(shè)計制作窗體
在設(shè)計AI圖形識別工具的主窗體時,首先需要創(chuàng)建主窗體外層為紅色框內(nèi),然后依次添加分類選擇部分、圖片選擇部分、選擇的圖片顯示區(qū)域、顯示識別結(jié)果和復(fù)制識別結(jié)果部分。
2.4.2 添加分類
根據(jù)原型分析分類有銀行卡、動物、植物、通用票據(jù)、營業(yè)執(zhí)照、身份證、車牌號、駕駛證、行駛證、車型和LOGO等分類。需要添加分類到QComoBox中,代碼如下:
2.4.3 選擇識別的圖片
選擇識別圖片功能,單擊按鈕后彈出選擇框,進行圖片選擇,圖片選擇后顯示圖片路徑以及圖片預(yù)覽效果,同時根據(jù)選擇的分類去進行圖像的識別。
1)為按鈕添加單擊時事件,代碼如下:
Self.pushButton.clicked.connect(self.openfile)
2)實現(xiàn)新建openfile按鈕單擊事件方法,在該方法中打開文件選擇對話框查找圖片,返回選擇的圖片,進行相應(yīng)的處理,包括顯示圖片、設(shè)置顯示圖片路徑、調(diào)整創(chuàng)建的相關(guān)方法、判斷選擇類型進行圖片的識別。
3)實現(xiàn)分類方法,根據(jù)選擇的分類進行圖片識別,核心代碼如下:
2.4.4 圖像識別
圖像識別使用的是百度AI接口,訪問百度接口,返回相應(yīng)的數(shù)據(jù),使用JSON模塊進行處理。以銀行卡識別為例,核心代碼如下:
2.4.5 復(fù)制識別結(jié)果到剪貼板
通過上面的步驟我們獲取到了圖像的識別等結(jié)果,接下來實現(xiàn)復(fù)制識別結(jié)果到剪貼板,該功能在Python中很好實現(xiàn)。
為按鈕添加單擊事件,代碼如下:Self.pushButton_2.clicked.connec(tself.copyText)
創(chuàng)建copyTex(t)方法,實現(xiàn)復(fù)制識別結(jié)構(gòu)到剪貼板,核心代碼如下:
Def copytex(tself):
clipboard=QApplicaion.clipboard()
clipboard.setTex(tself.label_3.tex(t))
對所開發(fā)的AI圖像識別工具的各個功能模塊進行功能測試,測試結(jié)果表明,各個模塊的功能均達到了預(yù)期效果,界面和數(shù)據(jù)交互正常。當用戶進行正常交互時,本工具可以正確地給出識別和反饋,工具可以正常使用。圖2為車牌號識別截圖,圖3為植物識別截圖。但是,目前工具中沒有設(shè)置界面自動整理功能,可在后期維護中加入??傮w來說,該工具功能表現(xiàn)正常,符合最初的設(shè)計要求。
圖2 車牌號識別圖
圖3 植物識別圖
本文設(shè)計并實現(xiàn)了一個基于PYQT5的AI圖像識別工具。該工具將業(yè)務(wù)模塊的設(shè)計過程以及urllib、JSON等技術(shù)應(yīng)用到開發(fā)中。采用PYTHON進行代碼編寫,完成了一次從業(yè)務(wù)需求分析、業(yè)務(wù)模塊的設(shè)計、編碼實現(xiàn)和模塊重構(gòu)等過程的完整開發(fā)。