耿 磊,張 靜,肖志濤,童 軍
(1.天津工業(yè)大學 生命科學學院,天津 300387;2.天津工業(yè)大學 電子與信息工程學院,天津 300387;3.伍倫貢大學 電氣計算機與電信工程學院,伍倫貢 NSW2522,澳大利亞;4.天津工業(yè)大學 天津市光電檢測技術(shù)與系統(tǒng)重點實驗室,天津 300387)
禽流感疫苗主要通過雞胚培養(yǎng)法制備。在毒株增殖培養(yǎng)的過程中,裂紋胚蛋很容易滋生細菌并污染同一孵化室內(nèi)的其他胚蛋,如果未被及時剔除,可能會造成滅活疫苗失效,產(chǎn)生嚴重后果。因此,毒株胚蛋裂紋檢測對禽流感疫苗制備具有重要意義。目前禽蛋蛋殼裂紋自動檢測常用的研究方法有機器視覺、敲擊響應聲學特性分析方法、敲擊響應動力學特性分析方法、多技術(shù)融合方法。工廠車間機械設(shè)備繁多,設(shè)備運行過程中不可避免會產(chǎn)生噪聲,且各零部件之間相互碰撞、摩擦會產(chǎn)生振動。基于敲擊響應聲學的方法檢測蛋殼裂紋簡單易行[1-2],但所獲信息只是敲擊部位的局部信息,且容易受到外界噪聲干擾。基于敲擊響應動力學的方法能夠獲取較全面的禽蛋蛋殼表面信息[3-4],但是傳感器需要與蛋殼表面直接接觸。在實際應用中,在線監(jiān)測時傳感器的部署較為困難,且容易受到設(shè)備振動影響?;跈C器視覺的方法檢測結(jié)果直觀[5-6],但容易受到禽蛋蛋殼表面的污斑、裂紋大小和光源打光方式的影響。使用多技術(shù)融合的方法檢測蛋殼裂紋能有效提升檢測效果[7-8],但是多技術(shù)融合方法受限于單一技術(shù)的檢測能力。
基于機器視覺技術(shù)的禽蛋蛋殼檢測方法的檢測準確率與圖像處理算法息息相關(guān)。為減少機械設(shè)備的噪聲和振動、胚蛋蛋殼表面的污斑和裂紋大小、光源打光方式對裂紋檢測結(jié)果的影響,本文研究了一種基于深度學習的毒株胚蛋裂紋分割方法。近年來,深度學習算法在圖像分割領(lǐng)域取得了重大進展[9]。全卷積網(wǎng)絡[10](full convolutional networks,F(xiàn)CN)使用全卷積層替換卷積神經(jīng)網(wǎng)絡中的全連接層,利用反卷積實現(xiàn)特征圖上采樣,組合深淺層特征,融合全局語義信息與局部語義信息,實現(xiàn)對輸入圖像的精細分割。在此基礎(chǔ)上,文獻[11-12]采用編碼解碼結(jié)構(gòu),還原分割目標的位置信息。文獻[13-14]通過注意力機制學習數(shù)據(jù)或特征的重點信息,減少對外部信息的依賴,忽略無關(guān)信息,為圖像語義分割生成密集的上下文信息。文獻[15-16] 利用概率圖模型高效捕獲像素點之間的依賴關(guān)系。文獻[17-20]基于圖像金字塔結(jié)構(gòu),融合多尺度、多層次特征,減少圖像空間信息丟失,提高語義分割性能與速率。文獻[21]結(jié)合生成對抗網(wǎng)絡獲取像素點之間的空間標簽。文獻[22-23]借鑒循環(huán)神經(jīng)網(wǎng)絡思想,提取圖像中像素序列信息,提升分割精度。
毒株胚蛋裂紋形狀尺寸不一,不利于分割任務。此外,毒株胚蛋表面的污斑、劃痕也會對裂紋分割造成干擾。這些因素會導致胚蛋表面的裂紋和微裂紋的特征不明顯,從而造成分割難度較大。為了實現(xiàn)胚蛋裂紋精準分割,本文提出基于密集空洞卷積模塊DACM 與空洞空間金字塔池化結(jié)構(gòu)ASPP 的毒株胚蛋裂紋分割方法。該方法通過密集連接不同空洞率的空洞卷積構(gòu)成特征提取模塊,并融入到具有3 層下采樣的編碼器-解碼器網(wǎng)絡中,用以增強空間信息表示并重建不同尺度目標信息;同時,在網(wǎng)絡淺層使用ASPP獲取多尺度特征,增強細節(jié)信息,進一步提高網(wǎng)絡分割性能。為減少光源打光方式對毒株胚蛋裂紋分割的影響,使用相機獲取胚蛋圖像時,采用固定的光源與打光方式。
針對毒株胚胎裂紋細長的特點,為減少裂紋分割斷裂現(xiàn)象,保證裂紋分割效果,本文引入UNet 作為基礎(chǔ)網(wǎng)絡結(jié)構(gòu)。在提出的基于UNet 的模型中,編碼器的深層特征具有大感受野、淺層特征保留豐富的空間信息,為減少空間信息丟失,網(wǎng)絡采用3 次下采樣。解碼部分采用3 次轉(zhuǎn)置卷積將特征圖逐步還原到輸入圖像尺寸。為使分割結(jié)果更準確,將編碼器和解碼器中的同尺度特征圖進行通道特征融合,以恢復目標的細節(jié)和空間維度。
早期基于深度學習的圖像分割方法是先利用卷積操作提取圖像特征,然后利用下采樣減小特征圖尺寸,最后將所得圖像上采樣到原始的圖像尺寸進行預測。圖像尺寸先減小再增大的過程會造成內(nèi)部數(shù)據(jù)結(jié)構(gòu)丟失、小目標信息無法重建的問題。為此,Yu 等[24]提出空洞卷積結(jié)構(gòu),在不使用池化的基礎(chǔ)上加大感受野,讓每個卷積輸出都能在不犧牲特征空間分辨率的同時包含較大范圍的信息。然而完全基于空洞卷積設(shè)計的模型也會存在一些問題:空洞卷積的卷積核大小并不連續(xù);并不是所有的像素都參與計算;會損失信息的連續(xù)性。針對空洞卷積存在的問題,Wang 等[25]提出解決辦法:疊加的空洞卷積的空洞率不能有大于1的公約數(shù)且設(shè)計成鋸齒狀結(jié)構(gòu),避免產(chǎn)生柵格效應。
蛋殼受不同外力影響所造成的裂紋形狀尺寸各不相同。為避免過擬合現(xiàn)象,并滿足不同尺度目標的分割效果,本文提出密集空洞卷積模塊(dense atrous convolution module,DACM),其結(jié)構(gòu)如圖1 所示。
圖1 密集空洞卷積模塊結(jié)構(gòu)Fig.1 Structure of dense atrous convolution module
該模塊通過組合不同空洞率的空洞卷積獲取豐富的上下文信息。模塊的每一層均與之后的所有層相連,即每一層的輸入特征由之前所有層的輸出特征構(gòu)成。為提取不同尺度目標的特征,避免丟失信息的連續(xù)性,約束堆疊的空洞卷積的空洞率之間的公約數(shù)不大于1,并呈鋸齒狀。為減緩梯度消失問題,加速網(wǎng)絡收斂速度,提升訓練穩(wěn)定性,在每個空洞卷積前均進行批量歸一化(BN)操作。DACM 每一層均包含BN、ReLu 激活、卷積核為3×3 的空洞卷積,3 層空洞卷積的空洞率為(1,2,3),設(shè)模塊第i層的輸出特征為xi,則其計算公式為:
式中:Hi為第i層的非線性復合函數(shù),其包含BN、ReLU 激活、空洞卷積操作;ri為第i層空洞卷積的空洞率;[x0,x1,…,xi-1]表示將第0 層到第i-1 層的輸出特征合并。
DACM 包含3 層空洞卷積,且空洞率為(1,2,3),設(shè)模塊輸出特征為x*,則其計算公式為:
由式(2)可以看出,DACM 的輸出包含多個層次的特征信息,加強特征傳播,鼓勵特征復用,兼容不同尺度目標的分割要求,使網(wǎng)絡適用于不同尺度的目標。
Deeplab 系列以并行連接的方式,采用不同空洞率的空洞卷積提取給定輸入的多尺度特征,多個比例捕獲圖像的上下文信息實現(xiàn)語義分割??斩纯臻g金字塔池化(atrous spatial pyramid pooling,ASPP)結(jié)構(gòu)如圖2 所示。
圖2 空洞空間金字塔池化結(jié)構(gòu)Fig.2 Structure of atrous spatial pyramid pooling
設(shè)ASPP 第j層的輸出特征為xj,則其計算公式為:
式中:Hj是第j層的非線性函數(shù),其可以是卷積操作、空洞卷積操作、池化操作。
ASPP 包含5 層結(jié)構(gòu),可以獲取多尺度特征,設(shè)xASPP的輸出特征為,則其計算公式為:
式中:[x1,x2,x3,x4,x5]表示將第1 層到第5 層的輸出特征合并。
根據(jù)毒株胚蛋裂紋的特點,本文提出了DACM 和ASPP 結(jié)合的毒株胚蛋裂紋分割方法。毒株胚蛋裂紋分割網(wǎng)絡結(jié)構(gòu)如圖3 所示。
圖3 毒株胚蛋裂紋分割網(wǎng)絡整體結(jié)構(gòu)Fig.3 Overall structure of crack segmentation network
提出的網(wǎng)絡采用具有3 層下采樣的編碼器-解碼器網(wǎng)絡結(jié)構(gòu),輸入圖片尺寸為96×96,首先使用卷積核為1×1 的卷積,將單通道圖像映射到32 通道特征圖。然后將特征圖輸入到編碼器中。網(wǎng)絡編碼部分和解碼部分均使用DACM 進行特征傳播。編碼部分使用最大池化操作實現(xiàn)下采樣。最大池化層的池化窗口為2×2、步長為2,每次下采樣輸出特征圖的尺寸縮小50%。3 次下采樣的過程中,4 個DACM 的輸出通道數(shù)為(32,64,64,64),最終特征圖尺寸縮小到12×12。解碼部分使用轉(zhuǎn)置卷積層實現(xiàn)上采樣,每次上采樣后特征圖尺寸增加1 倍。3 次上采樣的過程中,3 個DACM的輸出通道數(shù)為(64,64,32),特征圖尺寸逐步恢復到原輸入圖像尺寸。同時,通過跳躍連接將編碼部分的特征圖傳遞到對應的解碼部分進行合并,網(wǎng)絡中含有3 次跳躍連接傳遞特征。在網(wǎng)絡淺層使用ASPP 獲取多尺度特征,并融合ASPP 輸出特征與解碼器輸出特征。將生成的高分辨率特征圖通過卷積核尺度為3 ×3 與1×1 的卷積實現(xiàn)語義信息細化與像素級分類。本文中網(wǎng)絡使用Softmax 分類器,選用交叉熵函數(shù)作為損失函數(shù)。
為檢測白皮毒株胚蛋裂紋特征,本文使用HIKVISION MV-CE013-50GC 型彩色工業(yè)相機以及HIKVISION MVL-HF0828M-6MP 鏡頭采集頂部裂紋與側(cè)面裂紋數(shù)據(jù)。
圖4為毒株胚蛋頂部和側(cè)面裂紋數(shù)據(jù)采集示意圖。
圖4 毒株胚蛋頂部和側(cè)面裂紋數(shù)據(jù)采集Fig.4 Collection of the top crack data and the side crack data
頂部裂紋數(shù)據(jù)采集:利用藍光對表面微特征敏感的特點,使用HIKVISION MV-LBPS-150-100 藍色平行光源,自上向下打光,如圖4(a)。
側(cè)面裂紋數(shù)據(jù)采集:利用光的透射性,使用Wordop PL-2108-3W-A 白色點光源,自右向左打光。為防止漏光,使用橡膠套覆蓋了胚蛋的頂部,如圖4(b)。
頂部裂紋數(shù)據(jù)處理:在每次采集圖像時,相機采集的單張圖像包含了4 個毒株胚蛋的全部區(qū)域,為便于訓練,需要對數(shù)據(jù)進行切割,獲取單個胚蛋圖像區(qū)域。圖5 為裂紋數(shù)據(jù)樣本。
圖5中,每張圖像像素均為512×512。從圖5(a)中可以看出,頂部裂紋狹長,形狀尺寸隨機,邊界模糊。在卷積神經(jīng)網(wǎng)絡訓練與測試的過程中,容易造成分割結(jié)果中有較多的裂紋斷裂現(xiàn)象。頂部裂紋標注如圖5(b)所示。
側(cè)面裂紋數(shù)據(jù)處理:在每次采集圖像時,相機采集單張圖像中包含了單個胚蛋的全部區(qū)域。采集到的圖像中帶有左右臨近胚蛋的信息,而有效區(qū)域只有中間單個完整胚蛋成像區(qū)域,因此需要對數(shù)據(jù)進行切割,獲取單個胚蛋圖像區(qū)域。從圖5(c)中可以看出,側(cè)面裂紋圖會有高亮斑點干擾,形狀尺寸隨機,邊界模糊,且圖像中的胚蛋血管信息會對裂紋的分割造成干擾。側(cè)面裂紋標注如圖5(d)。
圖5 裂紋數(shù)據(jù)樣本Fig.5 Data samples of vaccinated eggs crack
頂部裂紋數(shù)據(jù)集:現(xiàn)有已標注頂部裂紋圖像240張。在原始數(shù)據(jù)的基礎(chǔ)上,隨機選擇40 張作為驗證集,驗證集不進行數(shù)據(jù)增強,剩余200 張裂紋樣本以180°和270°對原圖進行圖像旋轉(zhuǎn)變換以及上下翻轉(zhuǎn)變換,擴充后的數(shù)據(jù)集有840 張。從增強的數(shù)據(jù)中隨機挑選出200 張作為測試集,剩余600 張作為訓練集。
側(cè)面裂紋數(shù)據(jù)集:現(xiàn)有已標注側(cè)面裂紋圖像140張。在原始數(shù)據(jù)的基礎(chǔ)上,隨機選擇28 張作為驗證集,驗證集不進行數(shù)據(jù)增強。由于側(cè)面裂紋樣本的數(shù)量比較少,首先將剩余112 張裂紋樣本以45°和135°對原圖進行圖像旋轉(zhuǎn)變換,然后對第一次增強后的裂紋樣本進行圖像的左右翻轉(zhuǎn)變換,擴充后的數(shù)據(jù)有700 張。從增強的數(shù)據(jù)中隨機挑選出168 張作為測試集,剩余504 張作為訓練集。
本文實驗環(huán)境以TensorFlow 作為后端的Keras 框架,硬件配置為英特爾至強E5-2680 v4 處理器和NVIDIA GTX2080Ti GPU。
網(wǎng)絡使用Adam 優(yōu)化器,初始學習率為0.001,β1=0.9,β2=0.999,ε=1×10-8。采取小批量處理策略,批處理大小為5。所有實驗重復3 次,表中數(shù)據(jù)為3 次結(jié)果平均值。
設(shè)共有k+ 1 類(從L0到Lk,包括背景),Pij是本屬于第i類卻被分到第j類的像素數(shù)量,當i=j時,Pij代表的是分類正確的正例數(shù)量。
像素準確率(PA)計算正確分類的像素數(shù)量與所有像素數(shù)量的比值,計算表達式為:
像素準確率平均值(MPA)按類計算正確分類像素的比例,最終求得所有類別的平均值,計算表達式為:
平均交并比(MIoU)即為兩個集合的交集與其并集的重合比例,即在每個類別上計算IoU 值(即真實正例/(真實正例+錯誤負例+錯誤正例)),最后取平均。計算表達式為:
PA 不適合用于評價以小目標為主的圖像分割效果。為了評價和比較毒株胚蛋裂紋圖像分割算法的性能,使用簡潔、代表性強的MIoU 進行分析。MIoU 值越接近于1,表明分割的效果越好。
3.3.1 DACM 性能驗證
將UNet 中成對使用的卷積核尺寸為3×3 的卷積替換成DACM,并稱之為DACM-UNet。實驗中使用頂部裂紋數(shù)據(jù)集分別對UNet 和DACM-UNet 進行訓練與測試,并將分割結(jié)果進行對比。實驗結(jié)果如表1所示。
表1 基于UNet 不同特征提取模塊對頂部裂紋分割性能比較Tab.1 Comparison of segmentation performance of top crack based on different feature extraction modules of Unet
DACM-UNet 的MIoU 值為71.3%,比UNet 提高了2.7%。UNet 與DACM-UNet 網(wǎng)絡分割結(jié)果如圖6所示。
圖6 基于UNet 不同特征提取模塊的分割網(wǎng)絡Fig.6 Different feature extraction modules on segmentation network based on Unet
由圖6 可見,UNet 網(wǎng)絡分割結(jié)果較為粗糙,部分裂紋分割斷裂,裂紋末端細小部分未能分割。相較于UNet 網(wǎng)絡分割效果,DACM-UNet 網(wǎng)絡裂紋的分割結(jié)果更為流暢,裂紋分割斷裂現(xiàn)象減少,部分裂紋末端細小部分能夠較好地分割出來,裂紋的細節(jié)和邊界更加清晰,如圖6 中紅框標注所示。實驗結(jié)果表明,使用DACM 能夠提升分割網(wǎng)絡的語意分割性能。
3.3.2 毒株胚蛋裂紋分割網(wǎng)絡性能驗證
實驗中分別對FCN、SegNet、Deeplab v3+、PixelNet和本文方法進行訓練與測試,并將分割結(jié)果進行對比。實驗結(jié)果如表2 所示。
表2 不同方法對頂部裂紋分割性能比較Tab.2 Comparison of segmentation performance of top crack based on different methods
由表2 可見,本文方法指標優(yōu)于其他分割方法,MIoU值為74.2%。不同分割網(wǎng)絡的分割結(jié)果如圖7 所示。
圖7 不同分割網(wǎng)絡對頂部裂紋的分割結(jié)果對比Fig.7 Comparison of segmentation results of top crack by various methods
圖7中,F(xiàn)CN 采用上采樣方法實現(xiàn)了像素級的預測,因為上采樣過程會丟失大量信息,導致分割結(jié)果粗糙,部分裂紋無法分割。SegNet 在解碼器中使用最大池化索引來對低分辨率的特征圖執(zhí)行向上采樣,使SegNet 在細節(jié)特征上的表現(xiàn)比FCN 更好。FCN 和SegNet 網(wǎng)絡只能識別出小部分裂紋特征,分割結(jié)果無法顯示胚蛋裂紋信息。Deeplab v3+采用ASPP 模塊充分利用全局信息和局部信息之間的關(guān)系,使分割結(jié)果中裂紋輪廓更接近標注圖裂紋輪廓,但裂紋分割結(jié)果易受毒株胚蛋表面污斑、劃痕影響,抗干擾能力較弱。PixelNet 網(wǎng)絡采用像素分層采樣策略,充分利用了像素的空間位置信息,使得裂紋分割結(jié)果趨近于標注圖裂紋輪廓,然而裂紋分割斷裂現(xiàn)象較為明顯。對比其他分割方法,本文提出的方法能同時滿足不同尺寸裂紋分割,裂紋分割斷裂現(xiàn)象明顯減少,裂紋細節(jié)分割良好,有效減少毒株胚蛋表面污斑、劃痕對分割結(jié)果的影響,抗干擾能力強,如圖7 中的紅框標注。
為進一步評估本文提出的方法在裂紋分割任務中的魯棒性,在側(cè)面裂紋數(shù)據(jù)集上進行實驗。實驗結(jié)果如表3 所示。
表3 不同方法對毒株胚蛋側(cè)面裂紋分割性能比較Tab.3 Comparison of segmentation performance of vaccinated eggs side crack based on different methods
本文方法在MIoU 指標上優(yōu)于其他分割方法。不同網(wǎng)絡的分割結(jié)果如圖8 所示。
圖8 不同分割網(wǎng)絡對側(cè)面裂紋的分割結(jié)果對比Fig.8 Comparison of segmentation results of side crack by various methods
由圖8 可以看出,提出的方法明顯減少裂紋分割斷裂現(xiàn)象,裂紋細節(jié)分割良好,裂紋輪廓更流暢,如圖8 中的紅框標注。實驗表明,本文提出的方法有較強魯棒性。
本文提出了一種毒株胚蛋裂紋分割方法。該方法采用密集空洞卷積模塊DACM,該結(jié)構(gòu)通過組合不同空洞率的空洞卷積獲取豐富的上下文信息,綜合利用深層淺層特征。該方法采用編碼器-解碼器網(wǎng)絡結(jié)構(gòu),實現(xiàn)了網(wǎng)絡對圖像特征的多尺度特征識別,增強語義信息的同時獲取像素的空間信息。為進一步增強分割效果,該方法使用空洞空間金字塔池化結(jié)構(gòu)ASPP 獲取多尺度特征,增強細節(jié)信息,提高網(wǎng)絡分割性能。本文方法與現(xiàn)有的其他分割網(wǎng)絡相比,針對毒株胚蛋裂紋這類狹長小目標分割結(jié)果表現(xiàn)更為出色。在自制毒株胚蛋頂部和側(cè)面裂紋數(shù)據(jù)集上,該方法的MIoU 分別達到74.2%和81.3%,具有較強的魯棒性。未來工作中,將進一步研究本文方法在胚蛋圖像其他組織分割上的應用,提高網(wǎng)絡的泛化能力。