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

?

基于SSD_MobileNet_v1網(wǎng)絡(luò)的貓狗圖像識別

2020-03-24 06:57:42丁學(xué)文雷雨婷孔祥鑫
關(guān)鍵詞:圖像識別網(wǎng)絡(luò)結(jié)構(gòu)卷積

孫 彥,丁學(xué)文,2,雷雨婷,陳 靜,孔祥鑫

(1.天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津 300222;2.天津市高速鐵路無線通信企業(yè)重點實驗室,天津 300350;3.天津天大求實電力新技術(shù)股份有限公司,天津 300392;4.天津遠孚信息技術(shù)開發(fā)有限公司,天津 300220)

圖像識別是在提取圖像特征的基礎(chǔ)上,對圖像的各種不同模式目標(biāo)和對象進行識別的技術(shù)。近年來,市場對動物識別技術(shù)的需求愈演愈烈,動物也被納入目標(biāo)識別研究。Pascal(patternanalysis,statisticalmodeling and computational learning)、VOC 2006(visual object classes challenge)[1]順應(yīng)研究趨勢,將動物識別列入機器視覺研究對象,包括貓狗、牛羊等,其中研究較多的是貓狗識別。如目前寵物攝影僅限于由專業(yè)寵物攝影師給寵物拍攝,遠不能滿足人們對自家寵物“自拍自足”的需要。因此,需要具備類似于“人臉優(yōu)先對焦”的“寵物臉部優(yōu)先對焦”功能的數(shù)碼相機,在拍照時能優(yōu)先對焦到寵物臉部,方便拍攝操作[2]。2010年,謝素儀[2]在《寵物貓臉檢測的方法研究》一文中提出基于機器學(xué)習(xí)的由粗到精的貓臉檢測方法,利用訓(xùn)練得到的粗級貓臉檢測器能夠快速地檢測出不同尺度的貓臉,級聯(lián)基于HOG 特征的SVM 分類器,對粗級分類器的檢出框歸一化大小后做二次分類,將其結(jié)果作為最終分類結(jié)果以排除誤檢。但仍然存在檢測率低,因圖像分類器旋轉(zhuǎn)角度較大容易出現(xiàn)漏檢和檢測速度無法實時的問題。隨著近年來深度學(xué)習(xí)的興起,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)得到了廣泛的應(yīng)用。利用CNN 對貓狗圖像識別,雖然在特征提取以及識別速度方面具有優(yōu)化性[3],但存在識別率低且計算量復(fù)雜、內(nèi)存消耗大的問題。具體表現(xiàn)為CNN 識別貓狗圖像對于同一目標(biāo)發(fā)生輕微朝向或位置變化時,識別效果變差,且容易在訓(xùn)練過程中丟失有價值信息,忽略了局部與整體之間的關(guān)聯(lián)性;此外,圖像的計算量大也會使得內(nèi)存資源占有量變大,導(dǎo)致程序整體運行緩慢,影響速率。針對上述問題,本文基于Tensorflow 平臺,構(gòu)建了一種運用目標(biāo)檢測模型SSD_MobileNet_v1 網(wǎng)絡(luò)實現(xiàn)貓狗圖像識別的方法。SSD_MobileNet_v1 模型綜合了SSD 網(wǎng)絡(luò)優(yōu)化性能、準(zhǔn)確率高的特點和MobileNet 輕量級網(wǎng)絡(luò)可減少整體網(wǎng)絡(luò)計算參數(shù)量及降低內(nèi)存資源的優(yōu)勢,從而提高對貓狗圖像的識別效果。

1 SSD_MobileNet_v1網(wǎng)絡(luò)模型

SSD_MobileNet_v1 網(wǎng)絡(luò)模型是以SSD 網(wǎng)絡(luò)為基礎(chǔ),結(jié)合MobileNet 網(wǎng)絡(luò)改進而成。

1.1 SSD卷積神經(jīng)網(wǎng)絡(luò)

