基于深度學(xué)習(xí)的銀行卡號識別_第1頁
基于深度學(xué)習(xí)的銀行卡號識別_第2頁
基于深度學(xué)習(xí)的銀行卡號識別_第3頁
基于深度學(xué)習(xí)的銀行卡號識別_第4頁
基于深度學(xué)習(xí)的銀行卡號識別_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

IV摘要目前由于時代的進(jìn)步,手機(jī)支付成為生活中不可或缺的部分,銀行卡號作為重要的支付憑據(jù),具有重要的識別價值。本論文的研究內(nèi)容是以深度神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),從建立數(shù)據(jù)集、定位銀行卡卡號區(qū)域、訓(xùn)練神經(jīng)網(wǎng)絡(luò)和人機(jī)交互系統(tǒng)五個方面著手,實現(xiàn)了一套基于深度學(xué)習(xí)的銀行卡卡號識別系統(tǒng)。本系統(tǒng)的設(shè)計分為兩個方面:一是銀行卡圖像的處理和識別,二是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。首先,利用OpenCV對信用卡的信用卡號碼進(jìn)行處理,并確定其所在的銀行卡號所在的區(qū)域;然后,通過對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和學(xué)習(xí),實現(xiàn)對銀行卡號碼的識別;最后,本文利用PyQt5進(jìn)行了交互界面的設(shè)計,使得用戶更加容易地使用這個系統(tǒng)。本系統(tǒng)可支持多種銀行卡快速識別和批量識別。具有較高的實用性和可靠性。關(guān)鍵詞:銀行卡號識別;深度學(xué)習(xí);模型訓(xùn)練與優(yōu)化ABSTRACTAtpresent,duetotheprogressofthetimes,mobilepaymenthasbecomeanindispensablepartoflife,andthebankcardnumberhasanimportantidentificationvalueasanimportantpaymentcredential.Inthispaper,abankcardnumberrecognitionsystembasedondeeplearningisdesigned,andthemainworkofcardnumberrecognitionincludesfiveparts:datasetcreationandprocessing,bankcardnumberpositioning,neuralnetworktrainingandGUIsysteminterfacedesign.Thesystemismainlydividedintocardnumberprocessingandpositioningandneuralnetworktraining.Firstly,OpenCVisusedtoprocessthecardnumber,locatethebankcardnumberarea,thenidentifythecardnumberthroughthetrainingandlearningoftheneuralnetwork,andfinallyprovideagooduserinteractioninterfacebydesigningtheGUIinterface.Thissystemcanrealizetherapididentificationandbatchidentificationofdifferentbankcards.IthashighpracticabilityandreliabilityKeywords:bankcardnumberrecognition;deeplearning;modeltrainingandoptimization

