• 
    

    
    

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

      ?

      基于Inception V3的圖像狀態(tài)分類技術

      2020-05-11 11:49:44王旖旎
      液晶與顯示 2020年4期
      關鍵詞:預處理神經網絡分類

      王旖旎

      (重慶商務職業(yè)學院,重慶 401331)

      1 引 言

      圖像分類是計算機視覺各種應用的基礎。從人臉表情識別到人體姿勢識別,圖像分類隨處可見。在過去幾年中,隨著機器學習和深度學習的進展,圖像分類鄰域已經發(fā)生了深刻變化,陸續(xù)涌現了很多有效的算法,例如支持向量機、卷積神經網絡等[1-2]。深度學習已被證明是最有效的機器學習技術之一,其核心思路是構建多層神經元來訓練網絡。所有訓練網絡都使用數十個層,在網絡中構建上千個參數,但是由于層級過深導致了較高的計算復雜度和過度擬合。對象狀態(tài)分類在機器人、醫(yī)療、天文、游戲等領域的各種應用中非常有價值,例如識別物體的狀態(tài)在人工智能技術中就很重要。在機器人領域,操作處于不同狀態(tài)的物體需要不同的抓取動作,這需要在機器人的抓取動作中進行不同的行為。

      識別物體狀態(tài)問題的一種典型方法是使用形狀匹配算法[3],這類方法是從對象-對象-交互信息的三元組中獲取對象狀態(tài)來實現圖像分類。這種方法可以連接和模擬同一幀中物體的運動和特征,訓練過程由標記了的視頻序列完成。這類算法通?;谪惾~斯網絡,主要用對象特征、人類行為和對象反應作為參數[4]。劉成穎等利用PSO優(yōu)化了LS-SVM模型,實現了道具磨損狀態(tài)的識別[5]。楊昌其利用BP神經網絡建立模型[6],并對空中管制員的疲勞進行分類,用來評估空中交通管制員的疲勞狀態(tài)。但是上述算法的神經網絡深度較淺,優(yōu)化的目標太過復雜,導致其只適合對狀態(tài)分類較簡單的情況進行識別,識別率不高。

      2 基于Inception V3的圖像識別算法

      2.1 圖像預處理

      深度學習使用具有數百個隱藏層的神經網絡,并且需要大量的訓練數據。構建良好的神經網絡模型需要仔細考慮網絡的體系結構以及輸入數據格式。數據收集和預處理是深度學習[7]的重要組成部分。預處理的第一步是將數據分區(qū)為訓練和測試數據集。本文對數據集中的圖像執(zhí)行多種預處理技術,分別是圖像恢復、圖像插值放大、圖像增強和歸一化。

      數據劃分:將數據劃分為訓練和測試數據集,在分類之前先用隨機算法將數據進行隨機混合,以便每個訓練和驗證集都沒有任何特殊性。對于此項目,數據分類以9∶1的比例完成。 90%的數據用于訓練,剩余的10%用于測試訓練結果。在劃分完成之后,輸入數據到圖像預處理器中,對圖像進行恢復和擴充等預處理,生成批量的規(guī)范化和增強數據。

      圖像縮放:本文在不同的圖像大小和不同的epoch數量上訓練模型。如果圖像尺寸較大,則模型需要更多的epoch才能達到良好的準確度。為了讓訓練的時間復雜度更加穩(wěn)定,本文對輸入圖像最終確定了圖像尺寸256× 256。重新縮放圖像會按給定的縮放系數調整大小,由于重新縮放可能會嚴重影響精度,為了盡量不丟失圖像的信息,本文利用Cubic-convolution插值算法對圖像進行有理插值[8]。

      規(guī)范化圖像輸入:規(guī)范化可確保每個輸入參數具有相似的數據分布,利用這一特性,規(guī)范化操作可以讓訓練時網絡的收斂更快。本文通過從每個像素中減去平均值并將該結果除以標準偏差來完成數據的標準化。在本文的實驗中,圖像像素值在[0,255]范圍內歸一化。

      數據擴充:如果在小型數據集上訓練深度神經網絡,可能導致過度擬合或者可能在測試數據上表現不佳,數據擴充通過增加數據集的大小防止過度擬合[9]。由于本文主要針對食物的數據進行處理,而這類數據集本身比較小,因此利用數據擴充作為預處理技術的最后一步。本文的數據擴充主要利用生成對抗網絡 (Generative Adversarial Networks, GAN)來實現[10],該網絡可以不斷學習圖像特征,利用生成器不斷生成偽造圖片,利用判別器不斷判斷生成圖片的真?zhèn)?,最終達到納什均衡,從而生成出逼真的圖片。擴充后數據集的總大小約為30 000個圖像。

      2.2 優(yōu)化的Inception V3

      本文利用Inception V3進行轉移學習。在實際應用中,有時可能存在沒有足夠數據來訓練網絡以獲得有效結果的情況。在這種情況下,可以使用轉移學習。用于預訓練網絡的訓練可能僅對一個域是足夠的,并且我們擁有的數據可能在不同的特征空間中。在這些情況下,應用學習轉移方式賦予網絡已訓練好的參數信息,將大幅提高神經網絡的學習性能。

      創(chuàng)建的模型將在對數據集進行訓練時在預訓練模型上添加了一些圖層。整個模型如圖1所示。

      圖1 本文提出的模型架構Fig.1 Model architecture presented in this paper

      網絡的第一層是卷積層。卷積層以張量陣列的形式生成輸出[11-12]。

      下一層是批量標準化層(BN層)。批量標準化提供了一種將輸入逼近0或對輸入數組中所有值求平均的方法。這可以在網絡層的開始和中間使用,該技術有助于更快地學習并獲得更高的準確性。在深度卷積神經網絡中,隨著數據進一步流動,權重和參數會調整它們的值。模型使用中間數據,會導致計算量太大而增加復雜度,通過規(guī)范每個小批量數據可以避免這個問題。

      網絡中的下一層是一個具有整流線性單元(ReLU)作為激活功能的激活層。 ReLU由于良好的收斂性被廣泛應用在深度卷積神經網絡,其中Tanh的性能最高,能將收斂性提高6倍[13]。 ReLU的數學公式見式(1)。

      y=(ex-e-x)/(ex+e-x).

      (1)

      另一層是最大池化層。進行最大池化的目的是對數據進行下采樣,這樣可以通過減少數據的維度來避免過度擬合。最大池化的另一個好處是它通過減少參數數量來降低計算成本。在本文的模型中,將數據的維度從8× 8降到2個4×4,然后從4 × 4降低到2個2× 2??傮w來說,在網絡中使用兩組卷積、批量標準化、激活和最大池化層可以獲得更高的準確度。

      下一層進行Flatten[14-16]操作。Flatten將前一層的二維輸出轉換為單個長連續(xù)線性向量,Flatten是在數據流進入全連接層之前的必要操作,全連接層只是一個人工神經網絡(ANN)分類器,需要Flatten將輸入數組轉換為特征向量[17]。

      再下一層是全連接層或稠密層。全連接層是完全連接的神經網絡層,其中每個輸入節(jié)點連接到每個輸出節(jié)點。它將Flatten的向量作為輸入,并將n維度張量作為輸出。使用稠密層可以解決消失梯度問題,同時加強了特征傳播,促進了特征重用,并大幅減少了參數的數量。

      接來下是激活層,然后是Dropout層用于正則化。正則化有助于通過降低過度擬合的風險,從而更好地推廣模型。如果數據集的大小與需要學習的參數數量相比太小,則存在過度擬合的風險。Dropout層隨機刪除網絡中的某些節(jié)點及其連接。我們可以使用帶有隱藏或輸入圖層的Dropout。通過使用Dropout,網絡中的節(jié)點對其他節(jié)點的耦合性變得更加不敏感,這使得模型更加穩(wěn)定。

      網絡中的最后一層是具有Softplus激活功能的激活層。 Softplus函數將輸出收斂于0~1之間。通常最好在最后一層網絡中使用Softplus來解決分類問題。它用于分類概率分布。 Softplus函數的數學公式見式(2)。

      ?(x)=lg(1+ex).

      (2)

      2.3 訓練過程

      模型的訓練分兩步完成。首先,僅在給定數據集上利用本文的模型進行訓練。訓練完成之后,通過訓練頂部4層基礎模型并保持底層的其余部分不參與訓練來完成微調。實驗在2個優(yōu)化器上完成:RMSprop和隨機梯度下降(Stochastic Gradient Descent, SGD)。首先,使用優(yōu)化器RMSprop編譯模型,僅訓練新層并保持基層不可訓練。 RMSprop通過將學習率除以指數衰減的平方梯度平均值來完成優(yōu)化[18],本文中 RMSprop的學習率設置為0.002。模型的目標函數是交叉熵損失函數(Categorical crossentropy loss),該目標函數通常用在數據集中存在。通過將epoch保持為20,50,100,同時保持batch大小為32來進行實驗。為了避免過度擬合,第一輪訓練的batch大小(32)選得相對較小。在訓練期間保存了最佳模型參數(在驗證損失和準確性方面),以便可以在第二步中繼續(xù)優(yōu)化。在訓練的第二步,通過使用給定數據集訓練前4層基礎模型來完成微調,同時凍結剩余的下面幾層。在該過程中使用在訓練第一步中獲得的最佳模型,通過訓練前2層和前4層基礎模型進行實驗,并且訓練前4層給出最佳結果。此步驟中使用的優(yōu)化器是SGD。添加前4層的Inception會導致學習參數數量增加,從而增加過度擬合的可能性。因此采用SGD優(yōu)化器,其收斂速度較慢,可以降低過度擬合的情況。學習率0.000 2,衰減=e-6和momentum= 0.5。第一階段的訓練消耗了150個epoch,同時保存了每個epoch產生的所有模型。因為模型有可能隨著時間的推移而停止前進,從而產生過度擬合的模型,因此選擇最佳模型時本文綜合考慮了損失函數和最短運行時間。

      3 實驗和結果分析

      本文算法在Tensorflow平臺完成編程,并在GTX1080Ti的GPU、32 G內存、Xeon-E3 CPU、windows平臺下進行實驗。

      本文使用的數據是20種肉類和植物食物(蘋果、西瓜、奶酪、牛肉、三文魚等)的圖像,具有6種不同的物理狀態(tài)(完整、切塊、切片、磨碎、糊狀、榨汁)。原始訓練數據集提供了大約6 231個圖像,擴充后達到30 000個圖像。圖片實例如圖2所示。

      圖2 測試數據集樣例Fig.2 Data set of sample test

      在訓練期間進行了各種實驗以產生最佳模型,同時利用GAN對圖片進行擴張。在對比實驗中,本文采用了基于SVM的圖像分類器、BP神經網絡、ResNet與本文算法進行對比。

      表1 算法結果對比Tab.1 Comparison of algorithm results

      圖3 訓練和驗證的準確率對比Fig.3 Comparison of accuracy of training and verification

      這些實驗可以添加更多層以改善分類結果。 在這種情況下,使用預訓練網絡(GoogLeNet)對這組圖層進行微調可以獲得最佳效果。使用之前的訓練中選擇的最佳模型進行微調,進一步改善了結果。圖3顯示了顯示訓練和驗證準確率對比。

      4 結 論

      提出了一個基于Inception V3結構的神經網絡食物狀態(tài)識別算法,在識別前先對食物圖像進行數據劃分、圖像縮放等預處理,再在原有Inception V3的基礎上采用兩階段訓練的方式提高了模型的準確度。在20個烹飪對象的對比實驗中,選擇了SVM、BP神經網絡、ResNet進行參照。實驗結果表明,本文算法能有效提高識別準確率,與對比實驗中的次優(yōu)算法相比,本文算法訓練準確率提高了3.2%。通過不同epoch的訓練結果和測試數據可以看出,本文算法在識別過程中具有較好的性能,可以滿足圖像分類的可靠性、穩(wěn)定性等要求,為物體狀態(tài)識別領域提供有益參考。

      猜你喜歡
      預處理神經網絡分類
      分類算一算
      神經網絡抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      分類討論求坐標
      數據分析中的分類討論
      基于預處理MUSIC算法的分布式陣列DOA估計
      制導與引信(2017年3期)2017-11-02 05:16:56
      教你一招:數的分類
      淺談PLC在預處理生產線自動化改造中的應用
      基于神經網絡的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      復數神經網絡在基于WiFi的室內LBS應用
      絡合萃取法預處理H酸廢水
      榆林市| 江安县| 新丰县| 丹阳市| 内乡县| 河源市| 崇信县| 郯城县| 鹤山市| 湘潭市| 德昌县| 报价| 陕西省| 江源县| 巧家县| 朝阳区| 怀来县| 大洼县| 多伦县| 崇左市| 玉环县| 富锦市| 江油市| 乌鲁木齐县| 南平市| 泾阳县| 浏阳市| 项城市| 专栏| 都昌县| 永平县| 北海市| 鸡东县| 庆元县| 稷山县| 黑水县| 余干县| 潼南县| 永宁县| 开鲁县| 黄大仙区|