• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Inception-v3模型的蛇類圖像識別

      2019-07-20 13:24:35張皓洋
      電子技術(shù)與軟件工程 2019年10期
      關(guān)鍵詞:蛇類交叉損失

      張皓洋

      摘要:本研究基于遷移學(xué)習(xí)方法,重新訓(xùn)練TensorFlow深度學(xué)習(xí)庫中的Inception-v3卷積神經(jīng)網(wǎng)絡(luò)模型,對5種代表性蛇類進(jìn)行高精度分類。模型訓(xùn)練結(jié)果顯示,訓(xùn)練集總體準(zhǔn)確率達(dá)到99%,測試集總體準(zhǔn)確率達(dá)到92.3%,模型交叉熵?fù)p失值維持在0.015,具有良好的分類準(zhǔn)確性。本研究針對此模型開發(fā)了一款Web系統(tǒng),實現(xiàn).了模型Web線上部署,系統(tǒng)實測評估結(jié)果顯示,對于5種實際蛇類圖片,模型實際分類準(zhǔn)確率維持在88%-96%之間,具有良好的泛化能力。

      [關(guān)鍵詞]蛇咬傷遷移學(xué)習(xí)TensorFlow卷積神經(jīng)網(wǎng)絡(luò)Web系統(tǒng)

      1引言

      據(jù)相關(guān)數(shù)據(jù)顯示,全世界范圍內(nèi),毒性.蛇類超過660種,約占蛇類總數(shù)的20%,其中致命性毒蛇近200余種。我國毒性蛇類有60余種,約占國內(nèi)蛇類總數(shù)的30%,其中劇毒類10余種。由于我國蛇咬傷(snakebite)情況主要發(fā)生于南方熱帶、亞熱帶的農(nóng)村偏遠(yuǎn)地區(qū)并且我國蛇傷診療標(biāo)準(zhǔn)不統(tǒng)一、不規(guī)范等問題,蛇咬傷總體死亡率和致殘率較高,嚴(yán)重危害了國民生命健康。近年來,人工智能(Artificialintelligence,AI)迅猛發(fā)展,深度學(xué)習(xí)(Deeplearning,DL)作為人工智能的重要方法,在圖像識別中被廣泛應(yīng)用。本文主要基于遷移學(xué)習(xí)方式,使用深度學(xué)習(xí)方法中的卷積神經(jīng)網(wǎng)絡(luò)對幾類野外常見的蛇類圖像進(jìn)行分類,進(jìn)而判別其有無毒性。研究旨在提高野外作業(yè)人員應(yīng)對毒性蛇的安全意識,盡可能避免野外毒蛇咬傷事故的發(fā)生。

      2模型與方法

      2.1深度學(xué)習(xí)模型

      深度學(xué)習(xí)模型屬于深層算法模型,由Hinton等在2006年提出。以反向傳播(BP)算法為核心的神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)模型的核心網(wǎng)絡(luò)結(jié)構(gòu),主要包括輸入層、隱含層以及輸出層,網(wǎng)絡(luò)過程包括輸入的正向傳播和誤差梯度的反向傳播。

      4層神經(jīng)網(wǎng)絡(luò)的正向傳播過程如圖1所示,每個層級都含有多個結(jié)點,i,j、k,1分別為輸入層、隱含層、輸出層的結(jié)點個數(shù),0y,0)k,0u分別是各層之間的鏈接權(quán)重。設(shè)輸入層各神經(jīng)結(jié)點的輸入值為(xo,x,...x.).,第一層隱含層各神經(jīng)結(jié)點的輸出值為(h1o,h1,,h2...h1}),第二層隱含層各神經(jīng)結(jié)點的輸出值為(h2o,h21,h2...2k),輸出層各神經(jīng)結(jié)點的輸出值為(yo,y,y..y),b,bk,by是各層之間的偏置值,激活函數(shù)為g,則第一層隱含層各神經(jīng)結(jié)點的輸出值可表示為式(1):

      第二層隱含層各神經(jīng)結(jié)點的輸出值可表示為式(2)

      輸出層各神經(jīng)結(jié)點的輸出值可表示為式(3):

      神經(jīng)網(wǎng)絡(luò)的反向傳播是將損失誤差從輸出層向輸入層反向傳遞,在負(fù)梯度方向重新調(diào)整鏈接權(quán)重。通過正、反向傳播過程,完成神經(jīng)網(wǎng)絡(luò)的一步訓(xùn)練,然后利用下一組樣本數(shù)據(jù)再次訓(xùn)練,如此循環(huán)直到達(dá)到設(shè)定的訓(xùn)練迭代次數(shù)或者損失函數(shù)不再下降,就完成了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。

      卷積神經(jīng)網(wǎng)絡(luò)(Convolutionalneuralnetwork,CNN)是神經(jīng)網(wǎng)絡(luò)發(fā)展的產(chǎn)物,屬于深層前饋型神經(jīng)網(wǎng)絡(luò),常用于處理圖像識別問題。卷積神經(jīng)網(wǎng)絡(luò)通常包括輸入層、卷積層(Convolution)、池化層(Pooling)、全連接層與輸出層(FullyConnected)。輸入層的每幅圖像數(shù)據(jù)與卷積層中多個卷積核進(jìn)行卷積計算生成新的圖像特征。池化層針對生成的圖像特征圖,選擇其中的一塊小區(qū)域,計算它的平均值或最大值,實現(xiàn)特征圖像各位置的特征聚合分析,減少特征維度,防止過擬合。全連接層類似于神經(jīng)網(wǎng)絡(luò),負(fù)責(zé)將之前處理過的特征進(jìn)行綜合評判,輸出各分類概率,作為分類器分類的依據(jù)。

      在本文中,我們使用遷移學(xué)習(xí)方法對TensorFlow深度學(xué)習(xí)庫中的Inception-v3模型在有無毒性蛇類數(shù)據(jù)集上重新訓(xùn)練來實現(xiàn)有無毒性蛇類的分類。遷移學(xué)習(xí)是指利用從一個環(huán)境中已學(xué)到的現(xiàn)有知識,來解決與舊問題不同但又有一定關(guān)系的其他新問題的深度學(xué)習(xí)方法,這種學(xué)習(xí)方式對數(shù)據(jù)集數(shù)量要求較低,并且訓(xùn)練時間短,精度高。Inception-v3模型是以Inception網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成的第三代CNN分類器。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,由11個Inception模塊組成,共包含46層網(wǎng)絡(luò),圖像通過11個Inception模塊卷積、池化(包括平均池化和最大池化)后由最后的全連接層整合特征,輸入至Softmax層,通過ImageNet數(shù)據(jù)集進(jìn)行訓(xùn)練后的Softmax層可識別ImageNet中1000個類別。

      2.2技術(shù)方法

      2.2.1TensorFlow

      TensorFlow是Google官方發(fā)布的一款機(jī)器學(xué)習(xí)系統(tǒng),可在大規(guī)模和異構(gòu)環(huán)境中運(yùn)行,計算模型通過TensorFlow可輕松部署到分布式集群、單主機(jī)以及移動設(shè)備上,具有很強(qiáng)的靈活性和移植性。

      TensorFlow使用數(shù)據(jù)流圖來表示計算、共享狀態(tài)以及改變狀態(tài)的各類操作,包括各個數(shù)學(xué)運(yùn)算,參數(shù)及其更新規(guī)則以及輸入預(yù)處理。數(shù)據(jù)流圖將數(shù)據(jù)運(yùn)算或操作視作一個節(jié)點(Node),各節(jié)點間的連接稱為邊(Edge),邊中承載流動的計算數(shù)據(jù)是一個多維數(shù)組,即張量(Tensor)。數(shù)據(jù)流圖整個計算過程的本質(zhì)是張量數(shù)據(jù)的流動(Flow)過程,是對機(jī)器學(xué)習(xí)過程的邏輯描述。

      2.2.2Docker

      Docker是一種輕量級的虛擬化容器技術(shù)。Docker虛擬化容器技術(shù)使開發(fā)者不必再為應(yīng)用程序的安裝、部署、發(fā)布以及移植等困擾,通過從開源的Docker鏡像庫(DockerHub)中拉?。≒ull)應(yīng)用鏡像來創(chuàng)建對應(yīng)的應(yīng)用程序容器,這些容器自動包含應(yīng)用程序的各種依賴包和復(fù)雜的環(huán)境配置。開發(fā)人員在這些裝有應(yīng)用和服務(wù)的容器內(nèi)完成開發(fā)工作后,可以直接將容器集成到后續(xù)開發(fā)流程中,實現(xiàn)應(yīng)用程序快速部署和發(fā)布。Docker容器還可以在物理機(jī)、虛擬機(jī)、PC端、服務(wù)器等多個平臺上兼容運(yùn)行,具有良好的移植性;Docker容器啟動極快,能在亞秒內(nèi)啟動,并且對系統(tǒng)資源的利用率很高,不占用系統(tǒng)額外資源。

      3研究內(nèi)容

      3.1數(shù)據(jù)準(zhǔn)備

      由于有毒蛇和無毒蛇類繁多且各類蛇分布區(qū)域差異性大,我們隨機(jī)選取了5種有代表性的蛇類作為研究對象,分別為黑蛇、王錦蛇、眼鏡蛇、銀環(huán)蛇、竹葉青蛇,其中黑蛇和王錦蛇屬于無毒類,眼鏡蛇、銀環(huán)蛇以及竹葉青蛇屬于有毒類。利用python爬蟲腳本以搜索關(guān)鍵字為爬取參數(shù),從網(wǎng)上抓取了5462張高質(zhì)量的蛇類圖片,并以8:2的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,其中訓(xùn)練集以5種蛇類名稱作為數(shù)據(jù)標(biāo)簽來對數(shù)據(jù)進(jìn)行標(biāo)識,數(shù)據(jù)集劃分情況如表1所示。

      3.2模型建立與訓(xùn)練

      在Ubuntu16.04LTS系統(tǒng)平臺上安裝Docker,隨后從DockerHub上pullTensorFlow最新官方鏡像tensorflow/tensorflow,運(yùn)行dockerrun命令創(chuàng)建Tensorflow容器。Tensorflow容器提供了TensorFlow深度學(xué)習(xí)框架的工具庫以及所有依賴項?;赥ensorflow容器提供的TensorFlow平臺,使用遷移學(xué)習(xí)方法保持Inception-v3模型最后全連接層之前的卷積層和池化層參數(shù)不變,導(dǎo)入有無毒性蛇類數(shù)據(jù)集重新訓(xùn)練Inception-v3模型得到圖像特征向量,然后將圖像特征向量重新輸入一個全連接層,進(jìn)行特征變換,全連接層類似于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其每個神經(jīng)元均與前一層的所有神經(jīng)元全連接,神經(jīng)元激勵函數(shù)采用ReLU函數(shù)。Softmax層對最后的全連接層輸出值進(jìn)行分類,最終得到5個分類節(jié)點。

      3.3評價指標(biāo)

      為了更好地評估所建立的深度學(xué)習(xí)模型性能,本文擬采用總體準(zhǔn)確率(Accuracy)和交叉熵?fù)p失函數(shù)(CrossEntropyCostFunction)作為模型的評價指標(biāo)。

      3.3.1總體準(zhǔn)確率

      總體準(zhǔn)確率表示正確分類樣本數(shù)占樣本總數(shù)的比例,如式(4)所示。

      其中,TP代表正類樣本被預(yù)測為正類的樣本數(shù);FN代表正類樣本被預(yù)測為負(fù)類的樣本數(shù);FP代表負(fù)類樣本被預(yù)測為正類的樣本數(shù);TN代表負(fù)類樣本被預(yù)測為負(fù)類的樣本數(shù);TP+TN代表正確分類樣本總數(shù);TP+FN+FP+TN代表樣本總數(shù)。.

      3.3.2交叉熵?fù)p失函數(shù)

      交叉熵?fù)p失函數(shù)表示實際輸出概率與期望輸出概率之間的相近程度。Softmax層通過回歸處理可將神經(jīng)網(wǎng)絡(luò)的實際輸出轉(zhuǎn)化為概率分布,再利用交叉熵?fù)p失函數(shù)計算實際輸出概率與期望輸出概率之間的相近距離系數(shù),系數(shù)越小,兩個概率分布越相似,期望輸出的準(zhǔn)確率也越高。對于單個神經(jīng)元網(wǎng)絡(luò),交叉熵?fù)p失函數(shù)可表示為式(5):

      其中L表示交叉熵?fù)p失函數(shù)值,y表示實際輸出,y表示期望輸出。當(dāng)y=1時,交叉熵?fù)p失函數(shù)為式(6),可見當(dāng)期望輸出y越接近1時,即期望輸出與實際輸出越接近時,損失函數(shù)越小,相反期望輸出y越接近0時,損失函數(shù)趨于無窮大。

      當(dāng)y=0時,交叉熵?fù)p失函數(shù)為式(7),可見當(dāng)期望輸出y越接近0時,即期望輸出與實際輸出越接近時,損失函數(shù)越小,相反期望輸出y越接近1時,損失函數(shù)趨于無窮大。

      由此可見交叉熵?fù)p失函數(shù)可以直觀地解釋實際輸出與期望輸出之間的相近程度:交叉熵?fù)p失值越小,期望輸出與實際輸出越相近,分類準(zhǔn)確率越高。

      3.4結(jié)果及分析

      設(shè)定模型訓(xùn)練迭代次數(shù)為4000余次,分別記錄訓(xùn)練集和測試集上模型的總體準(zhǔn)確率(如圖3所示)以及訓(xùn)練過程中交叉熵?fù)p失量的變化情況(如圖4所示)。

      如圖3所示,隨著訓(xùn)練迭代次數(shù)的增加,訓(xùn)練集總體準(zhǔn)確率可高達(dá)99%,測試集總體準(zhǔn)確率可達(dá)到92.3%,模型總體準(zhǔn)確率表現(xiàn)良好,基本滿足模型識別率要求。如圖4所示,訓(xùn)練初期,交叉熵?fù)p失量下降明顯,表明實際輸出與期望輸出間差距不斷減小;當(dāng)訓(xùn)練迭代次數(shù)達(dá)到3000次時,交叉熵總體損失量基本趨于平緩,在0.015上下波動,表明實際輸出與期望輸出接近一致,模型預(yù)測準(zhǔn)確率高。

      3.5線上部署

      3.5.1系統(tǒng)概述

      為了將具有良好預(yù)測分類效果的模型部署到生產(chǎn)環(huán)境中,實現(xiàn)模型持久化,本文設(shè)計開發(fā)了一款蛇類圖像識別Web系統(tǒng)。系統(tǒng)頁面如圖5所示,主要分為蛇類圖像上傳模塊、蛇類圖像識別模塊以及蛇類知識庫模塊。其中蛇類圖像上傳模塊功能包括用戶圖片,上傳;蛇類圖像識別模塊功能包括蛇類圖像識別分類以及信息提示;蛇類知識庫模塊功能主要包括蛇類查詢、蛇類簡介以及蛇咬傷急救方案。系統(tǒng)開發(fā)平臺為Window7專業(yè)版,服務(wù)器配置為1GB,1核的WindowServer2012R2Standard,代理服務(wù)器采用Nginx,使用HTML5+CSS3+JavaScript的Web技術(shù)搭建系統(tǒng)前端頁面,數(shù)據(jù)庫使用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL,服務(wù)器后端使用PHP腳本實現(xiàn)數(shù)據(jù)動態(tài)交互,并通過PHP外部命令調(diào)用python函數(shù)接口,實現(xiàn)模型線上識別圖像。

      3.5.2系統(tǒng)測試

      模型泛化能力是指利用現(xiàn)有數(shù)據(jù)集訓(xùn)練得到的模型來對訓(xùn)練數(shù)據(jù)以外的數(shù)據(jù)集的預(yù)測能力,模型泛化能力越高,說明模型的實際預(yù)測效果越好。為了評估與驗證本文所建立的模型泛化能力,選取5種蛇類的實際圖片,每類圖片數(shù)為50張,上傳至Web系統(tǒng)來查看模型的分類效果,測試結(jié)果如表2所示。

      通過實測結(jié)果可見模型對于5種實際蛇類圖片的分類準(zhǔn)確率在88%至96%,其中眼鏡蛇的分類準(zhǔn)確率最低,其中有5例被分類為黑蛇,分析可能的原因是眼鏡蛇在外觀顏色上與黑蛇相近,由此導(dǎo)致了識別出現(xiàn)偏差,表明模型識別特征能力還需進(jìn)一步提高。考慮到實測結(jié)果準(zhǔn)確率與模型總體準(zhǔn)確率差異性較小,說明模型實際預(yù)測分類效果良好,模型具有良好的泛化能力,有一定應(yīng)用價值。

      4結(jié)論

      本文基于Tensorflow深度學(xué)習(xí)框架,利用遷移學(xué)習(xí)方法重新訓(xùn)練了卷積神經(jīng)網(wǎng)絡(luò)Inception-v3模型,在有限樣本數(shù)量的情況下重新構(gòu)建了模型最后的全連接層,實現(xiàn)了5種有無毒性蛇類的高準(zhǔn)確率識別分類。本文還開發(fā)了一款蛇類圖像識別Web系統(tǒng),將模型部署上線至生產(chǎn)環(huán)境中,并在實際測試中驗證了模型具有良好的泛化能力。后續(xù)將圍繞增加蛇類數(shù)量和圖片數(shù)量,進(jìn)一步完善模型參數(shù)和性能,幫助從事蛇類或者野外工作者安全識別蛇類類別,提高預(yù)防意識,保障生命安全。

      參考文獻(xiàn)

      [1]FARRARJ,HOTEZP,JUNGHANSST.MansonsTropicalDiseases,23rd[M].EIsevierLimited,2014

      [2]覃公平.中國毒蛇學(xué)[M].南寧:廣西科學(xué)技術(shù)出版社,1998.546-772.

      [3]李其斌,呂傳柱,梁子敬,張劍鋒,王威,賴榮德.2018年中國蛇傷救治專家共識

      [J].蛇志,2018,30(04):561-567.

      [4]LECUNY,BENGIOY,HINTONG.Deeplearning.[J].Nature,2015,521(7553):436.

      [5]HINTONGE,SALAKHUTDINOVRR.Reducingthedimensionalityofdatawithneuralnetworks[J].Science,2006:504-507.

      [6]胡越,羅東陽,花奎,路海明,張學(xué)工,關(guān)于深度學(xué)習(xí)的綜述與討論[J].智能系統(tǒng)學(xué)報,2019,14(01):1-19.

      [7]莊福振,羅平,何清等,遷移學(xué)習(xí)研究進(jìn)展[J].軟件學(xué)報,2015,26(01):26-39.

      [8]SZEGEDYC,VANHOUCKEV,IOFFES,etal.[IEEE2016IEEEConferenceonComputerVisionandPatternRecognition(CVPR)-LasVegas,NV,USA(2016.6.27-2016.6.30)]2016IEEEConferenceonComputerVisionandPatternRecognition(CVPR)-RethinkingtheInceptionArchitectureforComputerVision[J].2016:2818-2826.

      [9]ABADI,MARTIN,BARHAMP,CHENJ,etal.TensorFlowAsystemforlarge-scalemachinelearning[J].2016.

      [10]WONGSUPHASAWATK,SMILKOVD,WEXLERJetal.VisualizingDataflowGraphsofDeepLearningModelsinTensorF1ow[J].IEEETransactionsonVisualization&ComputerGraphics,2017,PP(99):1-1.

      [11]ANDERSON,CHARLES.Docker[Softwareengineering][J].IEEESoftware,2015,32(3):102-103.

      [12]任進(jìn)軍,王寧,人工神經(jīng)網(wǎng)絡(luò)中損失函數(shù)的研究[J].甘肅高師學(xué)報,2018,23(02):61-63.

      猜你喜歡
      蛇類交叉損失
      神話傳說中的神奇蛇類
      少問一句,損失千金
      胖胖損失了多少元
      “六法”巧解分式方程
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      蛇類食性及其對農(nóng)林生態(tài)系統(tǒng)的影響概述
      經(jīng)濟(jì)蛇類養(yǎng)殖與開發(fā)利用
      勘誤
      四川動物(2018年1期)2018-01-22 09:01:27
      連一連
      一般自由碰撞的最大動能損失
      古交市| 六枝特区| 桃江县| 长兴县| 太仓市| 富蕴县| 德令哈市| 灌阳县| 通化市| 延长县| 唐山市| 岑溪市| 临江市| 勐海县| 丰宁| 资溪县| 婺源县| 华宁县| 昭通市| 鲁甸县| 砚山县| 红河县| 正宁县| 尼勒克县| 旬阳县| 乡宁县| 军事| 雅江县| 南靖县| 曲麻莱县| 新营市| 鱼台县| 阆中市| 梅州市| 和田县| 马龙县| 阳新县| 浏阳市| 苍山县| 双城市| 佛冈县|