目錄摘要 IABSTRACT III目錄 IV第一章緒論 11.1研究背景 11.2研究目的和意義 11.3國內(nèi)外研究現(xiàn)狀 21.4本文的研究內(nèi)容 3第二章深度學(xué)習(xí)技術(shù)概述 42.1深度學(xué)習(xí)的基本原理 42.2常用的深度學(xué)習(xí)模型和平臺 42.3深度學(xué)習(xí)在圖像識別中的應(yīng)用 6第三章銀行卡號識別的關(guān)鍵技術(shù) 73.1圖像預(yù)處理 73.2特征提取與選擇 73.3模型訓(xùn)練與優(yōu)化 10第四章基于深度學(xué)習(xí)的銀行卡號識別系統(tǒng)實現(xiàn) 114.1系統(tǒng)設(shè)計思路 114.2數(shù)據(jù)集構(gòu)建及處理 114.3銀行卡卡號定位 124.3.1圖像灰度化 124.3.3邊緣檢測 154.3.4二值化與高斯模糊 164.3.5水平像素統(tǒng)計 174.4深度學(xué)習(xí)平臺搭建 184.4.1Tensorflow工作原理 184.4.2Tensorflow平臺搭建 194.5模型訓(xùn)練以及保存 194.4.1卷積層 204.4.2循環(huán)層 214.4.3解碼與損失 224.5GUI模塊的實現(xiàn) 24第五章系統(tǒng)使用展示以及結(jié)果分析 265.1系統(tǒng)使用展示 265.2結(jié)果分析 27第六章:總結(jié)與展望 276.1主要研究工作總結(jié) 286.2研究成果的創(chuàng)新點和局限性 28致謝 29參考文獻(xiàn) 30附錄 31 第一章緒論1.1研究背景隨著電子支付的普及與發(fā)展,銀行卡在人們的日常生活中已成為必不可少的支付工具之一。在實際使用過程中,銀行卡號的輸入錯誤或者識別錯誤是一個常見的問題,給用戶帶來了不便和安全隱患。因此,開發(fā)一種高效準(zhǔn)確的銀行卡號識別方法對于提升用戶體驗和保障支付安全具有重要意義。目前來說,銀行卡號識別在以下情況下已經(jīng)有十分廣泛的應(yīng)用:(1)移動支付隨著電子支付在國內(nèi)的普及,現(xiàn)金支付已經(jīng)不是大多數(shù)人出門在外的選擇,手機(jī)支付才是目前支付的主流方式;每個商家柜臺上微信和支付寶的二維碼。移動支付的前提則是需要綁定用戶的個人銀行卡,如果使用傳統(tǒng)的手動輸入則十分容易出錯,導(dǎo)致使用體驗不佳,所以在這種情況下卡號識別顯得非常有必要。(2)手機(jī)銀行現(xiàn)如今互聯(lián)網(wǎng)業(yè)務(wù)的多樣化,使得銀行許多業(yè)務(wù)不需要線下到銀行,而且在線上就可以進(jìn)行辦理。而在網(wǎng)上辦理銀行業(yè)務(wù)也是需要用戶綁定銀行卡的,此時手動輸入則會較為麻煩,使用卡號識別系統(tǒng)則可以是工作效率提高。傳統(tǒng)的銀行卡號識別方法主要是基于模板匹配、字符分割、特征提取等技術(shù)進(jìn)行識別。但由于銀行卡號的復(fù)雜性和多樣性,這些方法在實際應(yīng)用中存在一定的局限性。近年來,快速發(fā)展的深度學(xué)習(xí)技術(shù)為銀行卡號識別提供了全新的解決方案。深度學(xué)習(xí)通過構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型,可以對圖像中的特征進(jìn)行自動學(xué)習(xí)和提取,從而實現(xiàn)更精準(zhǔn)的銀行卡號識別。本文的研究工作就是在此基礎(chǔ)上,利用訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的方法,來實現(xiàn)對銀行卡卡號的自動識別。1.2研究目的和意義本文旨在基于深度學(xué)習(xí)技術(shù),設(shè)計一個高效準(zhǔn)確的銀行卡號識別系統(tǒng),以解決傳統(tǒng)方法在復(fù)雜場景下的識別問題。具體目標(biāo)包括以下幾點:(1)通過搭建深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)并對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使得其能夠?qū)W習(xí)并正確的識別銀行卡號;(2)通過對圖像進(jìn)行處理使得圖像便于識別并且能成功的從銀行卡圖片中定位卡號位置;(3)通過設(shè)計GUI界面來增加系統(tǒng)易用性并使用實際圖片來測試識別效果;本研究的意義主要體現(xiàn)在以下幾個方面:(1)提升用戶體驗。通過準(zhǔn)確識別銀行卡號,可以避免用戶因輸入錯誤而產(chǎn)生的不便和時間浪費(fèi),提高支付效率和用戶滿意度。(2)保障支付安全。銀行卡號識別的準(zhǔn)確性對于支付安全至關(guān)重要,通過深度學(xué)習(xí)技術(shù)的應(yīng)用,可以有效防止盜刷和欺詐行為。(3)使用深度學(xué)習(xí)來銀行卡號進(jìn)行識別,這將是深度學(xué)習(xí)在圖像識別領(lǐng)域中的一個簡單的案例和參考1.3國內(nèi)外研究現(xiàn)狀目前,國內(nèi)外對于銀行卡號識別的研究主要集中在傳統(tǒng)方法和深度學(xué)習(xí)方法兩個方向。傳統(tǒng)方法主要基于模板匹配、字符分割和特征提取等技術(shù)。基于模板匹配的方法通過構(gòu)建銀行卡號的模板庫,將輸入圖像與模板進(jìn)行匹配,從而實現(xiàn)銀行卡識別[1]。這種方法對于復(fù)雜場景下的銀行卡號識別效果較差,容易受到光照、噪聲等因素的影響。近年來,深度學(xué)習(xí)技術(shù)的快速發(fā)展為銀行卡號識別帶來了新的突破。深度學(xué)習(xí)通過構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型,可以對圖像中的特征進(jìn)行自動學(xué)習(xí)和提取,從而實現(xiàn)更精準(zhǔn)的銀行卡號識別。以卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(CRNN)結(jié)構(gòu)為基礎(chǔ),通過多層卷積和池化操作,實現(xiàn)銀行卡號圖像的特征提取和歸類。卷積循環(huán)神經(jīng)網(wǎng)絡(luò)一共有三層,從下到上依次為:ConvolutionalNeuralNetworks(卷積神經(jīng)網(wǎng)絡(luò))層、RerrentNeuralNetwork(循環(huán)神經(jīng)網(wǎng)絡(luò)層)、ConnectionistTemporalClassification(轉(zhuǎn)錄層)。其中,ConvolutionalNeuralNetworks(CNN,卷積網(wǎng)絡(luò))主要是操作是對輸入的圖像進(jìn)行特征提取,從而獲得圖像的特征圖;RerrentNeuralNetwork(RNN,循環(huán)層)則是結(jié)合每一次輸入去訓(xùn)練模型,對序列中的每個特征向量進(jìn)行學(xué)習(xí);CTCloss(CTC損失函數(shù))通過對模型的損耗函數(shù)進(jìn)行函數(shù)運(yùn)算,獲得loss值,并將標(biāo)簽轉(zhuǎn)化成真正的標(biāo)簽序列[2]。深度學(xué)習(xí)為了實現(xiàn)特征層次變高的轉(zhuǎn)化,體現(xiàn)出學(xué)習(xí)的能力,需要對大量數(shù)據(jù)的特征進(jìn)行學(xué)習(xí)。一個復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型是由一個個簡單的神經(jīng)元來組成的,神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本單位,結(jié)構(gòu)如圖1-1所示圖SEQ圖\*ARABIC1-1神經(jīng)元深度學(xué)習(xí)的最終目標(biāo)是為了能讓機(jī)器像人類的神經(jīng)系統(tǒng)一樣具有學(xué)習(xí)能力,通過學(xué)習(xí)可以識別不同的文字,語音和圖片等,機(jī)器學(xué)習(xí)按照學(xué)習(xí)方法可以大致分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。本文研究的深度學(xué)習(xí)則屬于監(jiān)督學(xué)習(xí)。深度學(xué)習(xí)已經(jīng)超越了傳統(tǒng)的機(jī)器學(xué)習(xí)很多,主要體現(xiàn)在對數(shù)據(jù)的預(yù)測和分類精度。深度學(xué)習(xí)可以通過學(xué)習(xí)自動的提取數(shù)據(jù)的特征,不需要自己手動去提取,極大的提升了效率。1.4本文的研究內(nèi)容本文將基于深度學(xué)習(xí)技術(shù),提出一種高效準(zhǔn)確的銀行卡號識別方法。具體研究內(nèi)容和方法包括以下幾個方面:(1)深度學(xué)習(xí)技術(shù)概述。介紹深度學(xué)習(xí)的基本原理、介紹常用的深度學(xué)習(xí)模型以及在圖像識別中的應(yīng)用。(2)銀行卡號識別的關(guān)鍵技術(shù)。通過對輸入的銀行卡圖片進(jìn)行圖像預(yù)處理、特征提取與選擇、模型訓(xùn)練與優(yōu)化等關(guān)鍵技術(shù)以達(dá)到識別銀行卡號的目的。(3)基于深度學(xué)習(xí)的銀行卡號識別系統(tǒng)。構(gòu)建適用于銀行卡號識別的數(shù)據(jù)集,并設(shè)計相應(yīng)的深度學(xué)習(xí)模型,通過實驗設(shè)置和結(jié)果分析評估其性能。(4)應(yīng)用探索。探討銀行卡號識別方法的實際應(yīng)用場景,分析存在的問題和挑戰(zhàn),并展望未來的發(fā)展方向。(5)總結(jié)與展望。對本文的主要研究工作進(jìn)行總結(jié),分析研究成果的創(chuàng)新點和局限性,并展望后續(xù)研究的方向。通過以上研究內(nèi)容,本文旨在設(shè)計出一種高效準(zhǔn)確的銀行卡號識別系統(tǒng),為提升用戶體驗和保障支付安全做出貢獻(xiàn),展示深度學(xué)習(xí)在圖像識別領(lǐng)域的應(yīng)用。