SSD 卷積神經(jīng)網(wǎng)絡(luò)模型(簡稱SSD)是利用單個深度神經(jīng)網(wǎng)絡(luò)進行對象檢測的框架。SSD 源自于Fast_RCNN 系列檢測模型,繼承了原始框架的良好性能,并在原有模型的基礎(chǔ)上進行了改進和創(chuàng)新,最終演變成一個具有更高精度和更好性能的網(wǎng)絡(luò)模型[4]。

SSD 的網(wǎng)絡(luò)結(jié)構(gòu)是對傳統(tǒng)VGG16 網(wǎng)絡(luò)結(jié)構(gòu)的改進,SSD 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。

圖1 SSD 網(wǎng)絡(luò)結(jié)構(gòu)

(1)使用 VGG16 網(wǎng)絡(luò)的前 5 層,添加 Atrous 算法(hole 算法)對圖像進行背景抑制與增強[5],使VGG16 的FC6 和 FC7 層轉(zhuǎn)化為 Conv6 和 Conv7 兩個卷積層,去掉所有的Dropout 層和FC8 層,額外增加3 個卷積層和1 個平均池化層。

(2)抽取 Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2 層的 feature map[6],分別在 feature map 層的每個點構(gòu)造6 個不同尺度大小的Bounding Boxes(簡稱BB),分別進行檢測和分類,生成多個BB。

(3)將不同feature map 獲得的BB 結(jié)合起來,經(jīng)過非極大值抑制方法(NMS)抑制重疊或不正確的BB,生成最終的BB 集合。

SSD 中,原VGG16 模型增加的卷積層的feature map 變化較大,可檢測出不同尺度下的物體。此外,SSD 去掉了全連接層,其每個輸出會感受到目標(biāo)周圍的信息,包括上下文,增加了其合理性,不同的feature map 可預(yù)測不同寬高比的圖像,可實現(xiàn)多尺度檢測的目的。

1.2 MobileNet網(wǎng)絡(luò)

MobileNet 網(wǎng)絡(luò)模型是Google 針對手機等嵌入式設(shè)備提出的使用深度可分離的卷積來構(gòu)建輕量級的深層神經(jīng)網(wǎng)絡(luò)。其核心思想在于巧妙分解卷積核,將標(biāo)準(zhǔn)卷積分解成深度卷積和點卷積(1×1 卷積核),深度卷積將每個卷積核應(yīng)用到每個通道,針對單個輸入通道,用單個卷積核進行卷積,得到輸入通道數(shù)的深度,再利用點卷積對深度卷積的輸出進行線性結(jié)合,從而產(chǎn)生新的特征[7]。這種分解可有效地減少網(wǎng)絡(luò)參數(shù),降低模型規(guī)模,并減少過擬合所引起的訓(xùn)練問題。

MobileNet 網(wǎng)絡(luò)模型包含輸入層、13 層卷積層、平均池化層和全連接層,每層卷積層后有批規(guī)范化層[8]和ReLU 非線性激活函數(shù)[9],MobileNet 網(wǎng)絡(luò)主體結(jié)構(gòu)如表1 所示。

表1 MobileNet 網(wǎng)絡(luò)主體結(jié)構(gòu)

MobileNet 將VGG16 傳統(tǒng)卷積核、后3 個全連接層分別替換成深度卷積核與單點卷積核的組合、7x7平均池化層與1 024×1 000 全連接層,而VGG16 的最大池化層則用卷積核跨步替代。此外,MobileNet 網(wǎng)絡(luò)引入2 個全局超參數(shù):寬度乘數(shù)和分辨率乘數(shù),2 種超參數(shù)相互作用可有效平衡延遲度和準(zhǔn)確度,通過減少網(wǎng)絡(luò)參數(shù)量來縮減計算量。

標(biāo)準(zhǔn)卷積層由卷積核k 參數(shù)化,標(biāo)準(zhǔn)卷積核G 可表示為

深度可分離卷積計算量G′為

深度可分離卷積計算量G′與標(biāo)準(zhǔn)卷積核計算量G 比率為

