国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于TensorFlow的掌紋識(shí)別方法研究

2018-10-23 11:40:06王全
價(jià)值工程 2018年33期
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò)

王全

摘要:使用掌紋作為生物特征進(jìn)行身份認(rèn)證是近年來(lái)一門(mén)興起的技術(shù),本文提出一種基于TensorFlow的掌紋識(shí)別方法。該方法首先應(yīng)用TensorFlow Object Detection API使用Google ML Engine云計(jì)算技術(shù)對(duì)獲取到的手掌圖像進(jìn)行訓(xùn)練,利用得到的模型在本地完成手掌檢測(cè);然后通過(guò)手掌檢測(cè)獲得的ROI,使用OpenCV得部分掌紋;最后采用TensorFlow自行編寫(xiě)的卷積神經(jīng)網(wǎng)絡(luò),對(duì)提取到的掌紋圖像進(jìn)行訓(xùn)練,得到訓(xùn)練模型進(jìn)行分類預(yù)測(cè)。實(shí)驗(yàn)表明,該方法對(duì)比PCA、LBP等算法、得到了較高的識(shí)別率。

Abstract: Using palmprint as biometrics for identity authentication is a rising technology in recent years. This paper proposes a palmprint recognition method based on TensorFlow. The method first uses the TensorFlow Object Detection API to train the acquired palm image using Google ML Engine cloud computing technology. The palm can be detected locally by using the model. And then the ROI obtained by palm detection. Use OpenCV to get partial palmprint. Finally, the convolutional neural network constructed by TensorFlow is used. The extracted palmprint image is trained to obtain a training model for classification prediction. Experiments show that this method, compared with PCA, LBP and other algorithms, obtains a higher recognition rate.

關(guān)鍵詞:掌紋識(shí)別;卷積神經(jīng)網(wǎng)絡(luò);手掌檢測(cè);掌紋提取

Key words: palmprint recognition;convolutional neural networks;palm detection;palmprint extraction

中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)33-0169-03

0 引言

掌紋識(shí)別是一種新穎的生物識(shí)別技術(shù)。相對(duì)于人臉和指紋等被廣泛應(yīng)用的生物識(shí)別技術(shù),掌紋具有掌紋面積大、紋理信息多、易獲取、可靠性和精度高等優(yōu)點(diǎn),在考勤和身份認(rèn)證等方面有著廣泛的應(yīng)用。

手掌是指手指根部到手腕之間的區(qū)域,手掌的皮膚紋理稱為掌紋,掌紋中含有豐富的特征。掌紋識(shí)別的優(yōu)劣和特征提取密切相關(guān)。目前掌紋特征提取方法主要分為基于掌紋結(jié)構(gòu)特征、編碼特征、子空間特征和統(tǒng)計(jì)特征四大類[1]。盧光明和鄔向前提出了基于特征掌的掌紋識(shí)別算法[2,3],Yi Pu 等人提出了基于K - Means 和 SVM的掌紋識(shí)別方法[4],Ling Lin 等人結(jié)合PCA和啟發(fā)式人工神經(jīng)網(wǎng)絡(luò)進(jìn)行掌紋識(shí)別[5]。本文嘗試?yán)肨ensorFlow來(lái)提取特征并完成識(shí)別。

1 基于TensorFlow 的手掌檢測(cè)

TensorFlow是谷歌公司為數(shù)值計(jì)算開(kāi)發(fā)的第二代開(kāi)源的一種基于數(shù)據(jù)流圖的處理可以進(jìn)行各種感知和語(yǔ)言理解任務(wù)的機(jī)器學(xué)習(xí)框架。

本文采用約旦的Mutah大學(xué)團(tuán)隊(duì)開(kāi)放的手掌圖片數(shù)據(jù)庫(kù)作為手掌檢測(cè)的訓(xùn)練樣本的原始圖像,該數(shù)據(jù)庫(kù)中有4組,每組有50人,每人含有5張手掌圖片。部分樣本如圖1所示。

利用LabelImg對(duì)圖片進(jìn)行標(biāo)注。在標(biāo)注過(guò)程中,框選訓(xùn)練樣本中手掌的部分標(biāo)注為Hand,并進(jìn)行逐一的保存,得到Pascal VOC文件,保存為XML格式文件,記錄了其中的標(biāo)簽數(shù)以及各標(biāo)簽的ROI。再將Pascal VOC文件轉(zhuǎn)換為CSV格式文件,再和圖片一同轉(zhuǎn)換為record文件。

手掌檢測(cè)的訓(xùn)練模型部分選用TensorFlow Object Detection API提供的預(yù)訓(xùn)練模型中的ssd_mobilenet_v1_coco用于遷移學(xué)習(xí),該訓(xùn)練模型可輸出相應(yīng)的矩形范圍作為ROI,從而完成手掌檢測(cè)的過(guò)程。