第二章深度學(xué)習(xí)技術(shù)概述2.1深度學(xué)習(xí)的基本原理深度學(xué)習(xí)是一種基于人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法,其核心思想是通過構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)對數(shù)據(jù)的自動學(xué)習(xí)和特征提取。深度學(xué)習(xí)的基本原理包括以下幾個方面:(1)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。深度學(xué)習(xí)模型通常由多個神經(jīng)網(wǎng)絡(luò)層組成,大致可以分成三層:輸入層,中間層和輸出層。每一層都包含多個神經(jīng)元節(jié)點。輸入層接收原始數(shù)據(jù),輸出層產(chǎn)生最終的預(yù)測結(jié)果,中間的隱藏層則負(fù)責(zé)對數(shù)據(jù)進(jìn)行特征提取和轉(zhuǎn)換。(2)前向傳播。深度學(xué)習(xí)模型通過前向傳播的方式將輸入數(shù)據(jù)從輸入層傳遞到輸出層。在每一層中,神經(jīng)元節(jié)點根據(jù)輸入數(shù)據(jù)和權(quán)重參數(shù)計算出輸出值,并將其傳遞給下一層。這個過程可以看作是一個函數(shù)的復(fù)合,通過不斷的函數(shù)復(fù)合,模型能夠?qū)W習(xí)到更高層次的抽象特征。(3)反向傳播。深度學(xué)習(xí)模型通過反向傳播的方式,根據(jù)預(yù)測結(jié)果和真實標(biāo)簽之間的差異,對權(quán)重參數(shù)進(jìn)行調(diào)整,使模型的性能不斷優(yōu)化。反向傳播通過鏈?zhǔn)椒▌t計算每一層的梯度,并將梯度信息從輸出層傳遞回輸入層,以更新權(quán)重參數(shù)。(4)損失函數(shù)。數(shù)據(jù)經(jīng)過神經(jīng)網(wǎng)絡(luò)模型后得到一個預(yù)測值,這個值和真實值不相同,差別就為損失。損失函數(shù)就為用于預(yù)測損失的函數(shù)。2.2常用的深度學(xué)習(xí)模型和平臺深度學(xué)習(xí)模型包括多種類型,常用的模型主要有卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和生成對抗網(wǎng)絡(luò)(GAN)等[3]。(1)卷積神經(jīng)網(wǎng)絡(luò)(CNN):CNN的全稱是"ConvolutionalNeuralNetwork"(卷積神經(jīng)網(wǎng)絡(luò)),是一種模仿生物結(jié)構(gòu)的功能模型,其中主要分為三層,分別是卷積層,池化層以及全連接層。本文所使用的為其中的VGG模型,VGG模型如圖2-1所示。圖2-1VGG結(jié)構(gòu)(2)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN):RNN是一種適用于序列數(shù)據(jù)處理的深度學(xué)習(xí)模型。它可以將一個隱藏層之間連接起來,使得一個層的輸入不僅僅只有輸入層的輸入同時還有上一隱藏層的輸出。即被稱為循環(huán)神經(jīng)網(wǎng)絡(luò)。RNN結(jié)構(gòu)如圖2-2所示圖2-2RNN結(jié)構(gòu)(3)生成對抗網(wǎng)絡(luò)(GAN):GAN是一種用于生成新樣本的深度學(xué)習(xí)模型。它由生成器和判別器兩個部分組成。生成器通過學(xué)習(xí)數(shù)據(jù)分布,生成與真實樣本相似的新樣本;判別器則通過學(xué)習(xí)區(qū)分真實樣本和生成樣本。生成器和判別器通過對抗訓(xùn)練的方式相互競爭,最終使得生成器能夠生成更逼真的樣本。在設(shè)計系統(tǒng)時還需要使用深度學(xué)習(xí)的框架,這些使用深度學(xué)習(xí)的平臺,通過這個平臺來實現(xiàn)CNN的過程。深度學(xué)習(xí)框架有Tensorflow、Pytorch和Keras;但是由于在后續(xù)的更新中,Keras已經(jīng)完全集成于TensorFlow框架下了并作為Tensorflow的高級API,不是嚴(yán)格意義的獨立框架。所以主流的深度學(xué)習(xí)框架只有TensorFlow和Pytorch。本文使用的為Tensorflow框架。Tensorflow作為,其可以使用深度神經(jīng)網(wǎng)絡(luò)。其名字中的tensorflow被分為兩部分,這兩部分都是組成這個框架的重要部分,其中Tensor表示數(shù)據(jù),所有數(shù)據(jù)都是一個n維度的數(shù)組,代表“張量”。后半部分則表示計算中的數(shù)據(jù)流。2.3深度學(xué)習(xí)在圖像識別中的應(yīng)用深度學(xué)習(xí)在圖像識別領(lǐng)域取得了顯著的成果,并在多個任務(wù)上取得了優(yōu)于傳統(tǒng)方法的效果。(1)物體識別:深度學(xué)習(xí)模型在物體識別任務(wù)上表現(xiàn)出色。通過訓(xùn)練大規(guī)模的圖像數(shù)據(jù)集,深度學(xué)習(xí)模型能夠?qū)W習(xí)到豐富的特征表示,從而實現(xiàn)對不同類別物體的準(zhǔn)確識別[4]。(2)人臉識別:深度學(xué)習(xí)模型在人臉識別任務(wù)上取得了突破性的進(jìn)展。通過學(xué)習(xí)人臉圖像中的特征,深度學(xué)習(xí)模型能夠?qū)崿F(xiàn)對不同人臉的準(zhǔn)確識別,并在實際應(yīng)用中得到廣泛應(yīng)用[5]。(3)圖像分割:深度學(xué)習(xí)模型在圖像分割任務(wù)上能夠?qū)崿F(xiàn)對圖像中不同區(qū)域的準(zhǔn)確分割。通過學(xué)習(xí)圖像中的像素級別特征,深度學(xué)習(xí)模型能夠?qū)D像分割為不同的語義區(qū)域,為圖像理解和分析提供基礎(chǔ)[6]。(4)目標(biāo)檢測:深度學(xué)習(xí)模型在目標(biāo)檢測任務(wù)上具有很強(qiáng)的表現(xiàn)力。通過引入?yún)^(qū)域提議和多尺度處理等技術(shù),深度學(xué)習(xí)模型能夠?qū)崿F(xiàn)對圖像中多個目標(biāo)的準(zhǔn)確檢測和定位[7]。