式中:Dk為正方形內(nèi)核的空間尺寸;M 為輸入通道數(shù);N 為輸出通道數(shù);標(biāo)準(zhǔn)卷積核G 可用來評價模型參數(shù)量的壓縮程度;G′為縱向與 1×1 點向卷積之和,式(3)將卷積表示為過濾和組合2 個過程,由公式(1)、(2)、(3)可以發(fā)現(xiàn),通過3×3 的分離卷積計算使模型參數(shù)量減少,計算量縮減約Dk2,在通道級別上計算瘦身,且損失精確率程度低。

1.3 SSD_MobileNet_v1網(wǎng)絡(luò)模型

SSD_MobileNet_v1 模型的結(jié)構(gòu)以SSD 模型為基礎(chǔ)網(wǎng)絡(luò),在MobileNet 網(wǎng)絡(luò)的conv13 層后添加8 個卷積層,抽取其中6 層作為檢測層。SSD_MobileNet_v1新增網(wǎng)絡(luò)結(jié)構(gòu)層如表2 所示。

表2 SSD_MobileNet_v1新增網(wǎng)絡(luò)結(jié)構(gòu)層

SSD_MobileNet_v1 模型結(jié)構(gòu)將SSD 和MobileNet結(jié)合,通過多層卷積網(wǎng)絡(luò),經(jīng)卷積分解等操作,對各個通道單獨計算輸出,再由點卷積執(zhí)行特征融合進入下一層網(wǎng)絡(luò),然后輸入到卷積模型,進行特征篩選與輸出特征映射,減少SSD 參數(shù)的數(shù)量與運算量,實現(xiàn)SSD 檢測網(wǎng)絡(luò)的加速。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。

圖2 SSD_MobileNet_v1 網(wǎng)絡(luò)結(jié)構(gòu)

SSD_MobileNet_v1 模型保持了原有SSD 網(wǎng)絡(luò)結(jié)構(gòu),用3×3 大卷積核進行特征學(xué)習(xí),分別在深度卷積層和點卷積層后連接批規(guī)范層和ReLU 函數(shù)來保證良好精確度,相當(dāng)于空間和通道之間的解耦,以達到模型運行加速的目的[10]。SSD_MobileNet_v1 網(wǎng)絡(luò)模型用小規(guī)模參數(shù)代替原有冗余參數(shù),使得計算量和硬件內(nèi)存資源消耗降低,加快了收斂速度,有效地控制過擬合,改善模型性能[11]。

2 系統(tǒng)設(shè)計與實現(xiàn)

本文設(shè)計的貓狗圖像識別系統(tǒng)分為3 個模塊:第1 個模塊是數(shù)據(jù)集構(gòu)建模塊,采集貓狗圖像構(gòu)建數(shù)據(jù)集,并對數(shù)據(jù)集圖像進行隨機翻轉(zhuǎn)、標(biāo)注等預(yù)處理,以減少雜糅信息對輸入圖像的干擾;第2 個模塊是網(wǎng)絡(luò)訓(xùn)練模塊,將預(yù)處理后的圖像作為輸入,利用MobileNet得到圖像全部輸出特征,采用區(qū)域生成網(wǎng)絡(luò)(region proposal network,RPN)特征區(qū)域[12],將特征區(qū)域里的圖像特征輸入到SSD 網(wǎng)絡(luò)進行網(wǎng)絡(luò)訓(xùn)練以得到權(quán)重值,再利用softmax 回歸器將卷積神經(jīng)網(wǎng)絡(luò)的輸出變成概率分布,直觀顯示識別的準(zhǔn)確率;第3 個模塊是識別模塊,該模塊將測試圖像輸入到已經(jīng)完成訓(xùn)練的網(wǎng)絡(luò)中進行計算,得到識別結(jié)果。系統(tǒng)實現(xiàn)框圖如圖3所示。

圖3 系統(tǒng)實現(xiàn)框圖

2.1 數(shù)據(jù)集構(gòu)建