其訓(xùn)練過(guò)程在Google Cloud Platform提供的Google ML Engine進(jìn)行訓(xùn)練,首先在本地配置ssd_mobilenet_v1_hand.config文件用于存儲(chǔ)訓(xùn)練的數(shù)據(jù)類和類名以及訓(xùn)練次數(shù);之后在本地配置cloud.yml文件用于訓(xùn)練環(huán)境;之后上傳使用到的預(yù)訓(xùn)練模型和訓(xùn)練的所使用的樣本record文件至谷歌云存儲(chǔ)平臺(tái),即可在Google Cloud SDK中運(yùn)行指令并開(kāi)始訓(xùn)練任務(wù)。在訓(xùn)練過(guò)程中,每幾千次會(huì)存儲(chǔ)一次相應(yīng)的模型至Google提供的云存儲(chǔ)平臺(tái),并可自行選擇暫停。在訓(xùn)練完成后在存儲(chǔ)區(qū)域中可看到相關(guān)的模型,本文采用30045次時(shí)的模型,下載至本地后利用TensorFlow Object Detection中的export_inference_graph.py并在參數(shù)中加入模型的名稱,即可實(shí)現(xiàn)生成.pb文件。

讀取pb文件中的模型,在拍照的或?qū)崟r(shí)攝影的條件下即可得到目標(biāo)檢測(cè)的ROI。手掌檢測(cè)結(jié)果如圖2所示。

2 基于OpenCV的掌紋提取

首先通過(guò)手掌檢測(cè),獲得圖片中關(guān)于手掌部分的ROI,之后為了獲得二值化的手掌圖片,使用將圖片的拷貝轉(zhuǎn)化為ycrcb形式的圖片的方法,根據(jù)ycrcb下的手的顏色進(jìn)行掩模操作從而完成二值化得到手掌黑白圖片的過(guò)程。將圖3(a)手掌ROI圖片轉(zhuǎn)化為ycrcb形式;在ycrcb格式下的圖像顏色中,手掌顏色在其中存在于一個(gè)連續(xù)的RGB區(qū)間內(nèi)。因此從其中獲得如圖3(b)的黑白手掌圖片可以根據(jù)ycrcb格式的手掌顏色進(jìn)行掩模處理獲得,在黑白圖片中尋找周長(zhǎng)最大的輪廓即為手掌;在當(dāng)前的黑白圖片中利用distanceTransform(距離變換)在白色部分中尋找距離黑色部分最大的中心即為手掌中心,根據(jù)手掌中心坐標(biāo)利用距離為半徑畫(huà)圓即為手掌區(qū)域,如圖3(c)粉色圓區(qū)域;利用圓區(qū)域得到其內(nèi)切正方形即為本文提取到的掌紋部分,如圖3(c)綠色正方形區(qū)域;最終可以得到掌紋的范圍并保存,如圖3(d)所示。

3 基于卷積神經(jīng)網(wǎng)絡(luò)的掌紋識(shí)別

在TensorFlow Python API下,使用import指令導(dǎo)入TensorFlow,在tf.nn下為我們提供了實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)各層的相關(guān)函數(shù)。由于本地使用CPU機(jī)器學(xué)習(xí)相對(duì)于GPU配置較低,故本文中使用了簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)用以訓(xùn)練:共分為5層,每3層每層由卷積層(這3層的卷積核大小均為3×3、輸入通道分別為3、32、64)、池化層(使用maxPooling方法取2*2范圍的最大值)和dropout組成。在本神經(jīng)網(wǎng)絡(luò)的最后,全連接層和輸出層各一層。

使用提取到的拍照獲得的掌紋作為正樣本,如圖4所示;Hand Images Database中提取的掌紋作為負(fù)樣本,如圖5所示。隨機(jī)劃分5%圖片作為測(cè)試集,每次讀取120張圖片并轉(zhuǎn)換為64*64像素的圖片,利用前面介紹過(guò)的自行編寫(xiě)的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,經(jīng)過(guò)了較為簡(jiǎn)單的1000次訓(xùn)練得到訓(xùn)練模型。

在進(jìn)行掌紋識(shí)別時(shí)讀取本模型,將掌紋圖片輸入,便可根據(jù)神經(jīng)網(wǎng)絡(luò)輸出結(jié)果判斷是否為正樣本掌紋(因?yàn)樵谌B接層的配置以及訓(xùn)練輸入的圖片只有正負(fù)樣本的區(qū)別,因此識(shí)別出的結(jié)果為判斷是否為本人的掌紋。

4 實(shí)驗(yàn)結(jié)果及分析

使用非訓(xùn)練集的樣本圖片進(jìn)行測(cè)試,在正樣本下由手掌圖片輸入到手掌檢測(cè)、手掌圖片二值化、提取掌紋、掌紋識(shí)別的過(guò)程及每步識(shí)別結(jié)果測(cè)試如圖6由左到右所示。

通過(guò)正樣本下的測(cè)試用例,除了最終正確輸出了True的結(jié)果,但是也發(fā)現(xiàn)正樣本下的手掌拍攝時(shí)光照強(qiáng)度過(guò)大導(dǎo)致提取掌紋時(shí)沒(méi)有達(dá)到設(shè)計(jì)的效果,使得提取的掌紋范圍相對(duì)于預(yù)計(jì)的范圍較小。