第三章銀行卡號識別的關(guān)鍵技術(shù)本文進(jìn)行銀行卡號識別的關(guān)鍵技術(shù)包括圖像預(yù)處理、特征提取與選擇以及模型訓(xùn)練與優(yōu)化。圖像預(yù)處理通過去噪、增強(qiáng)和切割等操作,提高圖像質(zhì)量和銀行卡號的可見性。特征提取與選擇通過提取形態(tài)學(xué)、顏色、紋理和深度學(xué)習(xí)特征,表征銀行卡號的關(guān)鍵信息。模型訓(xùn)練與優(yōu)化通過數(shù)據(jù)集構(gòu)建、模型設(shè)計與實現(xiàn)、模型訓(xùn)練和評估調(diào)優(yōu),提高模型的準(zhǔn)確性和泛化能力。3.1圖像預(yù)處理圖3-1預(yù)處理流程圖如圖sobel_img=cv2.medianBlur(sobel_img,11)#中值模糊sobel_img=cv2.medianBlur(sobel_img,11)#中值模糊

sobel_img=cv2.dilate(sobel_img,None,iterations=2)#膨脹

_,threshold=cv2.threshold(sobel_img,10,255,cv2.THRESH_BINARY)#二值化

threshold=cv2.GaussianBlur(threshold,(9,9),0)#高斯模糊代碼3-1圖像處理部分關(guān)鍵代碼3.2特征提取與選擇特征提取與選擇是銀行卡號識別中的核心步驟,其目的是從預(yù)處理后的圖像中提取出能夠表征銀行卡號的有效特征。常用的特征提取與選擇方法包括以下幾個方面:3.2.1HARR特征HARR特征最早應(yīng)用與人臉表示,和AdaBoost相結(jié)合實現(xiàn)了人臉檢測Haar特征主要分成四類:邊緣,線性,中心和對角線。Haar特征的另外一個名字也被叫做矩形特征,矩形特征模板中有黑白的兩種矩形,所以Haar特征用于反應(yīng)圖像的灰度變化,特征中的四類可以用水平,垂直,對角結(jié)構(gòu)來表示,如圖3-2所示;圖3-2水平垂直對角結(jié)構(gòu)由于矩形特征只能描述簡單的圖形結(jié)構(gòu),銀行卡識別中有大量復(fù)雜的圖像并且像素是沒有規(guī)律的變化,所以Haar不適合應(yīng)用與銀行卡號識別3.2.2LBP特征LBP特征被稱為局部二值模式,將圖像轉(zhuǎn)化為二進(jìn)制值來顯示出圖像特征。原始的LBP算子在3*3的窗口內(nèi),將模板中的每個象素的灰度和中間的灰度進(jìn)行對比,如果灰度比中間的灰度大,那么就是1,否則就是0,這樣就可以將灰度圖轉(zhuǎn)變?yōu)槎M(jìn)制值,LBP算法的公式如下:LBP其中(xc,yc)為中心像素;ip代表鄰域的灰度值;ic代表中心窗口的灰度值;p代表鄰域的第p個像素。S(x)為函數(shù),如下:SLBP提取特征的方法依次為:將圖像分成3*3的小單位;計算所有像素點的LBP值;計算直方圖,并將其連接成一個向量;根據(jù)該向量得到LBP特征。3.2.3HOG特征HOG也就是我們所說的方向梯度直方圖,可以看到,它是通過對一個區(qū)域內(nèi)的梯度方向直方圖進(jìn)行分析而得到的。目前主流為HOG+SVM的思路。HOG的主要原理為:在一張圖片中圖像區(qū)域的變化可以通過其方向梯度直方圖的變化或者該區(qū)域邊界上的密度分布來表示出來。流程如圖3-3所示。圖3-3HOG流程圖詳細(xì)的過程可以分為(1)對圖片進(jìn)行歸一化,對gamma和顏色空間標(biāo)準(zhǔn)化。通常會將圖片轉(zhuǎn)為灰度圖。Gamma壓縮公式為:I(2)計算梯度。分別計算圖像橫縱坐標(biāo)方向的梯度,獲取輪廓,弱化光照影響。(3)制作梯度圖直方圖,以表示每個方向上的梯度,并將其合成大的block,獲得HOC特征。3.3模型訓(xùn)練與優(yōu)化模型訓(xùn)練與優(yōu)化是銀行卡號識別中的關(guān)鍵環(huán)節(jié),其目的是通過訓(xùn)練算法和優(yōu)化策略,提高模型的精準(zhǔn)度和概括能力。常用的模型訓(xùn)練步驟和優(yōu)化方法有以下幾個方面的內(nèi)容:(1)數(shù)據(jù)集的構(gòu)建。構(gòu)建適用于銀行卡號識別的數(shù)據(jù)集是模型訓(xùn)練的基礎(chǔ)。可以通過采集真實的銀行卡號圖像,并進(jìn)行標(biāo)注,構(gòu)建包含正樣本和負(fù)樣本的數(shù)據(jù)集。(2)模型設(shè)計。根據(jù)銀行卡號識別的特點,設(shè)計合適的深度學(xué)習(xí)模型。可以選擇已有的模型架構(gòu),如CNN、RNN等,也可以根據(jù)具體需求進(jìn)行模型的定制。(3)模型訓(xùn)練。利用數(shù)據(jù)集對模型進(jìn)行訓(xùn)練,利用數(shù)據(jù)集訓(xùn)練模型,通過反向傳播算法對模型權(quán)重參數(shù)進(jìn)行更新。在此基礎(chǔ)上,利用SGD等優(yōu)化方法,提高模型的收斂性與推廣能力。[8]。(4)模型評估與調(diào)優(yōu)。對訓(xùn)練好的模型的各項數(shù)據(jù)進(jìn)行評估,并對其性能與限制進(jìn)行分析。在此基礎(chǔ)上,通過調(diào)整超參數(shù)和增加訓(xùn)練樣本等方法,對模型進(jìn)行調(diào)整[9]。