從coco 數(shù)據(jù)集中選擇圖片來構(gòu)建本文需要的訓(xùn)練集和測試集,選取coco 數(shù)據(jù)集中像素高的貓和狗圖片各500 張為訓(xùn)練集圖片,各100 張為測試集圖片。

識別之前對圖像進行預(yù)處理,去除目標(biāo)特征不明顯的圖像,增強圖像信息,便于對目標(biāo)的識別,預(yù)處理主要完成以下工作:圖像增強、圖像標(biāo)注、.xml 格式轉(zhuǎn)換.csv 格式、.csv 格式轉(zhuǎn)換 record 格式。

由于圖像具有隨機性,圖片尺寸大小不一,為避免重復(fù)率較高等問題,對數(shù)據(jù)集圖像進行隨機裁剪;利用濾波消除圖像噪聲,通過圖像銳化增強圖像的邊緣細(xì)節(jié)等操作,有效提高圖像質(zhì)量和利用率。

對圖像數(shù)據(jù)增強后,需標(biāo)注圖像及轉(zhuǎn)換格式。使用LabelImg 軟件對數(shù)據(jù)集圖像標(biāo)注特征區(qū)域,同時指定合適的標(biāo)簽,將圖像的標(biāo)注信息存入同名的.xml 文件中以供后續(xù)使用。在標(biāo)注時,選擇對貓狗圖像面部特征的合適方框,對標(biāo)注的區(qū)域命名實現(xiàn)數(shù)據(jù)的分類,在圖像同一文件夾下同名的.xml 文件包括圖片的名稱、存儲路徑、類別、原圖以及標(biāo)注區(qū)域大小等信息。把包含圖像標(biāo)注信息的.xml 文件統(tǒng)一記錄到.csv表格中。

.csv 表格顯示原圖尺寸和標(biāo)注區(qū)域大小及圖片的分類名稱,圖片標(biāo)注區(qū)域滿足式(4)、(5)呈現(xiàn)的關(guān)系

式中:xmax、xmin、ymax、ymin分別為標(biāo)注區(qū)域?qū)挾鹊淖畲笾岛妥钚≈?、高度的最大值和最小值;width 為原圖寬度;height 為原圖高度。

利用Tensorflow 平臺提供的TFRecords 格式存儲數(shù)據(jù),將.csv 格式轉(zhuǎn)化為.TFRecords 格式,將訓(xùn)練集和測試集里圖片和對應(yīng)標(biāo)注信息結(jié)合,統(tǒng)一數(shù)據(jù)格式,有效管理不同屬性,更好地利用內(nèi)存。

采集的貓狗圖像經(jīng)過預(yù)處理,排除對圖像識別的干擾因素,篩選后得到的結(jié)果為訓(xùn)練集中貓和狗圖片各400 張,測試集里貓和狗圖片各65 張。預(yù)處理后的貓狗圖像數(shù)據(jù)集如圖4 所示。

圖4 預(yù)處理后的貓狗圖像數(shù)據(jù)集

2.2 網(wǎng)絡(luò)訓(xùn)練

對網(wǎng)絡(luò)模型訓(xùn)練需配置.pbtxt 文件,設(shè)置標(biāo)注的類別數(shù)量為2,因其數(shù)據(jù)量過大導(dǎo)致內(nèi)存不足,設(shè)置批次batch size 大小為1。為了模型在訓(xùn)練的前期可快速接近較優(yōu)解,采用指數(shù)衰減方法設(shè)置梯度下降法中的學(xué)習(xí)率,這樣可保證在后期不會有太大的波動,更加接近最優(yōu)解。初始學(xué)習(xí)率設(shè)定為0.004,衰減率為0.95,每個訓(xùn)練步驟的學(xué)習(xí)率降低到先前學(xué)習(xí)率的0.95 倍。隨著訓(xùn)練次數(shù)的增加,學(xué)習(xí)率由大逐步變小,學(xué)習(xí)率大可以快速收斂,但是訓(xùn)練結(jié)果不佳,且收斂損失率較高;學(xué)習(xí)率小收斂的速度慢,想要達到較低的損失效果需要訓(xùn)練較多步數(shù)。