而在負(fù)樣本下由手掌圖片輸入到手掌檢測(cè)、手掌圖片二值化、提取掌紋、掌紋識(shí)別的過(guò)程及每步識(shí)別結(jié)果測(cè)試如圖7由左到右所示。

在負(fù)樣本下的測(cè)試用例下,正確輸出了False的結(jié)果,但是通過(guò)觀察可以發(fā)現(xiàn)手掌拍攝時(shí)周圍背景顏色在ycrcb下顏色較為相似,所以導(dǎo)致處理時(shí)手掌的范圍相對(duì)于實(shí)際的范圍較大,雖然提取到的掌紋部分沒(méi)有超出手掌的范圍,但是在特定的情況下可能導(dǎo)致出現(xiàn)一定問(wèn)題。

通過(guò)實(shí)驗(yàn),我們可以明顯發(fā)現(xiàn)光照對(duì)于掌紋識(shí)別正確率的影響,同時(shí)驗(yàn)證了本程序在一定的光照強(qiáng)度下對(duì)含有手掌的圖片能夠進(jìn)行從基于TensorFlow Object Detection API的手掌的檢測(cè)開(kāi)始,通過(guò)基于OpenCV并利用二值化和距離變換的掌紋提取,到基于TensorFlow編寫(xiě)的卷積神經(jīng)網(wǎng)絡(luò)完成對(duì)掌紋識(shí)別的完整的過(guò)程。

5 總結(jié)

本文利用TensorFlow Object Detection API完成了手掌的檢測(cè),基于OpenCV完成掌紋的提取算法,基于TensorFlow 構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)完成掌紋的訓(xùn)練與識(shí)別,對(duì)于每部分的過(guò)程進(jìn)行了詳細(xì)的介紹,并對(duì)每部分進(jìn)行實(shí)驗(yàn),結(jié)果表明,該方法有較高的識(shí)別率,同時(shí)具備穩(wěn)定性和魯棒性。接下來(lái),通過(guò)提高成像設(shè)備和計(jì)算機(jī)設(shè)備的性能,優(yōu)化算法效率,本文提出的掌紋識(shí)別方法將會(huì)有良好的應(yīng)用前景。

參考文獻(xiàn):

[1]岳峰,左旺孟,張大鵬.掌紋識(shí)別算法綜述[J].自動(dòng)化學(xué)報(bào), 2010,36(3):353-365.

[2]Lu Guangming,David Zhang,Wang Kuanquan. Palmprint recognition using eigenpalm Features[J]. Pattern Recognition Letters,2003(24) :1463-1467.

[3]Wu Xiangqian,David Zhang,Wang Kuanquan. Fisherpalms based palmprint recognition [J]. Pattern Recognition Letters. 2003,(24) :2829,12.

[4]Yi Pu,Tian Jianwu,Xu Dan,Zhang Xuejie,Palmprint recognition based on RB K - means and Hierarchical SVM[C]. International Conference on Machine Learning and Cybernetics,66th,Hong Kong,19 - 22 August,2007.

[5]Lin Ling,Palmprint Identification Using PCA Algorithm and Hierar-chical Neural Network[J]. Life System Modeling and Intelligent Computing Lecture Notes in Computer Science Volume 6330,2010:618-625.

[6]胡戎翔.基于掌紋和手形的生物特征識(shí)別方法[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2016.

猜你喜歡
卷積神經(jīng)網(wǎng)絡(luò)
基于深度神經(jīng)網(wǎng)絡(luò)的微表情識(shí)別
卷積神經(jīng)網(wǎng)絡(luò)中減少訓(xùn)練樣本時(shí)間方法研究
卷積神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型研究
基于卷積神經(jīng)網(wǎng)絡(luò)的車輛檢索方法研究
基于卷積神經(jīng)網(wǎng)絡(luò)溫室智能大棚監(jiān)控系統(tǒng)的研究
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識(shí)別算法
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:47:34
深度學(xué)習(xí)技術(shù)下的中文微博情感的分析與研究
軟件(2016年5期)2016-08-30 06:27:49
基于卷積神經(jīng)網(wǎng)絡(luò)的樹(shù)葉識(shí)別的算法的研究
洛南县| 松原市| 老河口市| 鱼台县| 鄂托克旗| 英吉沙县| 石狮市| 宁海县| 西安市| 盐山县| 长沙县| 定边县| 无为县| 静安区| 长春市| 稷山县| 潞城市| 金华市| 菏泽市| 泰宁县| 牙克石市| 定兴县| 西盟| 雷山县| 福安市| 治多县| 华阴市| 沾化县| 南陵县| 雷波县| 应用必备| 泉州市| 德阳市| 盘锦市| 永修县| 成都市| 闻喜县| 延庆县| 南江县| 海口市| 修水县|