第四章基于深度學(xué)習(xí)的銀行卡號識別系統(tǒng)實現(xiàn)4.1系統(tǒng)設(shè)計思路工作原理為:事先準(zhǔn)備好大量的訓(xùn)練模型數(shù)據(jù),然后對圖片通過處理之后進(jìn)行訓(xùn)練,最后保存模型,同時用戶上傳有關(guān)銀行卡的圖片,同時將圖片以及模型導(dǎo)入,達(dá)到識別銀行卡號的目的。如圖4-1所示。系統(tǒng)流程大致可以分為四個個步驟:1.構(gòu)建訓(xùn)練集建立數(shù)據(jù)庫,處理訓(xùn)練集圖片。2.通過提取特征來對銀行卡號進(jìn)行定位,將圖片以灰度讀入,再通過二值化等操作以便提取銀行卡號圖片中的銀行卡號,并且進(jìn)行識別。3.通過CRNN神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練。4.使用PyQt5設(shè)計GUI界面UI使用QtDesigner使得更易使用。圖4-1系統(tǒng)流程圖4.2數(shù)據(jù)集構(gòu)建及處理只要是使用了深度學(xué)習(xí)來對圖片進(jìn)行識別,都是初始數(shù)據(jù)越多,最后識別的準(zhǔn)確性就會越高,所以我們從網(wǎng)上下載了1000余張人工處理的銀行卡號截圖作為初始訓(xùn)練集,由于銀行的不同也導(dǎo)致了各種銀行卡的外表也各不相同,不同的卡片背景和卡號處理方法都不一樣,所以初始訓(xùn)練集中都是各種各樣大小不一的卡號圖片,而且大部分都是由3-4個銀行卡字符單位組成的圖片。部分圖片如圖4-2所示圖4-2部分初始圖片將圖片以灰度圖像讀入,對其進(jìn)行高斯模糊、二值化處理。由于數(shù)據(jù)量較少,通過對訓(xùn)練集做平移、添加噪聲處理,進(jìn)行增強(qiáng)并分別生成train.txt.和val.txt.。4.3銀行卡卡號定位本章主要工作是設(shè)計銀行卡號定位模塊,其中主要采用了opencv來對圖像進(jìn)行處理通過opencv對圖片進(jìn)行不同的圖形學(xué)變換,例如膨脹腐蝕,浮雕化處理等。來使得卡號便于識別。對于卡號定位這個工作,我選擇使用opencv庫,由于銀行卡上不僅有銀行卡號等數(shù)字,上面還有根據(jù)不同銀行有著不同的圖案,因此我們要對圖像進(jìn)行許多調(diào)整。例如對圖片的分辨率進(jìn)行調(diào)整,然后進(jìn)行去除背景,灰度處理,中值濾波以及邊緣檢測等工作,部分代碼如圖4-3所示圖4-3圖形處理部分關(guān)鍵代碼4.3.1圖像灰度化由于生活中的各種事物都有不同的色彩,銀行卡號也是如此。因此我們需要將圖像灰度化以消除各色背景對卡號識別造成的影響。生活中的彩色圖片中有三個通道,由三原色組成紅藍(lán)綠,也被稱為RGB。代表著紅色red,綠色green和藍(lán)色blue。也就是我們俗稱的三原色。而灰度化就是將彩色像素都轉(zhuǎn)化為一個灰度值,這個灰度值只有亮度區(qū)別,沒有顏色區(qū)別。所以彩色圖片要進(jìn)行灰度處理就是分別處理RGB這三個分量。將其轉(zhuǎn)化為灰度值后,灰度值的范圍都為0-255,數(shù)值越大則越接近白色。目前主流的灰度化方法有以下幾種。加權(quán)平均法:設(shè)定一個條件,一般是一個權(quán)值,對分量的值進(jìn)行加權(quán)平均;F(i,j)=KRR(i,j)+KGG(i,j)+KBB(i,j)(公式4-1)最大值法:將R,G,B中亮度最大的分量值作為灰度值;F(i,j)=max(R(i,j),G(i,j),B(i,j))(公式4-2)平均值法:將R,G,B三分量的灰度值相加后求平均,將其作為灰度值;F(i,j)=(R(i,j),G(i,j),B(i,j))/3(公式4-3)gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

gray_img=cv2.dilate(gray_img,None,iterations=2)