訓(xùn)練模型不僅要優(yōu)化損失函數(shù),讓模型盡量模擬訓(xùn)練數(shù)據(jù)行為的同時還應(yīng)對未知數(shù)據(jù)進行判斷,使用L2 正則化,將刻畫模型復(fù)雜程度的指標(biāo)添加到損失函數(shù)中以有效避免過度擬合。L2 的計算公式為

式中:w 為神經(jīng)網(wǎng)絡(luò)中的權(quán)重參數(shù),權(quán)重決定了模型的復(fù)雜度。

L2 正則化是通過限制w 的大小,使模型不能任意擬合訓(xùn)練數(shù)據(jù)中的隨即噪音,從而避免過擬合。L2 正則化網(wǎng)絡(luò)訓(xùn)練如圖5 所示。

為了使模型在測試數(shù)據(jù)上更健壯,在使用隨機梯度下降法的同時,還需使用滑動平均模型來改進。此外,還需配置管道配置文件,即配置訓(xùn)練集和測試集的路徑。創(chuàng)建標(biāo)簽分類的配置文件.pbtxt,要識別貓和狗2 種目標(biāo),在標(biāo)簽配置文件中創(chuàng)建2 個類別。

圖5 L2 正則化網(wǎng)絡(luò)訓(xùn)練

3 實驗結(jié)果與分析

實驗的硬件平臺為Windows10 操作系統(tǒng),CPU:Intel(R)_Core(TM)_i5-3337U CPU@1.80 GHz,RAM:4GB。

3.1 性能評估

對于貓狗識別系統(tǒng)而言,性能評估從識別精度和識別速度兩方面來考量。

通過檢測貓狗圖片的過程來進行性能評估,利用Tensorflow 平臺自帶的可視化工具Tensorboard 對網(wǎng)絡(luò)性能進行監(jiān)測,Tensorboard 可以有效地顯示操作期間Tensorflow 的計算圖,各種指標(biāo)隨時間的變化趨勢以及訓(xùn)練期間使用的圖像等信息而變化。訓(xùn)練總損失度total_loss 曲線如圖6所示,訓(xùn)練全局步數(shù)變化如圖7所示。

圖6 訓(xùn)練總損失度total_loss 曲線

圖7 訓(xùn)練全局步數(shù)變化

從圖6 可以看出,訓(xùn)練的損失度隨著訓(xùn)練次數(shù)的增加而呈下降趨勢,SSD_MobileNet_v1 網(wǎng)絡(luò)訓(xùn)練繼承了SSD 的良好性能優(yōu)勢,隨著訓(xùn)練次數(shù)的增加和計算開銷的減少,圖像的處理效果逐漸轉(zhuǎn)好,其失真率減小,圖片識別的效果逐步提高。從圖7 可以看出占用內(nèi)存的消耗情況,訓(xùn)練次數(shù)的增加使得模型訓(xùn)練時間變短,計算消耗減少,呈現(xiàn)出內(nèi)存消耗減少的優(yōu)勢,優(yōu)化了網(wǎng)絡(luò)性能。

3.2 識別結(jié)果

采用經(jīng)過188 000 步訓(xùn)練后生成的網(wǎng)絡(luò)進行貓狗圖像識別,測試集中包含貓和狗的圖片各50 張,部分貓狗圖像識別結(jié)果截圖如圖8 所示。測試結(jié)果表明,對貓狗圖像平均識別率為98.21%,識別效果良好。

圖8 中,識別框為對目標(biāo)的定位;方框旁cat 和dog 為圖像識別的類別;百分比為判斷為該類別的概率。默認(rèn)顯示最大識別率,如cat:99%為識別出圖像為貓的概率是99%,dog:1%~99%=1%,且1%<<99%,故認(rèn)為是貓。

