• 
    

    
    

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

      基于混合全局池化的回環(huán)檢測算法

      2020-04-23 11:18:46宋周銳
      計算機(jī)與現(xiàn)代化 2020年4期
      關(guān)鍵詞:浮點(diǎn)數(shù)回環(huán)池化

      宋周銳

      (北京郵電大學(xué)可信分布式計算與服務(wù)教育部重點(diǎn)實驗室,北京 100876)

      0 引 言

      移動機(jī)器人需要較高的定位精度和效率,它是機(jī)器人正確執(zhí)行其他復(fù)雜任務(wù)的基礎(chǔ)。在全局定位系統(tǒng)(如GPS、北斗等)不能正常工作的場景中(如隧道、室內(nèi)和其他復(fù)雜環(huán)境),機(jī)器人定位的誤差會隨時間積累而增大?;丨h(huán)檢測技術(shù)是指使得機(jī)器人識別二次經(jīng)過某個地點(diǎn)的技術(shù),它可以在一定程度上解決累積誤差問題,是移動機(jī)器人可靠工作的重要保障?;丨h(huán)檢測通過將第二次經(jīng)過時的位姿與第一次經(jīng)過時的位姿聯(lián)合起來,對移動機(jī)器人的全局位姿增添新的約束,達(dá)到優(yōu)化全局軌跡的目標(biāo),從而消除累積誤差,圖1展示了回環(huán)檢測前后累計誤差的對比,可以看出經(jīng)過回環(huán)檢測以后軌跡更加準(zhǔn)確。

      圖1 回環(huán)檢測校正全局地圖

      傳統(tǒng)的回環(huán)檢測算法依賴于人工設(shè)計的特征點(diǎn)描述子,采用類似于文本檢索的方法將圖片中的特征點(diǎn)描述子編碼為圖片特征向量。然而,人工設(shè)計的特征往往只能提取角點(diǎn)、線段等低級特征,不具備高級語義信息,在弱紋理、重復(fù)紋理場景中表現(xiàn)較差。近年來,深度學(xué)習(xí)技術(shù)在計算機(jī)視覺的多個領(lǐng)域中都取得了令人矚目的成就,將深度學(xué)習(xí)應(yīng)用于回環(huán)檢測成為機(jī)器人領(lǐng)域的研究熱點(diǎn)之一?;谏疃葘W(xué)習(xí)框架的回環(huán)檢測算法能夠提取高級語義特征,相比于傳統(tǒng)算法更加魯棒,而且能夠更方便地針對機(jī)器人運(yùn)行環(huán)境做出改進(jìn)。

      然而,由于移動機(jī)器人能提供的計算資源相對有限,難以支撐大型卷積神經(jīng)網(wǎng)絡(luò)實時運(yùn)行,基于深度學(xué)習(xí)的回環(huán)檢測一般都采用較淺的卷積神經(jīng)網(wǎng)絡(luò)。顯然,小型卷積神經(jīng)網(wǎng)絡(luò)難以應(yīng)用到大型場景中,當(dāng)機(jī)器人運(yùn)動范圍較大時,小型網(wǎng)絡(luò)提取出的描述子可能不具備足夠的區(qū)分度。

      基于圖片相似度的回環(huán)檢測本質(zhì)是一種基于圖像內(nèi)容的圖片檢索問題,因此可以借鑒圖像檢索的方法和評價標(biāo)準(zhǔn)來設(shè)計回環(huán)檢測算法并對其進(jìn)行評價。本文選取了圖像檢索中常用的評價標(biāo)準(zhǔn)衡量算法性能。兩者的不同之處在于圖像檢索任務(wù)一般運(yùn)行在服務(wù)器集群上,因此它可以采用大型卷積神經(jīng)網(wǎng)絡(luò)在超大規(guī)模的圖像集中取得很高的精度。如果可以把在大規(guī)模數(shù)據(jù)集上訓(xùn)練好的圖像檢索模型部署到移動機(jī)器人上,顯然可以取得非常好的成績。可不可以將圖像檢索的模型部署到移動機(jī)器人上呢?

      文獻(xiàn)[1]在圖像檢索任務(wù)上取得了世界領(lǐng)先的精度,其中關(guān)鍵算法是GeM(Generalized Mean),但是GeM引入了復(fù)雜的非整數(shù)冪運(yùn)算,不利于移動機(jī)器人平臺部署。在文獻(xiàn)[1]的基礎(chǔ)上,本文提出一種解決方案,即混合全局池化層來近似GeM,去除GeM中復(fù)雜的非整數(shù)冪運(yùn)算,簡化運(yùn)算復(fù)雜度,并達(dá)到與之相當(dāng)?shù)木?;同時,本文還提出一種基于塊浮點(diǎn)數(shù)的卷積神經(jīng)網(wǎng)絡(luò)加速引擎,可以將卷積層中浮點(diǎn)數(shù)運(yùn)算替換為定點(diǎn)數(shù)運(yùn)算。與32位浮點(diǎn)算法相比,采用塊浮點(diǎn)算法可將加法運(yùn)算的硬件能耗減少80%以上,乘法運(yùn)算能耗減少20%。通過這2點(diǎn)改進(jìn),可以將圖像檢索算法部署到移動機(jī)器人上。

      1 相關(guān)工作

      1.1 基于深度學(xué)習(xí)的圖像特征提取相關(guān)工作

      人為設(shè)計的特征點(diǎn)描述算法往往對光照變化較為敏感[2],因此學(xué)者們開始探索通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)來學(xué)習(xí)圖像描述子的方法[3-5]。文獻(xiàn)[6]將CNN運(yùn)算過程中各卷積層的輸出結(jié)果作為圖片描述子,它將圖片輸入已經(jīng)訓(xùn)練好的CNN模型中,把CNN計算過程中各層的中間結(jié)果取出來,發(fā)現(xiàn)越深的層結(jié)果就越抽象。這種高度抽象的能力使得利用CNN提取圖片中的語義信息并保持高度的穩(wěn)定性成為可能。

      文獻(xiàn)[7]采用了一種基于自編碼網(wǎng)絡(luò)的方法,它將原始圖片輸入到SDA(Stacked Denoising Auto-encoder)中,編碼網(wǎng)絡(luò)會學(xué)習(xí)一種對圖片的壓縮編碼方式,并根據(jù)解碼網(wǎng)絡(luò)解碼所得結(jié)果與原圖片的差異來調(diào)整編解碼網(wǎng)絡(luò)參數(shù)。本文使用自編碼網(wǎng)絡(luò)輸出的壓縮編碼作為圖片描述子,并在多個數(shù)據(jù)集上取得了state-of-art的效果。但是由于SDA的訓(xùn)練與測試使用的是相同的數(shù)據(jù)集,缺乏對SDA的泛化能力的實驗論證。文獻(xiàn)[8]提出了一種輕量的回環(huán)檢測框架,它通過對圖片進(jìn)行裁剪、旋轉(zhuǎn)構(gòu)造訓(xùn)練集訓(xùn)練了一個較淺的卷積神經(jīng)網(wǎng)絡(luò)用于回環(huán)檢測,它結(jié)構(gòu)簡單、計算復(fù)雜度低,對移動機(jī)器人等計算資源受限平臺友好,但是它在大型數(shù)據(jù)集上表現(xiàn)不夠好,難以應(yīng)對移動機(jī)器人長時間運(yùn)行的場景。

      文獻(xiàn)[9]將孿生網(wǎng)絡(luò)(siamese convolutional neural network)應(yīng)用于回環(huán)檢測任務(wù),提出了一種端到端(end-to-end)的解決方案。通過將圖片對輸入到孿生網(wǎng)絡(luò)中,調(diào)整網(wǎng)絡(luò)參數(shù)使得回環(huán)的圖片對在距離空間中更近。該方法使用了圖片對在網(wǎng)絡(luò)各層的輸出結(jié)果作為特征,形成層級化的圖片描述子,達(dá)到了既能利用低級特征也能利用高級特征的目標(biāo)。同時,通過對這些特征進(jìn)行加權(quán)處理使之保持在256維,降低了后續(xù)匹配的計算代價,整個模塊能以較快的速度運(yùn)行。但是也正因為該網(wǎng)絡(luò)較淺,缺乏表達(dá)復(fù)雜多樣環(huán)境的能力,在大型場景中表現(xiàn)不夠理想。

      1.2 卷積神經(jīng)網(wǎng)絡(luò)加速相關(guān)工作

      深度學(xué)習(xí)模型壓縮和剪枝技術(shù)主要用來降低深度學(xué)習(xí)模型的帶寬需求并縮小其存儲規(guī)模。壓縮和剪枝法的理論基礎(chǔ)是卷積神經(jīng)網(wǎng)絡(luò)本身所帶有的冗余性,這2項技術(shù)通常結(jié)合使用。文獻(xiàn)[10]提出了一種在168個處理元素上的數(shù)據(jù)流存儲方式,通過只復(fù)用局部數(shù)據(jù),達(dá)到了提升功率效率的目標(biāo)。文獻(xiàn)[11]提出了一種屋頂模型(roofline model)來分析一個具體的CNN模型的計算和內(nèi)存需求曲線,從而確定在指定FPGA或者專用芯片平臺上的最優(yōu)部署方法。另一種流行的思路是稀疏化CNN模型的參數(shù)。文獻(xiàn)[12-13]提出了一種3段式的壓縮方法,這3段分別是剪枝、量化參數(shù)再訓(xùn)練、對量化后的參數(shù)進(jìn)行哈夫曼編碼(Huffman coding)。通過這3段處理,顯著地壓縮了DNN的大小,并幾乎沒有精度損耗。然而該方法的問題在于重新訓(xùn)練稀疏模型是非常耗時的,而且每次調(diào)整神經(jīng)網(wǎng)絡(luò)架構(gòu)都需要重復(fù)這一過程。同時,在導(dǎo)入FPGA之后,進(jìn)行計算時依然使用的是浮點(diǎn)數(shù)運(yùn)算。使用哈夫曼編碼在縮小了模型體積的同時也帶來了解碼的開銷,這就導(dǎo)致了模型加載時的額外開銷。文獻(xiàn)[14]使用的剪枝技術(shù)同樣有需要重新訓(xùn)練的弊端,因為剪枝技術(shù)的本質(zhì)在于通過反復(fù)嘗試找到關(guān)鍵連接并摒棄非關(guān)鍵連接,達(dá)到減少連接數(shù)目的目標(biāo)。

      與上述思路不同的是,替換數(shù)值表示形式[15-18]這種方法的主要出發(fā)點(diǎn)是定點(diǎn)運(yùn)算所需要的硬件資源遠(yuǎn)遠(yuǎn)少于浮點(diǎn)運(yùn)算所需要的計算資源。因此,如果將浮點(diǎn)數(shù)運(yùn)算替換成定點(diǎn)數(shù)運(yùn)算,那么,設(shè)計ASIC或FPGA就能夠有比較高的處理速度,同時獲得更高的能效比。然而,這種方法的難點(diǎn)在于如何設(shè)計一種數(shù)值表示方法使其兼具浮點(diǎn)數(shù)的范圍與定點(diǎn)數(shù)運(yùn)算的簡便。這個領(lǐng)域的學(xué)者多采用定點(diǎn)數(shù)的方案,這種方案在網(wǎng)絡(luò)規(guī)模較小時尚能取得較好的效果,但是當(dāng)網(wǎng)絡(luò)加深,維持原精度所需的數(shù)值長度就會快速增長。

      上述2種方案還有一個共同的缺陷,它們都需要重新訓(xùn)練,不利于快速部署模型,同時也不夠靈活,優(yōu)化效果因網(wǎng)絡(luò)模型而異。因此,本文提出一種基于塊浮點(diǎn)數(shù)[19]的數(shù)值表示方案,塊浮點(diǎn)數(shù)是一種兼具了浮點(diǎn)數(shù)的表示范圍和定點(diǎn)數(shù)的運(yùn)算復(fù)雜度的表示形式,而且基于塊浮點(diǎn)數(shù)的優(yōu)化也不需要重新訓(xùn)練網(wǎng)絡(luò),使得網(wǎng)絡(luò)調(diào)整和部署非常方便。

      2 基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取

      2.1 損失函數(shù)

      孿生網(wǎng)絡(luò)是一種用于衡量2個輸入相似程度的網(wǎng)絡(luò),它將2個輸入映射到新的特征空間中,實現(xiàn)輸入的特征提取并在該特征空間中計算相似程度。它的特點(diǎn)是有2個權(quán)重共享的特征提取網(wǎng)絡(luò),同時輸入2幅圖片,分別經(jīng)過2個特征提取網(wǎng)絡(luò)后,計算特征之間的距離,以此來判斷2幅圖片之間的相似程度。孿生網(wǎng)絡(luò)使用Contrastive Loss,該目標(biāo)函數(shù)一方面盡量減小屬于一個類別的2幅圖片(正樣本)之間的距離,另一方面盡可能加大不屬于同一個類別的圖片(負(fù)樣本)之間的距離,它的計算公式如下:

      其中,d為2幅圖片特征向量之間的距離,一般定義為歐氏距離,計算公式如下:

      d=||an-bn||2

      margin是需要設(shè)定的參數(shù),它控制著正負(fù)樣本距離的分水嶺,是后續(xù)根據(jù)網(wǎng)絡(luò)輸出距離判斷輸入樣本是正樣本還是負(fù)樣本的重要參考。y是樣本標(biāo)簽,等于“1”時表明是正樣本,此時損失函數(shù)的值為距離平方,因此起到最小化正樣本之間距離的作用;y等于“0”時,表明為負(fù)樣本,此時損失函數(shù)中的后半項起作用,當(dāng)網(wǎng)絡(luò)計算出負(fù)樣本之間的距離大于閾值時,損失函數(shù)達(dá)到最小值,因此可以起到將負(fù)樣本之間距離拉伸到閾值之上的作用。本文設(shè)定margin值為0.75。

      2.2 特征提取網(wǎng)絡(luò)

      VGG[20]系列網(wǎng)絡(luò)在2014年ILSVRC競賽亞軍遷移學(xué)習(xí)等任務(wù)中表現(xiàn)優(yōu)異,同時也是提取圖像特征的首選網(wǎng)絡(luò)之一。本文采用VGG16作為特征提取網(wǎng)絡(luò),VGG16包括13層卷積層和4層最大池化層,足夠多的卷積層使得該網(wǎng)絡(luò)能夠提取到高級語義信息,較小的kernel size使得最后一層卷積層的感受野也在合理范圍內(nèi)。

      為了支持不同尺寸的圖片輸入,方便適應(yīng)不同機(jī)器人的計算能力,本文去除VGG16中的全連接層,并將最后一層最大值池化層替換成了混合全局池化層,借助全局池化層將最后一層卷積層的輸出變成了向量,作為圖片描述子。

      2.3 混合全局池化層

      文獻(xiàn)[21]提出了一種拓展的局部池化層,結(jié)合了最大值池化和平均值池化的優(yōu)點(diǎn),在圖像分類任務(wù)上取得了明顯的提升,并且引入的額外參數(shù)和計算量都非常小。本文借鑒這種拓展的池化層的思路,改進(jìn)了全局池化層,成功應(yīng)用在回環(huán)檢測任務(wù)中。拓展的全局池化層(Mixed Pooling, MXP),計算公式如下:

      fmix(x)=a·fmax(x)+(1-a)favg(x)

      其中,

      可見,當(dāng)a取1時,MXP層的表現(xiàn)為最大值池化,當(dāng)a等于0時,MXP的表現(xiàn)為平均值池化。在進(jìn)行梯度更新時,后傳公式為:

      其中,1[·]表示括號內(nèi)等式成立時取1,否則取0。

      3 基于塊浮點(diǎn)數(shù)的卷積神經(jīng)網(wǎng)絡(luò)加速

      3.1 塊浮點(diǎn)數(shù)的定義

      使用塊浮點(diǎn)數(shù)表示數(shù)值時,隸屬于同一個塊的n個數(shù)共享同一個乘數(shù)因子,稱之為塊指數(shù)。塊指數(shù)是由n個數(shù)中絕對值最大的數(shù)確定的,并且,其余的數(shù)將會進(jìn)行移位操作向絕對值最大數(shù)對齊。確定塊指數(shù)并對齊其他數(shù)的過程稱為塊化。

      為簡化后續(xù)行文表述,在此預(yù)先引入一些符號,同時使用數(shù)學(xué)語言闡述塊浮點(diǎn)數(shù)的定義。對于某一群數(shù),記作X,xi是X中的第i個數(shù),xi的尾數(shù)部分和指數(shù)部分分別記作mi和ei。對X進(jìn)行塊化后結(jié)果記為X′,該塊的尾數(shù)部分和塊指數(shù)分別表示為M′X和εX。以下舉例說明塊化過程,給定一個包含有N個數(shù)的塊X,可以表示為:

      X=(x1,…,xi,…,xN)

      =(m1×2e1,…,mi×2ei,…,mN×2eN)

      使用塊浮點(diǎn)數(shù)表示時,X塊化為X′,寫作:

      X′=(x′1,…,x′i,…,x′N)=M′X×2εX

      其中:

      M′X=(m′1,…,m′i,…,m′N)

      εX是塊X中最大的指數(shù)值,mi是各個塊中各個元素對齊后的尾數(shù)部分,它是根據(jù)下式計算的:

      m′i=mi?(εX-ei)

      其中,a?b表示將a向右移動b位。

      3.2 塊浮點(diǎn)數(shù)矩陣乘法數(shù)據(jù)流

      圖2 卷積運(yùn)算展開為矩陣乘法

      為了更好地理解塊浮點(diǎn)數(shù)在卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)用方式,本文首先介紹一種將卷積運(yùn)算變換為矩陣運(yùn)算的方法。在轉(zhuǎn)換為矩陣運(yùn)算后,卷積核和輸入特征圖展開為2個矩陣,分別記作W以及I。具體來講,歸屬于同一輸出特征圖的卷積核展開成W中的一個行向量,歸屬于同一個輸出像素點(diǎn)的輸入特征圖中對應(yīng)的感受野組成了I中的列向量。如圖2所示,輸出矩陣O的第m行、第n列元素對應(yīng)著第m個卷積核在第n個感受野上卷積對應(yīng)的輸出。需要指出的是,將卷積運(yùn)算轉(zhuǎn)換為矩陣運(yùn)算的開銷是不容忽略的,在高性能CNN加速器的設(shè)計中,都采用的是按照卷積方式讀取數(shù)據(jù)流[22]。在本文中,采用矩陣的形式進(jìn)行計算的目的是方便核心思想的表達(dá),不需引入復(fù)雜的數(shù)據(jù)調(diào)度。

      為說明矩陣W和I塊化的過程,考慮最簡單的例子,令:

      W=((1.00)2×2-1(1.01)2×20)

      分別將矩陣W和I的塊尾數(shù)字長記作LW和LI,并均賦值為3(不包括符號位)。掃描矩陣I中的元素,得到塊指數(shù)為εI=2,然后對矩陣I中的元素進(jìn)行移位并使用四舍五入法處理最后一位,那么,塊化后的結(jié)果為:

      類似地可以得到矩陣W的塊化結(jié)果為:

      W=((0.10)2(1.01)2)×20

      因此,對矩陣W和I的乘積,記作O,可以近似為:

      O≈W′I′=2M′O

      其中,M′O=M′WM′I,εO=εW+εI。

      在計算M′O=M′WM′I的過程中,為避免溢出和運(yùn)算器位數(shù)不足導(dǎo)致的舍入誤差,需要保證乘法器字長大于等于LW+LI+2,此字長包括符號位在內(nèi);加法器的字長不小于LW+LI+S,其中S=floor(log2(K)),以防止加法過程中溢出。具體流程如圖3所示,圖中“FP2BFP”“BFP2FP”分別代表塊化和從塊浮點(diǎn)數(shù)轉(zhuǎn)回浮點(diǎn)數(shù)。

      圖3 塊浮點(diǎn)數(shù)矩陣乘法流程

      4 實 驗

      4.1 數(shù)據(jù)集

      本文采用文獻(xiàn)[1]提供的訓(xùn)練集sfm120k和測試集Oxford5k、Paris6k。訓(xùn)練集與測試集都隸屬于一個大型地標(biāo)建筑圖片集,該數(shù)據(jù)集包括740萬幅圖片,利用這740萬幅圖片進(jìn)行3D重建,去除3D模型中重復(fù)的部分剩下大約16萬幅圖片,再去除Oxford5k和Paris6k的相關(guān)圖片,保證訓(xùn)練集中不包括任何測試集圖片,最終訓(xùn)練集中包括大約12萬幅圖片?;丨h(huán)檢測與圖像檢索任務(wù)有很多共同之處,他們都是基于圖像內(nèi)容進(jìn)行圖像檢索,但是回環(huán)檢測任務(wù)也有其特殊性,回環(huán)檢測需要考慮一定程度的尺度不變性和旋轉(zhuǎn)不變性。因此,本文對數(shù)據(jù)集做了數(shù)據(jù)增強(qiáng),具體來說,在讀取數(shù)據(jù)集時,對數(shù)據(jù)集中的圖片進(jìn)行了隨機(jī)射影變換,以增強(qiáng)特征對射影變換的魯棒性;同時,對查詢圖片進(jìn)行了尺度變換,以增強(qiáng)對尺度變化的魯棒性。

      本文使用ImageNet[23]上預(yù)訓(xùn)練好的模型作為模型權(quán)重初值,然后在sfm120k數(shù)據(jù)集上進(jìn)行調(diào)優(yōu)(finetune)。在調(diào)優(yōu)該網(wǎng)絡(luò)時,設(shè)置基礎(chǔ)學(xué)習(xí)率為1e-6,沖量設(shè)置為0.9,懲罰系數(shù)為1e-4,迭代100個epoch。在本文中,Contrastive Loss的輸入為2個歸一化之后的向量和標(biāo)簽,而2個歸一化的向量的歐氏距離與余弦距離存在一定的映射關(guān)系,具體如下:

      Deu=∑(ai-bi)2

      =2-2cosθ

      4.2 輸入圖片尺寸對精度及時間的影響

      由于圖片尺寸大小會直接影響到特征提取所需要的時間,本文首先研究圖片大小對精度(mean Average Precision, mPA)的影響,方便移動機(jī)器人根據(jù)自身的計算能力挑選合適的圖片尺寸。圖片尺寸越大,保留的細(xì)節(jié)越多,回環(huán)檢測的精度就越高,但也會更耗時;圖片尺寸越小,丟失的信息越多,對應(yīng)著精度就會降低,但更能適應(yīng)移動平臺的計算能力要求。在GeForce RTX2070上測試的結(jié)果如表1所示。

      表1 圖片尺寸與耗時、精度(mAP)關(guān)系

      在實驗過程中,圖片大小重整為最長邊不超過圖片尺寸所列數(shù)值,用時包括了特征提取和查詢的時間,完整地模擬了回環(huán)檢測過程??梢钥闯?,1024 px的圖片達(dá)到了最高的準(zhǔn)確度,但是需要超過60 ms的處理時間,勉強(qiáng)接近SLAM的實時性要求。但是移動機(jī)器人上往往難以提供RTX2070所能提供的計算能力,因此1024 px的圖片難以直接應(yīng)用在移動機(jī)器人上。尺寸更小的圖片雖然速度更快,但是精度損失過大,如224 px的精度損失接近30%,大幅降低了性能。512 px的圖片處理時間為18.4 ms,假設(shè)移動機(jī)器人能夠提供的計算能力為RTX2070的一半,512 px尺寸的圖片也可以保證實時運(yùn)行,同時,精度下降在可接受范圍內(nèi),因此本文選用512 px尺寸的圖片進(jìn)行后續(xù)實驗。

      4.3 不同池化層的影響

      本節(jié)對比分析多種不同的池化策略對回環(huán)檢測精度的影響。選取GeM[1]以及直接使用最大值池化(max)和均值池化(mean)作為對比,還選取一種非參數(shù)化為特征圖各個維度加權(quán)的方法(Cross-Dimensional Weighting, CDW)[24]作為對比。GeM是當(dāng)前世界領(lǐng)先的圖像檢索算法,以下先簡要介紹GeM和CDW方法。

      GeM的結(jié)果由以下公式給出:

      由上式可以看出,通過學(xué)習(xí)參數(shù)Pk可以令fGeM表現(xiàn)出不同的行為,Pk取0和∞對應(yīng)著平均池化和最大值池化。但是,如上式所示,該方法引入了大量指數(shù)運(yùn)算,對于移動計算平臺來說,開銷較大。

      CDW是一種非參數(shù)化的方法,從紋理出現(xiàn)頻次的角度出發(fā),筆者認(rèn)為,出現(xiàn)頻次越少對圖片檢索的重要性越高,表現(xiàn)在特征圖上即該特征圖上0的比例越高,該特征圖就應(yīng)當(dāng)有更高的權(quán)重,另一方面,筆者還考慮到了各個感受野上特征種類分布,如果該感受野上特征種類越多,即特征越豐富,在不同的通道上都有響應(yīng)值,表明該位置應(yīng)該有較高的權(quán)重。

      在文獻(xiàn)[1]的基礎(chǔ)上,本文實現(xiàn)了MXP和CDW,并分別對他們進(jìn)行了調(diào)優(yōu),同時,選取最大值池化和均值池化作為比較基準(zhǔn),也進(jìn)行了調(diào)優(yōu)。表2列出了不同策略對最終精度的影響,可以看出GeM的精度相對最高,本文所用的MXP次之,在不同的數(shù)據(jù)集上互有優(yōu)勢,效果相當(dāng)。CDW相對均值池化取得了不錯的提高,但是不如GeM和MXP。最大值池化表現(xiàn)比均值池化更好,這可能是因為最大值池化更關(guān)注最突出的特征,比均值池化具備更高的表達(dá)能力。rOxford5k和rParis6k是按數(shù)據(jù)集原有4等級進(jìn)行了劃分,除第4等級完全沒有目標(biāo)圖片外,其余3個等級分別對應(yīng)著表中的E、M、H這3項,表示回環(huán)檢測的難度為容易、中等和困難,如表2所示。

      表2 rOxford5k、rParis6k上的精度(mAP) 單位:%

      從表3可以看出,MXP和GeM在不同的數(shù)據(jù)集上有不同的表現(xiàn):MXP在Oxford5k上的表現(xiàn)優(yōu)于GeM,在Paris6k上則不如GeM。這主要是2個數(shù)據(jù)集圖片特征差異引起的:Oxford5k中的圖片大多紋理復(fù)雜,有相當(dāng)多的重復(fù)特征,此時最大值池化可以拋棄許多不顯著的細(xì)節(jié),表現(xiàn)更好,如表3中max遠(yuǎn)遠(yuǎn)好于mean,甚至好于CDW;而Paris6k則恰好相反,其中圖片大都背景空曠,此時使用max會導(dǎo)致紋理丟失,因此在該數(shù)據(jù)集上max與mean精度相當(dāng),不如CDW表現(xiàn)好。由于MXP是max和mean的線性組合,并且max在MXP中占有更大比重,因此在mean也能提取重要信息的數(shù)據(jù)集上,如Paris6k數(shù)據(jù)集上表現(xiàn)不如GeM。另一方面,GeM可以認(rèn)為是max和mean的非線性組合,在max和mean均有貢獻(xiàn)的數(shù)據(jù)集上表現(xiàn)更優(yōu),在只有max可以提取有效信息的數(shù)據(jù)集上反而會受mean的負(fù)面影響。

      表3 Oxford5k、Paris6k上的精度(mAP) 單位:%

      4.4 加速后的回環(huán)檢測精度

      本文在CPU上模擬了塊浮點(diǎn)數(shù)(權(quán)重矩陣塊尾數(shù)與輸入特征圖矩陣尾數(shù)均為8位,包括符號位)的計算過程。并將PyTorch模型轉(zhuǎn)換為Caffe[22]模型,測試結(jié)果如表4和表5所示,與表2、表3相比,幾乎沒有任何精度損失,表明了加速方案的可行性。

      表4 加速后Oxford5k、Paris6k上的精度(mAP) 單位:%

      表5 加速后rOxford5k、rParis6k上的精度(mAP) 單位:%

      5 結(jié)束語

      通過對比分析多種不同的將特征圖轉(zhuǎn)變?yōu)樘卣飨蛄康姆椒ǎ梢园l(fā)現(xiàn)本文使用的混合全局池化方法計算簡便、硬件實現(xiàn)簡單并且精度與復(fù)雜的池化方法相當(dāng),表現(xiàn)出了良好的性能。本文提出的基于塊浮點(diǎn)數(shù)的深度學(xué)習(xí)加速技術(shù)能夠?qū)⒕矸e中的浮點(diǎn)運(yùn)算轉(zhuǎn)變?yōu)槎c(diǎn)數(shù)運(yùn)算,降低了對運(yùn)算資源的要求,并且對精度的影響很小。

      猜你喜歡
      浮點(diǎn)數(shù)回環(huán)池化
      基于緊湊型雙線性網(wǎng)絡(luò)的野生茵識別方法研究
      無線電工程(2024年8期)2024-09-16 00:00:00
      基于Sobel算子的池化算法設(shè)計
      卷積神經(jīng)網(wǎng)絡(luò)中的自適應(yīng)加權(quán)池化
      四種Python均勻浮點(diǎn)數(shù)生成方法
      電腦報(2021年11期)2021-07-01 08:26:31
      嘟嘟闖關(guān)記
      基于卷積神經(jīng)網(wǎng)絡(luò)和池化算法的表情識別研究
      透 月
      寶藏(2018年3期)2018-06-29 03:43:10
      在C語言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
      非精確浮點(diǎn)數(shù)乘法器設(shè)計
      學(xué)習(xí)“騎撐前回環(huán)”動作的常見心理問題分析及對策
      鄂托克旗| 北辰区| 邵阳县| 库车县| 西充县| 乌兰浩特市| 宜州市| 鞍山市| 同心县| 永寿县| 大同县| 太仆寺旗| 福泉市| 无棣县| 上栗县| 武义县| 广饶县| 赫章县| 富顺县| 故城县| 南郑县| 乐清市| 黄浦区| 丰城市| 鹤山市| 香港| 巢湖市| 湄潭县| 都匀市| 新郑市| 小金县| 拉萨市| 乐平市| 涡阳县| 河南省| 远安县| 宁夏| 合川市| 阿拉善右旗| 屯留县| 灵丘县|