gray_img=cv2.erode(gray_img,None,iterations=2)emboss_img=self.embossment(gray_img)代碼4-14.3.2濾波去噪由于對圖像進(jìn)行操作時會不可避免的遭受到噪聲的污染,常見的有高斯噪聲,椒鹽噪聲等,這些噪聲會影響圖像的后續(xù)處理,如圖4-4所示圖4-4椒鹽噪聲為了消除噪聲的影響,我們使用濾波技術(shù)來去除噪聲。為了保持圖像完整性以及保證后續(xù)識別的準(zhǔn)確率,濾波處理時需要注意不能損壞圖像輪廓以及邊緣信息。常用的濾波方法有以下幾種:(1)均值濾波均值濾波也被稱為簡單濾波,對圖像內(nèi)的一定領(lǐng)域的灰度值求平均,將平均值作為中心值保存在結(jié)果中。取一個3*3的模板,如圖4-5所示。圖4-5均值濾波模板求另外8給像素的平均值,用平均值來代替中心(x,y),公式如所示g(2)高斯濾波高斯濾波顧名思義是適合處理高斯噪聲的濾波方法。高斯濾波中會對圖像的各個像素點為中心選取不同區(qū)域進(jìn)行加權(quán)平均,可以有效的使圖像變得平滑。需要選取一個區(qū)域內(nèi)像素點為模板,例如3*3、5*5或者7*7,將區(qū)域內(nèi)圖像中的像素點用一個值來表示,最后使用高斯濾波的函數(shù)來計算加權(quán)平均值。函數(shù)如下;G其中x2,y2代表領(lǐng)域內(nèi)中心像素與其他的距離;σ則代表標(biāo)準(zhǔn)差。(3)中值濾波中值濾波和上文的線性高斯濾波不同,是一種非線性的處理方式。中值濾波將圖像中的一點的值用這個點相鄰的其他各個點的重視來代替,這樣做的好處是可以讓相鄰的像素值與真實值更加的接近,以此消除孤立的噪聲。如圖4-6所示。圖4-6中值濾波計算公式如下;yi∈N,v=由于均值濾波會使圖像細(xì)節(jié)變得模糊,會丟失部分細(xì)節(jié)。并且在去除圖像中的噪點的時候也不注重保留圖像的信息,使得圖像變得模糊;而高斯濾波則是比較適用于高斯噪聲。而相對這兩種,中值濾波可以比較好的保留圖像細(xì)節(jié)信息,也不會像均值濾波一樣將圖像變得模糊。所以本文中使用中值濾波來進(jìn)行處理,相關(guān)代碼如4-2所示;blur_img=cv2.medianBlur(blur_img=cv2.medianBlur(gray_img,9)4.3.3邊緣檢測對圖片進(jìn)行灰度化處理之后,在圖片中會有灰度值或者結(jié)構(gòu)等等信息突然發(fā)生變換的地方,把它叫做邊緣。邊緣是圖像中兩個區(qū)域的交界地帶,往往與圖像的性質(zhì)、結(jié)構(gòu)有很大的關(guān)系。利用邊緣檢測技術(shù),可以方便地對圖像進(jìn)行分割。利用邊緣提取技術(shù)對圖像進(jìn)行分割,不僅能有效地降低數(shù)據(jù)的數(shù)量,而且能有效地分離出不需要的信息,從而保護(hù)好圖像中的重要結(jié)構(gòu)。邊緣提取主要有兩種方法,一種是基于搜索的方法,另一種是基于零穿的方法?;谒阉鳎河捎谝浑A導(dǎo)數(shù)極大的區(qū)域往往與邊緣區(qū)域的象素值發(fā)生突變相對應(yīng),所以尋找一階導(dǎo)數(shù)的極大值作為邊界檢測的依據(jù)。如圖4-7所示圖4-7基于零穿越:通過對一階導(dǎo)數(shù)再求導(dǎo),求二階微分。在這個時候,二階導(dǎo)數(shù)的零點就是原始圖象的象素值發(fā)生突變的地方,也就是邊緣點。如圖4-8所示。圖4-8基于這兩種方法,衍生出了許多的算法,本文采用的是基于搜索的Sobel算子,該算法對灰度漸變和噪聲較多的圖像處理較為優(yōu)秀且多邊緣定位比較準(zhǔn)確。G=G(公式4-7)4.3.4二值化與高斯模糊由于圖像灰度化后,灰度值為0-255中的任意值。而二值化就是將圖像中的像素變?yōu)榧兒诨蚣儼祝謩e對應(yīng)灰度值中的0和255。通過二值化可以輕松的將目標(biāo)圖像從復(fù)雜的數(shù)字圖像中提取出來,可以剔除大部分無效的區(qū)域,留下與目標(biāo)圖像閾值相近的像素群。threshold=cv2.threshold(sobel_img,10,255,cv2.THRESH_BINARY)本文采用的是OpenCV庫,所以二值化也采用其中的函數(shù)threshold=cv2.threshold(sobel_img,10,255,cv2.THRESH_BINARY)代碼4-2通過設(shè)置一個閾值,將超過這個閾值的變?yōu)?,也就是黑色。反之將其變?yōu)?55,也就是白色。這些我們就輕而易舉的通過閾值將圖像分割了。完成二值化后我們再對圖像進(jìn)行高斯模糊處理。由于有時候圖像噪聲只是圖像的一小塊區(qū)域,這時候我們就可以對這像素點的相鄰區(qū)域進(jìn)行改變以獲得新的像素點并且使得噪聲更平滑。threshold=cv2.GaussianBlur(threshold=cv2.GaussianBlur(threshold,(9,9),0)代碼4-3該方法中,threshold為輸入圖片,即為以上步驟處理過的圖片。而(9,9)為“ksize”參數(shù),即為卷積核大小,也就是需要處理的鄰域大小,本文中的卷積核大小為(9,9),也就是對像素中心點以外的9*9的區(qū)域進(jìn)行變換。而參數(shù)0則為sigmaX參數(shù),也就是X軸向上的高斯核的sigma。當(dāng)此參數(shù)為0時將根據(jù)ksize參數(shù)來自動計算sigma參數(shù)。σ=0.3?((ksize?1)?0.5?1)+0.8(公式4-8)通過該函數(shù)可以對傳入的σ參數(shù)分別生成兩個一維卷積核并在x和y軸上做卷積,從而達(dá)到高斯模糊的效果,如圖4-9所示。圖4-9高斯模糊效果4.3.5水平像素統(tǒng)計通??ㄌ柖荚诳ǖ闹邢聟^(qū)域,因為圖片已經(jīng)進(jìn)行了二值化處理,只有黑白兩色,又因為通常銀行卡號二值化后是一長串白色像素,所以我們可以通過統(tǒng)計水平方向的黑色像素來確定卡號的位置,統(tǒng)計結(jié)果如4-3-3。去除頂上和最下面這兩個不可能有卡號的地方,平均有黑色像素最少的區(qū)域就是銀行卡卡號所在位置,將圖片從上到下劃分為10份,計算每一部分黑色像素的平均值,這樣就能得到黑色像素最少的銀行卡號區(qū)域了。如圖4-10所示圖4-10水平像素統(tǒng)計4.4深度學(xué)習(xí)平臺搭建前文中主要講解了如何對圖像進(jìn)行處理,并對卡號區(qū)域進(jìn)行定位,是識別銀行卡號中不可缺少的部分。而小節(jié)將開始搭建深度學(xué)習(xí)框架Tensorflow。4.4.1Tensorflow工作原理當(dāng)前主流的深度學(xué)習(xí)方法主要有PyTorch,Tensorflow等。本文中所用到的Tensorflow是一個開放源碼的深度學(xué)習(xí)框架,它是由谷歌開發(fā)的。這是一款使用靈活且功能十分強(qiáng)大的框架,其在CPU、GPU以及移動設(shè)備等平臺都可以運(yùn)行,并支持本文使用的CNN、RNN等模型,在機(jī)器學(xué)習(xí)的各個領(lǐng)域以及有不少的應(yīng)用。Tensorflow的命名基于其工作原理,其是基于數(shù)據(jù)流編程的系統(tǒng);tensor的意思是張量代表N維數(shù)組,flow則為流動。意為張量從圖一端到另一端。數(shù)據(jù)流用結(jié)點和線來組成有向圖。節(jié)點主要用來表達(dá)它在數(shù)據(jù)上的算術(shù)運(yùn)算的改變,經(jīng)常是一些動作,比如讀或?qū)?。而線表示的是不同的節(jié)點間的關(guān)系,比如輸入和輸出。圖4-11Tensorflow流程圖構(gòu)建圖:該框架使用圖來表達(dá)任務(wù),所以需要構(gòu)建圖。需要先構(gòu)建節(jié)點然后對其初始化,最后創(chuàng)建新變量。執(zhí)行圖:構(gòu)建完后就要對其執(zhí)行操作。首先創(chuàng)建對話對象,然后對節(jié)點和變量執(zhí)行操作,最后輸出結(jié)果。4.4.2Tensorflow平臺搭建本文的Tensorflow在windows平臺上使用Python進(jìn)行編譯。版本為Python3.7.1,編譯環(huán)境為Anaconda。由于Tensorflow同時支持CPU和GPU,GPU版本處理速度更快,所以本文使用Tensorflow-gpu,版本為1.13.1.使用GPU版本需要先安裝cuda和cudnn,安裝方法較為簡單,下載相應(yīng)的exe安裝包直接安裝即可,本文使用的版本為cuda10.0.130和cudnn7.6.5。由于本文使用anaconda進(jìn)行編譯,所以可以直接在anaconda中搜索Tensorflow1.13.1并安裝在環(huán)境中。4.5模型訓(xùn)練以及保存數(shù)據(jù)加載進(jìn)模型后,需要定義模型結(jié)構(gòu)。識別使用的是CRNN文本識別網(wǎng)絡(luò)。如圖4-12所示圖4-12CRNN網(wǎng)絡(luò)結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)按照步驟可以分為以下幾個部分:ConvolutionalNeuralNetworks(卷積神經(jīng)網(wǎng)絡(luò)),通過對圖像特征進(jìn)行處理并提取,獲得每張圖像的特征。RerrentNeuralNetwork(循環(huán)神經(jīng)網(wǎng)絡(luò)層),結(jié)合每一次輸入去訓(xùn)練模型,對序列中的每個特征向量進(jìn)行學(xué)習(xí);CTCloss(CTC損失函數(shù)),可以靈活計算損失,進(jìn)行梯度下降。不同銀行的銀行卡卡號長度不同,因此對卡號的識別的過程中涉及到對不定字長的文本預(yù)測。我們此時有兩種識別方案,第一種為只使用CNN來進(jìn)行識別,如果使用此方案我們需要將卡號中的每一個字符分割開來,這樣會極大的降低效率以及準(zhǔn)確率,所以我們采用第二種方法即是CNN+RNN來進(jìn)行識別。除此之外,我們還需要構(gòu)建CNN與RNN之間的轉(zhuǎn)換層,以及將RNN所做的每幀預(yù)測轉(zhuǎn)換成標(biāo)簽序列。架構(gòu)如圖4-13;圖4-13識別網(wǎng)絡(luò)架構(gòu)架構(gòu)分為三部分:4.5.1卷積層第一部分為卷積層,CNN采用的是VGG模型。CNN簡單圖如圖4-14所示;圖4-14CNN簡單圖一般CNN結(jié)構(gòu)中,第一層讀入圖片并進(jìn)行卷積操作,也就是圖中的Convolution操作,主要目的是為了提取圖像特征,獲得第二層中特征圖,公式為w'(公式4-8)其中W代表矩陣大小,k代表卷積核大小,s代表步幅,p代表補(bǔ)零層數(shù)。然后在第二層中進(jìn)行池化操作得到第三層的特征圖并通過重復(fù)五次得到五個特征圖,最后將其放入全連接層,組成一個神經(jīng)網(wǎng)絡(luò)。本文中使用到的VGG網(wǎng)絡(luò)結(jié)構(gòu)則是用不同數(shù)量的3*3卷積核來代替原本的卷積核,例如可以使用2個3*3來代替一個5*5,3個3*3來代替一個7*7。這樣可以減少所需要的參數(shù),在輸入和輸出都不變的情況下,縮小矩陣的寬高,公式如4-9所示;7?7?C?C=49C3?3?C?C+3?3?C?C+3?3?C?C=27C(公式4-9)從以上計算可以看出使用7*7的參數(shù)幾乎是使用VGG的兩倍,所以使用VGG可以提高網(wǎng)絡(luò)的性能。4.5.2循環(huán)層第二部分是循環(huán)層RNN,采用的是LSTM網(wǎng)絡(luò)模型。用于找出所有預(yù)測可能。RNN的主要作用是將前后輸入關(guān)聯(lián)起來。通俗的說,就是需要連接上下文來理解。如果沒有RNN,那么前一個輸入則和后一個輸入沒有任何的關(guān)系,但是某些情況下為了更好的處理信息,則需要將前一次輸入和后面的輸入聯(lián)系起來,也就是不能孤立每一個信息,需要聯(lián)系起來。簡單的RNN結(jié)構(gòu)如圖4-15所示;圖4-15RNN結(jié)構(gòu)圖從圖4-11中可以看出,這一個隱藏層中的S不僅受到輸入x的影響,還受到上一次的隱藏層w的影響,以此將每一次的輸出聯(lián)系起來。OS(公式4-8)從公式中不難看出,St的值不僅取決Xt還取決于Xt-1。4.5.3解碼與損失第三部分則是解碼部分,用于形成訓(xùn)練結(jié)果,解碼的標(biāo)簽序列如圖4-16所示;圖4-16標(biāo)簽序列但是在銀行卡號識別中,神經(jīng)網(wǎng)絡(luò)模型在進(jìn)行解碼的時候會參數(shù)真實標(biāo)簽與輸出預(yù)測無法對齊的問題,所以我們采用CTCloss作為損失函數(shù)。CTC計算的對象為中的softmax矩陣,softmax層在RNN的末尾,softmax矩陣大小是timestep*num_classes,timestep表示的是時間序列的維度,num_class表示類別的維度,CTC中概率的計算公式為;p搭建完損失函數(shù)后,為了將訓(xùn)練數(shù)據(jù)可視化,我們需要在模型搭建完成后創(chuàng)建數(shù)據(jù)生成器,定義一個類,從4.1中訓(xùn)練時創(chuàng)建的文件中讀取數(shù)據(jù)的圖片和其對應(yīng)的標(biāo)簽。然后我們通過執(zhí)行代碼來進(jìn)行模型的訓(xùn)練。最后將模型放入項目目錄下的model目錄中。如圖4-17所示;圖4-17模型保存結(jié)果4.6GUI模塊的實現(xiàn)最后GUI模塊的實現(xiàn),GUI被稱為可視化的用戶界面,為用戶設(shè)計操作界面使得程序更易使用。使用PyQt5來搭建可視化界面,該庫將原本在C++上的Qt庫和Python相融合,能為開發(fā)者提供多種搭建界面所需要的各種功能,是替代Python標(biāo)準(zhǔn)庫中的tkinter圖形庫的一個主流擴(kuò)展庫。界面分為兩大部分,分別是功能按鍵和顯示圖片。按鍵功能分別是:打開圖片:點擊后可以自由選取文件夾中的圖片卡號定位:可以自動定位圖片中的卡號位置,并顯示在最上方。卡號識別:點擊后可以自動識別以定位的卡號,結(jié)果顯示在卡號下的文本框退出:退出程序Ui效果如圖4-18和4-19所示;圖4-18UI效果圖4-19選取圖片