上述結(jié)果表明,本文構(gòu)建方法的識別率高于傳統(tǒng)通過卷積神經(jīng)網(wǎng)絡(luò)方法,實驗還發(fā)現(xiàn)SSD_MobileNet_v1網(wǎng)絡(luò)模型具有較強的抗干擾性,對于存在背景干擾的圖像,依然能準(zhǔn)確識別目標(biāo),且可達到一定精度。對同一目標(biāo),背景存在或者不存在時,都可以識別出目標(biāo),但存在背景干擾時,識別出的準(zhǔn)確率會有所降低。此外,基于對單一目標(biāo)圖像的精準(zhǔn)識別,進一步對多目標(biāo)圖像進行識別,以檢測構(gòu)建方法對于貓狗圖像識別定位效果的優(yōu)越性。背景干擾識別效果圖如圖9 所示。對于多目標(biāo)共存的圖片依舊具有較好的定位效果,滿足多個體出現(xiàn)的真實場景中準(zhǔn)確定位的要求,且識別精確度高。

圖8 部分貓狗圖像識別結(jié)果截圖

圖9 背景干擾識別效果圖

由文獻[2]可知,基于CNN 的貓狗圖像識別的準(zhǔn)確率為76.80%,SSD_MobileNet_v1 模型與CNN 模型檢測效果對比如表3 所示?;谀P陀?xùn)練對于數(shù)據(jù)集中測試圖像進行驗證,采用平均精度均值方法(mean average precision,MAP)對圖像識別效果進行準(zhǔn)確率平均值計算得出98.21%的準(zhǔn)確率,可明顯看出SSD_MobileNet_v1 準(zhǔn)確率有大幅提升。

表3 SSD_MobileNet_v1 模型與CNN 模型檢測效果對比

4 結(jié) 語

傳統(tǒng)的基于CNN 貓狗圖像識別方法對貓狗圖像的識別率不高,容易丟失目標(biāo)信息,且內(nèi)存占用較大。而本文提出的基于SSD_MobileNet_v1 網(wǎng)絡(luò)模型識別目標(biāo)的方法,對貓狗圖像數(shù)據(jù)集進行訓(xùn)練和測試,產(chǎn)生了良好的收斂效果,模型訓(xùn)練總計算量減少,內(nèi)存消耗降低,優(yōu)化了網(wǎng)絡(luò)性能,對背景等具有抗干擾性,定位精度更高。實驗結(jié)果表明,基于SSD_MobileNet_v1網(wǎng)絡(luò)模型對貓狗圖像的識別率達98.21%,比傳統(tǒng)方法有了較大提升。盡管訓(xùn)練所得到的檢測效果有所改善,但精確度與性能沒有達到高效性和一致性,今后在模型的性能優(yōu)化方面需繼續(xù)提高,以求達到更高的魯棒性,充分發(fā)揮其實用價值。

猜你喜歡
圖像識別網(wǎng)絡(luò)結(jié)構(gòu)卷積
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
基于Resnet-50的貓狗圖像識別
電子制作(2019年16期)2019-09-27 09:34:50
高速公路圖像識別技術(shù)應(yīng)用探討
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
圖像識別在物聯(lián)網(wǎng)上的應(yīng)用
電子制作(2018年19期)2018-11-14 02:37:04
圖像識別在水質(zhì)檢測中的應(yīng)用
電子制作(2018年14期)2018-08-21 01:38:16
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠程創(chuàng)新搜尋的中介作用
滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實證分析
吉木萨尔县| 兴国县| 诸暨市| 江阴市| 内丘县| 禄丰县| 四会市| 泰宁县| 朔州市| 高州市| 车险| 商城县| 安新县| 临邑县| 澳门| 黑河市| 昆明市| 玛纳斯县| 文成县| 木兰县| 二连浩特市| 乐清市| 桃园县| 荔浦县| 象州县| 田东县| 峨眉山市| 拉萨市| 滨海县| 申扎县| 武平县| 西吉县| 义乌市| 略阳县| 闸北区| 周至县| 赣榆县| 博爱县| 华容县| 都兰县| 乡城县|