曾軍英,陳宇聰,林惜華,秦傳波,王迎波,朱京明,田聯(lián)房,翟懿奎,甘俊英
(1 五邑大學智能制造學部,廣東江門529020)
(2 華南理工大學自動化科學與工程學院,廣州510640)
在眾多生物特征識別技術(shù)中,手指靜脈識別因其非接觸式采集、活體識別、不易偽造、成本較低等優(yōu)點,吸引了大量科研工作者的關(guān)注。手指靜脈紋絡(luò)提取是指靜脈識別技術(shù)的關(guān)鍵步驟,直接影響后續(xù)指靜脈特征提取、匹配和識別的準確度。雖然通過經(jīng)典語義分割網(wǎng)絡(luò)FCN[1]、SegNet[2]、RefineNet[3]等也能實現(xiàn)較好的指靜脈紋絡(luò)提取,但這些方法需要占用大量的存儲空間和計算資源,難以有效地應(yīng)用在當下的嵌入式平臺和移動終端上,因此,設(shè)計輕量化深度神經(jīng)網(wǎng)絡(luò)架構(gòu)是解決該問題的關(guān)鍵。
近些年來,輕量級神經(jīng)網(wǎng)絡(luò)模型的設(shè)計吸引了學術(shù)界和工業(yè)界的廣泛關(guān)注,并提出了一系列輕量級模型[4-10]。Xception[4]將空間卷積和通道卷積分開,將兩個方向上的相關(guān)性分開。SqueezeNet[5]將卷積層分為擴展層和壓縮層,在壓縮層實現(xiàn)對模型通道數(shù)的壓縮。MobileNet[6]采用了深度可分離卷積,在提高性能的同時優(yōu)化了模型的復雜度。MobileNetV2[7]顛覆了正殘差的思想,提出了反向殘差塊。ShuffleNet[8]提出通道混洗的方法,解決了分組卷積中各組信息的交流問題。ShuffleNetV2[9]從模型實時性的角度思考,提出了網(wǎng)絡(luò)運行速度更快的4 個基本原則。GhostNet[10]首次從特征冗余的角度思考,提出ghost 模塊對模型進行壓縮。此外,網(wǎng)絡(luò)輕量化的方法還有神經(jīng)網(wǎng)絡(luò)模型的壓縮方法,如知識蒸餾[11]、剪枝[12]、量化[13]、低秩分解[14]等,這些方法通過不同的角度對模型進行壓縮,取得了豐碩的成果。基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Neural Architecture Search,NAS)的自動化神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計,MobileNetV3[15]提出采用NAS 方法搜索更高效的神經(jīng)網(wǎng)絡(luò),MnasNet[16]和NasNet[17]通過強化學習方法學習神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索策略,實現(xiàn)便攜式設(shè)備上輕量化神經(jīng)網(wǎng)絡(luò)的自動化構(gòu)建。
構(gòu)建輕量級網(wǎng)絡(luò)模型實現(xiàn)參數(shù)量減小的同時確保網(wǎng)絡(luò)性能基本不變或略微下降是現(xiàn)在所面臨的重要難題。注意力模塊是提升網(wǎng)絡(luò)性能的有效方法,最早提出注意力機制的SE[18]模塊利用全連接層將通道特征賦予權(quán)重以加強網(wǎng)絡(luò)性能,CBAM[19]在通道和空間維度上實現(xiàn)不同維度注意力分離策略,同時關(guān)注空間和通道上的特征。后續(xù)研究工作如GENet[20]和TA[21],通過采用不同的空間注意力機制或設(shè)計高級注意力塊來深化這一方法的應(yīng)用。A2Net[22]和CCNet[23]利用非本地機制來限制捕獲不同類型的空間信息。CA[24]模塊將頻道注意力分解為兩個并行的一維特征編碼,將空間坐標信息整合到注意力中。但是大部分注意力模塊在提升網(wǎng)絡(luò)的性能同時引進大量參數(shù),不利于網(wǎng)絡(luò)輕量化,因此探索一種可以提升網(wǎng)絡(luò)性能并使其引進參數(shù)可忽略不計的注意力模塊是十分有意義的。
指靜脈分割在嵌入式平臺實現(xiàn)問題近似于一個多目標優(yōu)化問題,要同時考慮到分割性能、網(wǎng)絡(luò)參數(shù)大小與運行時間。為解決上述問題,本文提出了一種超輕量級指靜脈紋絡(luò)分割網(wǎng)絡(luò)來實現(xiàn)指靜脈紋絡(luò)的提取。第一步,使用沙漏狀的深度可分離卷積對網(wǎng)絡(luò)進行初步輕量化,并引入輕量級高效通道注意力(Effificient Channel Attention,ECA)模塊提高網(wǎng)絡(luò)性能,并且該注意力模塊所引進參數(shù)可以忽略不計。第二步,在網(wǎng)絡(luò)中采用“低廉的操作”(Cheap operation)[10],將部分特征圖通過簡單映射得到,使網(wǎng)絡(luò)進一步壓縮。第三步,采用分組卷積替代沙漏狀的深度可分離卷積中的點卷積,并通過特征信息交互解決了分組卷積中各組信息之間無法流通的問題。最后,將網(wǎng)絡(luò)部署到嵌入式平臺上,并與其他模型進行了對比。
SGUnet 網(wǎng)絡(luò)是針對嵌入式平臺實現(xiàn)實時指靜脈紋絡(luò)提取,即指靜脈分割問題,需要綜合考慮分割性能、網(wǎng)絡(luò)參數(shù)大小和運行時間。因此在網(wǎng)絡(luò)中采用多路分支減小模型的參數(shù)量或添加各種提高精度的模塊,均會導致網(wǎng)絡(luò)在嵌入式平臺的運算速度大大降低??紤]到這些問題,本文將RONNEBERGER 等[25]提出的Unet 編碼-解碼的網(wǎng)絡(luò)結(jié)構(gòu)作為基礎(chǔ),提出一種超輕量級指靜脈分割網(wǎng)絡(luò)-SGUnet,如圖1所示。具體方法為:1)利用沙漏狀的深度可分離卷積構(gòu)建一個新型的輕量分割網(wǎng)絡(luò)SGUnetV1,在網(wǎng)絡(luò)中保留了Unet編碼-解碼結(jié)構(gòu)特點的同時,使模型初步輕量化。并且加入ECA 模塊實現(xiàn)無降維的局部跨通道交互,提升網(wǎng)絡(luò)的分割性能;2)考慮到部分通道卷積“懈怠”的現(xiàn)象,即所提取的特征圖存在冗余,針對這一問題利用Cheap operation 生成部分特征圖,進一步將模型進行壓縮得到SGUnetV2,Cheap operation 具體結(jié)構(gòu)如1(c);3)SGUnetV3 作為最終的模型,采用特征信息交互的方式,打破了卷積層的通道相關(guān)性和空間相關(guān)性是可以退耦合的設(shè)想,將各組特征均勻地隨機排列重組,解決了分組卷積組間信息的交流問題。
圖1 SGUnetV3 算法整體結(jié)構(gòu)Fig.1 The overall structure of the SGUnetV3
1.2.1 沙漏狀的深度可分離卷積和ECA 輕量級注意力模塊
第一步使用沙漏狀的深度可分離卷積對網(wǎng)絡(luò)進行初步輕量化,并加入注意力ECA 模塊提高模型性能。網(wǎng)絡(luò)的基礎(chǔ)模塊如圖2(b)所示,由此基礎(chǔ)塊構(gòu)建的模型稱為SGUnetV1。
圖2 SGUnetV1 基礎(chǔ)塊結(jié)構(gòu)圖Fig.2 SGUnetV1 basic block structure diagram
沙漏狀的深度可分離卷積:由ZHOU Daquan[26]等提出的sandglass block 可以解決Inverted residual block[7]存在的特征信息不足的問題。本文采用sandglass block 作為模型基礎(chǔ)塊,替代普通卷積提取特征,如圖2(a)所示。假設(shè)輸入圖片為,其中H,W,C分別為輸入圖片的長,寬和通道數(shù)。首先,利用3×3 逐層卷積(depthwise conv)對輸入特征圖進行深度方向上的特征提取,此時并沒有對輸入Xi進行維度上的壓縮,所提取的空間特征具有更強的表達性。然后,將經(jīng)過第一層逐層卷積后的特征圖作為沙漏狀的點卷積層(1×1 pointwise conv)的輸入,沙漏狀的點卷積層由兩個點卷積構(gòu)成,其設(shè)計遵循正殘差的結(jié)構(gòu),第一個點卷積先將特征維度按比例r壓縮,此時的輸出為,第二個點卷積將維度恢復至輸入的特征維度Ci,在提取到充足的通道特征信息的前提下,減小點卷積所帶來的巨大開銷。經(jīng)過前面逐層卷積和點卷積之后,輸入圖片在深度和通道兩個方向提取到豐富的特征,但在點卷積層中為了削減點卷積的開銷,遵循了正殘差的先壓縮再擴展的思想,這會導致部分空間信息在縮小的點卷積處丟失,為了彌補這些特征的丟失,在最后再加入一層3×3 逐層卷積層來補充空間的特征信息,彌補所丟失的部分空間信息。為了驗證所使用的方法,將初步改進的模型SGUnet 與Unet、Inverted residual block 融入骨干Unet 網(wǎng)絡(luò)進行了對比實驗,實現(xiàn)結(jié)果如表1所示,結(jié)果表明沙漏狀的深度可分離卷積相比于普通卷積,逆殘差塊更輕量,效果更好。
由于考慮到在利用沙漏狀的深度可分離卷積初步輕量化模型時,模型的分割性能可能會隨著模型參數(shù)量的減少而下降,以及部分注意力模塊存在降維操作破壞通道間與權(quán)重的直接對應(yīng)關(guān)系,因此在沙漏狀的深度可分離卷積的第二次點卷積(Expansion pointwise conv)之后和最后的3×3 逐層卷積之間中加入了ECA 注意力模塊[28],結(jié)構(gòu)如圖2(b)。
ECA 輕量級注意力模塊:SE 注意力模塊[18](Squeeze-and-Excitation)可以提升網(wǎng)絡(luò)性能這一結(jié)論已被證實,但大部分注意力模塊的加入在提升性能的同時也為網(wǎng)絡(luò)增加大量運算負擔。首先回顧SE 注意力模塊,令一個卷積塊的輸出為φs∈RH×W×C,其中W,H和C為寬度、高度和通道尺寸,SE 塊中的信道權(quán)重計算為
綜合考慮了性能提升和運算量增加兩方面的取舍,以及注意力模塊降維會破壞通道間與權(quán)重的直接對應(yīng)關(guān)系,在SGUNet的網(wǎng)絡(luò)結(jié)構(gòu)中加入了ECA 注意力模塊[27]。ECA 模塊先將輸入特征圖通過全局平均池化(GAP)可用式(2)表示,將輸入特征轉(zhuǎn)化為為
1.2.2 從特征圖冗余的方向進行模型壓縮
在SGUnetV1 的基礎(chǔ)上,將Cheap operation 置于沙漏狀的深度可分離之后,從特征圖冗余的角度進一步壓縮了模型參數(shù)量。此時的網(wǎng)絡(luò)基礎(chǔ)塊如圖3所示,第二步改進后得到的網(wǎng)絡(luò)稱為SGUnetV2。
圖3 加入Cheap operation 后的基礎(chǔ)模塊結(jié)構(gòu)Fig.3 The basic module structure after joining the Cheap operation
Cheap operation:絕大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)沒有考慮到特征圖可能存在一定的冗余,這些冗余的特征圖存在極大的相似性,它們可以通過一些簡單的變化從相似的特征圖中得到。HAN K 等[10]提出的GhostNet 正是從特征圖冗余的角度思考,對模型進行壓縮。在采用深度可分離卷積的網(wǎng)絡(luò)架構(gòu)中,大量的1×1 卷積還會占用龐大的MAC(Memory Access Cost)和參數(shù)量。Ghostnet 中所提出的Ghost 模塊,從特征圖冗余的角度,將兩張十分相似特征圖的其中一張看作另一張?zhí)卣鲌D的“影子”,這類特征圖可以通過Cheap operation 所得,從而減少大量1×1 卷積。
Cheap operation 是針對1×1 卷積的壓縮方式,此處針對1×1 卷積運算削減量進行分析。對于輸入特征圖Xi可將其表示為Hi×Wi×Ci,所需的輸出特征圖Xo可表示為Ho×Wo×Co,由于1×1 卷積僅改變特征圖的維度,因此不采用Cheap operation 需要Co個1×1×Ci卷積核,此時得到目標輸出特征圖所需要的計算量為Co×Hi×Wi×Ci。如果采用Cheap operation 對1×1 卷積按比例K 進行壓縮,1×1 的計算量則有,需要線性變換的計算量為。此時Cheap operation 的運算量為。實際壓縮的參數(shù)之比為
由于在淺層的網(wǎng)絡(luò)中輸入特征圖的大小Hi,Wi?K,在深層的網(wǎng)絡(luò)中輸入通道數(shù)往往成百上千,即Ci?K,此時可將式(5)近似于
將Cheap operation 用作針對點卷積參數(shù)量減小的方法,每層網(wǎng)絡(luò)都采用了該方法得到部分特征圖,進一步減小網(wǎng)絡(luò)大小。
1.2.3 分組卷積和特征信息交互
第三步,在利用分組卷積減輕1×1 卷積負擔的同時,采用特征信息交互的方式來彌補分組卷積缺乏組間信息交互的缺點,具體操作如圖4(b)所示,圖4(a)所展示的為添加Channel shuffle[8]后的網(wǎng)絡(luò)基礎(chǔ)塊,將由圖4(a)構(gòu)建的網(wǎng)絡(luò)稱其為SGUnetV3。
圖4 SGUnetV3 網(wǎng)絡(luò)基礎(chǔ)塊結(jié)構(gòu)Fig.4 The basic block structure of SGUnetV3 network
特征信息交互:即使經(jīng)過第二步的改進,網(wǎng)絡(luò)運算量和參數(shù)量依然大量堆積在1×1 卷積處,ZHANG X等[8]采用分組卷積來減輕1×1 卷積計算量的同時提出Channel shuffle 解決了分組卷積之間每組特征信息無法交互的問題。在SGUnetV2 的基礎(chǔ)上,本文也采用了相同的方法,將分組卷積替代沙漏狀的深度可分離卷積中的1×1 卷積,非??捎^地減小了1×1 卷積的花費,并且采用特征信息交互的方法解決分組卷積中每組特征間缺乏信息交互的問題,在進一步壓縮模型的同時,保證模型的性能。
Channel shuffle 設(shè)計思路具體如下,假設(shè)使用S 組分組卷積來替換昂貴的1×1 卷積,為了解決組間信息傳遞的問題,將每組的分組卷積提取到的通道特征隨機地分為S'組(S'=S),記為,然后通過特征信息交互的方法,將隨機選取每組劃分后的其中一組特征ηj,其他各組的操作也相同,最后將提取到的各組特征相疊加后進行特征轉(zhuǎn)置,使從S 組中得到小組信息充分融合。具體實施方法如圖4(b)所示。圖4(b)左側(cè)為傳統(tǒng)的分組卷積,每種顏色代表一組分組卷積,右側(cè)為采用Channel shuffle 后的分組卷積,解決了各組之間特征信息無法交互的問題。
本文算法所采用的公開指靜脈數(shù)據(jù)庫為山東大學SDU-FV 和韓國全北國立大學MMCBNU_6000。將SGUnet 與不同的分割網(wǎng)絡(luò)進行對比,并且在嵌入式平臺上進行對比實驗。SDU-FV 數(shù)據(jù)集共有106 個受試者,分別收集了每個人左右手的食指、中指和無名指三個手指的指靜脈圖像,每個手指采集6 張圖片。因此,該庫中共有636 類(106 人×6 個手指)3 816(106 人×6 個手指×6 樣本)張圖像。MMCBNU_6000 數(shù)據(jù)集共有100 個受試者,分別采集了每個人左右手的食指、中指、無名指三個手指的指靜脈圖像,每個手指采集10 張圖片,且該數(shù)據(jù)集給出了提取好的ROI 區(qū)域。因此,該庫中共有600 類(100 人× 3×2 個手指)6 000(600 人×6 個手指×10 樣本指)張圖像。
在訓練的過程中隨機選取數(shù)據(jù)集的五分之四作為訓練集,剩余五分之一作為測試集。在訓練和測試中對原圖采用分塊策略,每張圖像分為2 000 個塊(patch),在寬和高均為五個步幅的情況下,對每張圖像提取多個連續(xù)的重疊塊,通過對覆蓋像素的所有預測塊的概率進行平均估計,從而獲得該像素是靜脈血管的概率。為了保證不超過硬件平臺的內(nèi)存限制及實時性,在指標與時間中權(quán)衡選取步幅為5 的patch 最為合適,在網(wǎng)絡(luò)輸出patch 結(jié)果后按照分patch 中的順序,采用交疊滑窗策略保留中心區(qū)域結(jié)果,舍棄預測不準的圖像邊緣,重新拼接成一張完整的原圖。
為了展示本文方法的高效性和普適性,本文分別在PC 端和嵌入式平臺進行對比實驗。PC 端對比實驗的運行環(huán)境為Ubuntu18.04 系統(tǒng)、英特爾i9-10900k@3.7GHz CPU(10 核20 線程)、內(nèi)存32GB、顯卡Nvidia GeForce RTX 3090 TURBO(24GB/技嘉)、CUDA11.2、Pytorch1.8.1、Python3.6.5。使用Adam 優(yōu)化器進行梯度下降,學習率為0.001,batch size 大小為512。
此外,在NVIDIA 全系列的嵌入式平臺JETSON NANO、JETSON TX2、JETSON XAVIAR NX、JETSON AGX XAVIAR 上驗證本文方法的普適性(嵌入式平臺算力順序:NANO<TX2<NX<AGX)。為了讓在不同嵌入式平臺上的數(shù)據(jù)更具有對比性,將所有嵌入式平臺環(huán)境配置設(shè)為一致Jetpack4.4、pytorch1.8.0、python3.6.9。從實驗數(shù)據(jù)中可以證明該方法相較于以往的方法更高效、更輕量。
在對比實驗中,本文采用Dice,AUC,Accuracy,Specificity,Precision 5 個分割指標作為評估網(wǎng)絡(luò)性能優(yōu)劣的依據(jù),其中以Dice、AUC 和Accuracy 作為最主要的評估指標,在本小節(jié)中將簡單介紹所采用的評估值標。
Dice 是指使用頻率最高的分割指標,分割結(jié)果和標注(ground truth)兩個相交面積占總面積的比值,完美分割為1。AUC(Area Under roc Curve)的值為處于ROC(Receiver Operating Characteristic)曲線下方面積的大小。指標越接近1 代表分割出來的性能越好。Accuracy 是指對于給定的測試數(shù)據(jù)集,分類器正確分類的樣本數(shù)與總樣本數(shù)之比。Specificity 是指在實際為正確的樣本中正確判斷的概率。Precision 是指在分類為正確的樣本中正確判斷的概率。
在網(wǎng)絡(luò)改進的第一步中,采用沙漏狀的深度可分離卷積對基礎(chǔ)網(wǎng)絡(luò)進行初步的輕量化,得到SGUnet,并且為了驗證該網(wǎng)絡(luò)的高效性,將SGUnet 與經(jīng)典的Unet,用逆殘差改進后的MobileV2+Unet 進行了對比,結(jié)果表明SGUNet的模型表現(xiàn)優(yōu)異。與Unet 相比,SGUNet的參數(shù)量約為UNet的3.8%,Mults-Adds 約為UNet的2%,Dice,AUC 和Precision 三個評價指標顯著提升,提升量分別為5.84%,5.48%,3.48%,Accuracy也提升了0.73%。與MobileV2+Unet 相比,SGUNet的模型參數(shù)量和Mults-Adds 分別只占其1/10 和1/4,在分割性能上SGUnet 大大超越MobileV2+Unet,具體實驗數(shù)據(jù)如表1所示。
表1 改進網(wǎng)絡(luò)SGUnet 與基礎(chǔ)Unet、MobileV2+Unet 性能對比表Table 1 Improved network SGUnet and basic Unet,MobileV2+Unet performance comparison table
在SGUNet的基礎(chǔ)上加入ECA 模塊提升了模型性能,將所采用的ECA 模塊與具有代表性的SE 模塊,最新的CA 模塊[24]分別用于SGUnet 模型上進行對比實驗,以此來驗證所加入ECA 模塊更適合在SGUnet網(wǎng)絡(luò)中使用。此外,本文還探究了各個模塊中設(shè)置不同的參數(shù)對實驗結(jié)果的影響。實驗結(jié)果如表2所示。(CA 模塊后的數(shù)字為模塊壓縮尺度設(shè)置,ECA 模塊后的數(shù)字為1D kernel size 的尺寸)。
表2 在SGUNet的基礎(chǔ)上加入ECA 模塊與經(jīng)典SE 模塊、CA 注意力模塊的性能對比表Table 2 Performance comparison table of ECA module,classic SE module and CA attention module added on the basis of SGUnet
由于考慮到ECA 模塊放置不同也會導致網(wǎng)絡(luò)性能有所影響,為此本文設(shè)計了a,b,c 三種方案,見圖5,并進行了大量的對比實驗,最終發(fā)現(xiàn)采用a 設(shè)計方案的網(wǎng)絡(luò)性能更好,具體設(shè)計方案性能對比見表3。
表3 a,b,c 三種不同方案的網(wǎng)絡(luò)性能比較Table 3 Comparison of network performance of three different schemes a,b,and c
圖5 ECA 模塊放置的三種方案Fig.5 Three options for ECA module placement
在網(wǎng)絡(luò)的第二步改進中,使用Cheap operation 替代部分“懈怠”卷積操作,進一步減輕網(wǎng)絡(luò)的大小以及運算量,此時將所得到的SGUnetV2 與Unet,用深度可分離卷積改進的MobileV1+Unet,使用逆殘差改進的MobileV2+Unet 在模型大小上進行對比見表4,在SGUnetV1 的基礎(chǔ)上模型參數(shù)減小100k,Mult-Adds 減小13M,在模型壓縮上我們保持十分明顯的優(yōu)勢。
表4 SGUnetV2 與其他網(wǎng)絡(luò)的參數(shù)比較表Table 4 Comparison of parameters between SGUnetV2 and other networks
為了更直觀地展示網(wǎng)絡(luò)模型的分割效果,本節(jié)展示了在兩個指靜脈數(shù)據(jù)集上的分割效果圖,其中每個數(shù)據(jù)庫各選取五張圖進行結(jié)果展示,如圖6,并且在圖7 中展示了在將每張原圖分成多張patch 后,單張patch在網(wǎng)絡(luò)中的可視化效果,進一步驗證網(wǎng)絡(luò)模型對指靜脈的細節(jié)分割效果較好。
圖6 指靜脈分割效果圖Fig.6 The effect of finger vein segmentation
圖7 為單張patch 在SGUnetV3 網(wǎng)絡(luò)中的可視化效果。其中Imgae 為原圖分成的patch,Groud truth 為單張patch 所對應(yīng)的標簽塊,Last encoder layer 展示了最后一層編碼器中所提取到patch 中的指靜脈的邊界、輪廓等深層特征,Last decoder layer 為網(wǎng)絡(luò)最后一層解碼器中所提取到指靜脈紋絡(luò)。對比網(wǎng)絡(luò)最后一層解碼器與其所對應(yīng)的標簽塊,可以明顯地看出所提取到的指靜脈與標簽幾乎無異。
在PC 端將SGUnet 系列網(wǎng)絡(luò)與同基礎(chǔ)的網(wǎng)絡(luò)U-net、變更的網(wǎng)絡(luò)R2U-net 以及DU-net 在SDU-FV 和MMCBNU_6000 兩個數(shù)據(jù)集上進行了對比實驗。本文采用常用的圖像分割評判指標Dice 系數(shù)、準確性(Accuracy)、特異性(Specificity)、精確率(precision)、AUC(Area Under roc Curve,AUC 為ROC curve 下方與x軸圍成的面積大?。﹣砼袛嗑W(wǎng)絡(luò)性能的優(yōu)劣。實驗結(jié)果如表5 和表6。
表5 SGUnet 系列網(wǎng)絡(luò)與大型網(wǎng)絡(luò)在SDU-FV 數(shù)據(jù)集上的實驗結(jié)果Table 5 Experimental results of SGUnet series network and large-scale network on SDU-FV data set
表6 SGUnet 系列網(wǎng)絡(luò)與大型網(wǎng)絡(luò)在MMCBNU_6000 數(shù)據(jù)集上的實驗結(jié)果Table 6 Experimental results of SGUnet series network and large-scale network on MMCBNU_6000 data set
從實驗數(shù)據(jù)中可以觀察得到所提出的網(wǎng)絡(luò)SGUnetV3 與大型網(wǎng)絡(luò)R2UNet,DUnet,以及Unet 在模型大小上的比值分別為0.2%,0.5%,1%。SGUnetV3 在參數(shù)量,運算時間和計算量上極具優(yōu)勢,并且SGUnetV3在性能方面相比Unet 有顯著提升。
在SDU-FV 數(shù)據(jù)集上,SGUnetV1,V2,V3 分割性能得到全面提升,分割系數(shù)Dice 和AUC 提升顯著,證明本文改進的方法是卓有成效的。SGUnetV3 網(wǎng)絡(luò)與大型經(jīng)典網(wǎng)絡(luò)R2UNet,DUnet 相比,各項指標接近,由于模型在壓縮過程中存在性能下降的情況,這是不可避免的,考慮到在網(wǎng)絡(luò)大小和模型參數(shù)上的這一巨大差距以及在嵌入式平臺上實現(xiàn),可以認為SGUnetV3 網(wǎng)絡(luò)是高效的。
在MMCBNU_6000 數(shù)據(jù)集上,SGUnet 系列網(wǎng)絡(luò)在性能方面超過R2UNet,DUnet。SGUnetV1 的Dice系數(shù)達到了最高的0.538 4,每一步改進后網(wǎng)絡(luò)的AUC 指標都遠超大型網(wǎng)絡(luò)。SGUnetV3 中AUC,Accuracy兩個指標都有很大的提升,超過了大型的R2Unet,DUnet,Precision 指標也僅稍稍低于DUnet,與R2Unet,DUnet 在Specificity 指標上相比整體相差較小,由于SGUnetV3 模型大小與大型網(wǎng)絡(luò)相差巨大,并且在部分指標上超越了大型網(wǎng)絡(luò),與基礎(chǔ)的Unet 相比,SGUnetV3 網(wǎng)絡(luò)大幅提升分割的性能,還將模型大小壓縮至145k,這一結(jié)果也證明了網(wǎng)絡(luò)的高效性。
為了證明本文方法的實時性,本文在計算能力較弱的NVIDIA 系列的嵌入式平臺上部署SGUnet 系列網(wǎng)絡(luò),并進行了測試實驗。此外,本文還將一些經(jīng)典的輕量化網(wǎng)絡(luò)用在傳統(tǒng)的Unet 上與本文方法從模型大小、分割性能和運行時間等多個方面進行綜合比較。實驗結(jié)果如表7、表8所示。
表7 SGUnet 系列網(wǎng)絡(luò)與其它輕量級網(wǎng)絡(luò)在SDU-FV 數(shù)據(jù)集上的實驗數(shù)據(jù)Table 7 Experimental data of SGUnet series network and other lightweight networks on SDU-FV dataset
表8 SGUnet 系列網(wǎng)絡(luò)與其它輕量級網(wǎng)絡(luò)在MMCBNU_6000 數(shù)據(jù)集上的實驗數(shù)據(jù)Table 8 Experimental data of SGUnet series network and other lightweight networks on MMCBNU_6000 dataset
2.7.1 模型大小
經(jīng)過初步改進的SGUnetV1 已經(jīng)超越了經(jīng)典的輕量級模型Squeeze_Unet,Mobile_Unet,Ghost_Unet,雖然在參數(shù)量上Shuffle_Unet 與SGUnetV1 相當,但是SGUnetV1 在Flops、Mult-Add 兩項重要指標上分別比Shuffle_Unet 減小了25.3MFlops、18.46M。由此可見SGUnetV1 模型大小在第一步就超越了眾多輕量級模型。然后,經(jīng)過第二步利用Cheap operation 代替SGUnetV1 中部分懈怠的卷積核,得到了進一步的網(wǎng)絡(luò)SGUnetV2,使模型參數(shù)降低至416.752k,F(xiàn)lops 為29.26M,Mult-Add 為26.575M。最后,通過利用分組卷積和特征信息交互,使網(wǎng)絡(luò)再次壓縮得到最終的SGUnetV3,其參數(shù)量只有145.25k,F(xiàn)lops僅為13.13M,Mult-Add只有10.453M。
2.7.2 分割性能
本文在兩個公開的手指靜脈數(shù)據(jù)集上驗證了SGUnet 系列網(wǎng)絡(luò)高效性。SGUnetV1 的性能超過了各種輕量級模型以及Unet,在SDU-FV 數(shù)據(jù)集中,Accuracy 指標達到了92.10%,AUC 達到了0.898 2,Dice 系數(shù)為0.503 8;SGUnetV2 進一步壓縮模型大小的同時,保證了網(wǎng)絡(luò)的分割性能,其各項指標與SGUnetV1 十分相近,AUC 指標更是超越了SGUnetV1;最終的模型SGUnetV3 只有145.25k 參數(shù),其AUC 指標得到了最高的0.899 2,在其它指標上雖然略差于V1,V2,但也超過以往的輕量級網(wǎng)絡(luò)和Unet,這一突破是巨大的。在MMCBNU_6000 數(shù)據(jù)集上,SGUnetV1 全面超越了所有的輕量級網(wǎng)絡(luò),相比于基礎(chǔ)Unet,SGUnetV1 的AUC,Dice,Accuracy 這3 個關(guān)鍵指標分別增漲了0.051,0.064,1.69%;SGUnetV2,V3 也僅僅在Specificity,Precision 指標上相比于Ghost_Unet 稍弱,其它性能指標上也遠超過了其他網(wǎng)絡(luò)。
2.7.3 實際分割效果
圖8、9 分別為SGUnet,Unet 和各種輕量級網(wǎng)絡(luò)的分割結(jié)果圖,在兩個數(shù)據(jù)集中分別選取同一張圖片對網(wǎng)絡(luò)分割性能進行比較,圖8 中Unet 分割效果并不理想,Squeeze_Unet,Mobile_Unet,Ghost_Unet 和Shuffle_UNet的分割效果有所改進,但是部分極細的血管并沒有很好地分割出來,以及分割得到的血管整體效果不夠平滑。網(wǎng)絡(luò)SGUnetV1 不僅在性能指標上獲得了出色的表現(xiàn),實際分割得到的血管也更平滑,更符合人體血管的特點,從SGUnetV3 的分割圖中所標注的紅框可以看出,部分極細的毛細血管也可以完美地分割。所提出的SGUnetV1、V2 和V3 在MMCBNU_6000 數(shù)據(jù)集上也同樣展現(xiàn)了強大的分割效果,可以清楚地從圖9 中觀察到,其它輕量級網(wǎng)絡(luò)在細節(jié)分割方面并沒有優(yōu)勢,雖然它們都得到了比Unet 更好的分割結(jié)果,但是在血管平滑程度和毛細血管的準確分割這兩個方面還較為不足,SGUnet 正好滿足了這兩個優(yōu)勢,圖9 紅框所標注多個位置處的毛細血管被精準地分割,再次證明了SGUnet 網(wǎng)絡(luò)的高效性。
圖8 SGUnet 與各個輕量化網(wǎng)絡(luò)在SDU-FV 數(shù)據(jù)集上的實際分割效果圖Fig.8 The actual segmentation effect diagram of SGUnet and each lightweight network on the SDU-FV dataset
圖9 SGUnet 與各個輕量化網(wǎng)絡(luò)在MMCBNU_6000 數(shù)據(jù)集上的實際分割效果圖Fig.9 The actual segmentation effect diagram of SGUnet and each lightweight network on the MMCBNU_6000 dataset
2.7.4 實時性實驗
表9、10 中分別記錄了SGUnet 系列網(wǎng)絡(luò)與各種輕量化網(wǎng)絡(luò)在NVIDIA 全系列嵌入式平臺上分割單張指靜脈圖片的運行時間,本文分別在SDU-FV 和MMCBNU_6000 兩個數(shù)據(jù)集中選取20 張圖片進行測試。在SDU-FV 數(shù)據(jù)集中,SGUnetV1 僅在NVIDIA NANO 上的運行時間略慢于Ghost_Unet,在其他嵌入式平臺上運行速度完全超越了各種輕量化網(wǎng)絡(luò)模型。雖然SGUnetV2,SGUnetV3 與V1 相比速度有所下降,這是由于網(wǎng)絡(luò)輕量化引入了相比卷積更為復雜的操作,但V2,V3 更加輕量,V3 模型大小不到V1 的1/3,我們認為這是可以接受的。在MMCBNU_6000 數(shù)據(jù)集中,SGUnetV1 在所有的嵌入式平臺上的運行時間超越了所有的輕量化模型,證明SGUnet 系列網(wǎng)絡(luò)在MMCBNU_6000 數(shù)據(jù)集上具有更好的效果。
表9 SGUnet 系列網(wǎng)絡(luò)與其他輕量級網(wǎng)絡(luò)在NVIDIA 嵌入式平臺上處理單張SDU-FV 數(shù)據(jù)集圖片的運行時間Table 9 The running time of SGUnet series and other lightweight networks to process a single SDU-FV data set image on the NVIDIA embedded platform
表10 SGUnet 系列網(wǎng)絡(luò)與其他輕量級網(wǎng)絡(luò)在NVIDIA 嵌入式平臺上處理單張MMCBNU_6000 數(shù)據(jù)集圖片的運行時間Table 10 The running time of SGUnet series and other lightweight networks to process a single MMCBNU_6000 data set image on the NVIDIA embedded platform
由圖10 可以得到SGUnet 系列模型從模型大小和性能指標兩方面都勝于以往的經(jīng)典輕量化方法。在圖10(a)、(b)中可得,SGUnetV3 模型遠小于以往的輕量化模型,證明本文的輕量化方法效果更好;從圖10(c)~(h)可知,SGUnetV1 模型在AUC、Accuracy 和Dice 三個重要的分割指標上超過了以往的輕量化方法,證明本文方法在壓縮模型同時兼顧分割性能提升。SGUnet 系列網(wǎng)絡(luò)不僅是在輕量化方面取得了好的成果,在性能提升方面也得到明顯的增長,這一結(jié)果進一步證實了本文方法的優(yōu)越性。
圖10 與經(jīng)典輕量級網(wǎng)絡(luò)的重要指標對比Fig.10 Comparison of important indicators with classic lightweight networks
從上述實驗結(jié)果可以說明SGUnet 系列網(wǎng)絡(luò)可以輕松地部署在計算能力較弱的平臺上,本文方法不僅壓縮了模型大小,減輕了運行模型所需的苛刻的硬件條件,并且取得了優(yōu)秀的網(wǎng)絡(luò)性能,分割效果和運算速度。
針對在嵌入式平臺上部署輕量級指靜脈分割網(wǎng)絡(luò)時,存在參數(shù)減小導致分割性能急劇下降、算力受限和實時性等問題,本文提出了一種超輕量級指靜脈紋絡(luò)實時分割網(wǎng)絡(luò)。通過沙漏狀的深度可分離卷積和輕量的ECA 模塊構(gòu)建網(wǎng)絡(luò)基礎(chǔ)塊,減小模型參數(shù)和提高分割性能;通過Cheap operation 生成重影的特征圖,減少冗余特征圖;利用特征信息交互打破組間信息傳遞障礙,解決了分組卷積帶來的難題。SGUnet 系列網(wǎng)絡(luò)在兩個指靜脈數(shù)據(jù)集上取得了出色的效果,在模型大小上,SGUnetV3 網(wǎng)絡(luò)參數(shù)量僅為145k,F(xiàn)lop 僅為13M,Mult-Add 僅為10M;在分割性能上,SGUnet 系列網(wǎng)絡(luò)的分割性能超過了以往的輕量化模型和經(jīng)典大型分割網(wǎng)絡(luò)。此外,在NVIDIA 全系列嵌入式平臺上驗證了SGUnet 網(wǎng)絡(luò)的高效性和實時性,測試速度高達0.27 秒/張。