第五章系統(tǒng)使用展示以及結(jié)果分析5.1系統(tǒng)使用展示打開銀行卡號識別的界面。選擇不同的圖片來進(jìn)行測試,程序都能快速且精準(zhǔn)的識別到卡號位置以及數(shù)字。如圖5-1所示;圖5-1識別不同的卡號但是在實際情況中不是每一張銀行卡都是這么容易識別的,某些銀行卡表面有許多明顯圖案,這些也會影響到卡號的識別。這時我們可以點擊手動識別,來手動的選取卡號的位置。如圖5-2所示;圖5-2手動定位如果需要識別多張銀行卡也可以使用batch_test.py用于對銀行卡進(jìn)行批量識別。如圖5-3所示;圖5-3批量識別結(jié)果5.2結(jié)果分析整個模型是在Windows1123h2系統(tǒng)下,編譯環(huán)境為Anaconda,并且通過GPU加速訓(xùn)練速度,所使用的GPU為NVIDIAGeForceRTX3060Ti,結(jié)果如圖5-4所示;圖5-4訓(xùn)練結(jié)果從以上結(jié)果可以看出,在經(jīng)過僅8個epoch后,loss率大幅下降至6.5左右。隨著訓(xùn)練次數(shù)的不斷增加,訓(xùn)練的loss率逐漸減少。Loss是判斷一個模型是否好的標(biāo)準(zhǔn),loss越小證明識別準(zhǔn)確率越高,可以看出經(jīng)過模型訓(xùn)練后loss明顯變小,因此可以判斷模型的效果良好。第六章:總結(jié)與展望6.1主要研究工作總結(jié)本文主要介紹了如何通過深度學(xué)習(xí)訓(xùn)練來進(jìn)行銀行卡號識別。[10]先通過創(chuàng)建訓(xùn)練集來創(chuàng)造訓(xùn)練數(shù)據(jù),然后使用OpenCV對卡號圖片進(jìn)行圖形學(xué)處理,最后訓(xùn)練構(gòu)建CRNN網(wǎng)絡(luò)來進(jìn)行訓(xùn)練。最后實現(xiàn)對銀行卡號的識別最開始,先通過查找多種銀行卡數(shù)據(jù),以獲取不同類型與不同樣式的銀行卡圖片,將其作為訓(xùn)練集,以便后續(xù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。其次,通過OpenCV庫來對銀行卡圖案進(jìn)行圖形學(xué)變換,例如圖像進(jìn)行二值化,浮雕化等操作使得銀行卡號易于進(jìn)行識別,接下來,構(gòu)建CRNN模型,通過訓(xùn)練集大量圖片進(jìn)行識別,使得模型可以更準(zhǔn)確且精準(zhǔn)的識別各種各式各樣的銀行卡號最終,使用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)來識別銀行卡號,并制作Gui界面來測試功能可用性并且提高程序易用性。總的來說,這項研究通過使用OpenCV和CRNN等處理技術(shù)和神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)了對銀行卡號的只能識別,對于金融行業(yè)很多場景有一定的實際應(yīng)用價值6.2研究成果的創(chuàng)新點和局限性本文的研究成果主要體現(xiàn)在以下幾個方面:(1)方法創(chuàng)新:本文提出了一種基于深度學(xué)習(xí)的銀行卡號識別方法,通過構(gòu)建合適的數(shù)據(jù)集、選擇合適的深度學(xué)習(xí)模型,并進(jìn)行相應(yīng)的模型訓(xùn)練和優(yōu)化,實現(xiàn)了對銀行卡號的準(zhǔn)確識別。本文的研究還存在一些局限性:(2)數(shù)據(jù)集的規(guī)模和多樣性有限:由于數(shù)據(jù)采集和標(biāo)注的限制,構(gòu)建的數(shù)據(jù)集規(guī)模和多樣性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論