?

基于深度學習多尺度特征的胎兒頭圍測量方法

2023-11-02 12:36黃佳偉付曉薇
計算機應用與軟件 2023年10期
關鍵詞:頭圍頭部卷積

黃佳偉 付曉薇* 陳 芳 李 曦

1(武漢科技大學計算機科學與技術學院 湖北 武漢 430065)

2(智能信息處理與實時工業系統湖北省重點實驗室 湖北 武漢430065)

3(武漢科技大學校醫院超聲影像科 湖北 武漢 430065)

4(華中科技大學人工智能與自動化學院 湖北 武漢 430074)

0 引 言

醫學超聲圖像被廣泛地應用于孕婦的產前檢查中,對我國優生優育具有重要意義[1-2]。相比其他的成像方式,醫學超聲成像具有無輻射、成像速度快、經濟等優點。但其圖像清晰度較低,處理結果依賴于臨床醫生的經驗。傳統的胎兒頭圍測量方式是由醫生手動選擇胎兒頭部特征點,從而確定頭部輪廓。但該測量方式耗時耗力且分割結果受醫生主觀臨床經驗影響較大[3]。

很多學者對醫學超聲胎兒頭圍測量方法展開了大量研究。Lu等[4]提出一種自動測量胎兒超聲圖像頭圍(HC)檢測方法,該方法分割效果較依賴圖像的質量和參數選取。Carneiro等[5]使用約束增強樹分類器對感興趣的結構進行分段并重現標準的生物計量測量。Yu等[6]利用形態學開運算抑噪,再利用K-means聚類方法分割頭圍,最后進行橢圓擬合。該方法易受圖像細節干擾。Zhang等[7]利用非線性擴散技術來降噪,設計了一個多尺度、多方向濾波庫來提取胎兒超聲解剖結構特有的紋理特征,最后采用最小二乘橢圓擬合方法構建頭部輪廓。Li等[8]將胎齡和超聲掃描深度的先驗知識,整合到一個隨機森林分類器,實現定位胎兒頭部。使用相位對稱性檢測胎兒頭骨的中心線,最后基于幾何距離的橢圓擬合方法擬合頭圍并進行測量。該方法對胎兒頭部輪廓不顯著或不完整的超聲圖像,擬合效果并不理想。

深度學習模型能自主學習圖像特征,因此被廣泛應用于圖像分割[9-10]等領域。本文提出一種基于H-Unet改進模型的醫學超聲胎兒頭圍的自動測量方法。借鑒深度學習中遷移學習的思想,將resnet18[11]的部分預訓練模型參數加載到編碼器網絡中;在殘差模塊處理后,添加注意力模塊,獲取長依賴關系。在H-Unet編碼器與解碼器之間,利用多尺度特征金字塔(Atrous Spatial Pyramid Pooling,ASPP)[12]增大感受野,從而獲取更多不同尺度的圖像特征;采用Dice Loss和Bce Loss訓練網絡,提高網絡的分割性能。本文采用兩個步驟完成胎兒頭圍測量,首先提出一種H-Unet改進模型進行醫學超聲胎兒頭部圖像分割;然后,利用最小二乘法進行頭圍橢圓擬合,有效抑制頭部邊緣不平滑、部分細節缺失等對橢圓擬合的影響。實驗結果表明,本文方法能自動有效地測量醫學超聲圖像胎兒頭圍。

1 胎兒頭部圖像分割

本文方法主要流程如圖1所示。本文方法對訓練圖像進行切割、旋轉、調整亮度等數據增強處理,然后通過學習正負樣本的特征訓練H-Unet網絡分割模型。測試主要分為兩部分。第一部分,針對醫學超聲胎兒頭圍圖像,利用所提出的H-Unet網絡改進模型分割出胎兒的頭部區域;第二部分,對H-Unet的分割結果,提取胎兒頭部輪廓。然后,進行橢圓擬合,計算出胎兒頭圍參數,實現胎兒頭圍的自動測量。

圖1 本文方法流程

1.1 改進H-Unet網絡模型

H-Unet網絡模型如圖2所示。其編碼器是基于預訓練的Resnet網絡而構建。淺層特征可抓取圖像諸如邊界、顏色等簡單特征,而深層特征能夠學習到高級語義特征。通過逐步縮減特征圖的空間維度來獲取深層圖像特征。池化操作增加感受野、降低特征分辨率與計算量,但損失部分信息。因此,H-Unet使用了三次下采樣操作,后面使用一組空洞卷積代替下采樣操作。編碼器最終的輸出相比原圖分辨率下降了8倍。為了使特征分布更均勻、易于訓練,卷積層后加入歸一化層對特征進行歸一化處理。采用ReLU函數作為激活函數以解決網絡訓練時的梯度彌散問題。

圖2 H-Unet網絡結構

解碼器是將特征圖逐漸恢復到原圖大小的過程。解碼器和編碼器呈對稱,其核心為與下采樣對應的3組反卷積層與卷積層。圖像在經過編碼器的步長為2的卷積層后,部分胎兒頭部邊緣信息丟失,需要感受野小的淺層特征來幫助恢復細節信息。為此,本文在編碼器和解碼器之間建立3條跳躍連接。將編碼器中的淺層特征和解碼器的深層特征融合。3×3卷積操作是為了消除上采樣后的混淆效應。為了生成多尺度感受野,在編碼器和解碼器之間加入了ASPP。

1.2 空洞卷積

在圖像分割中,傳統的網絡對輸入特征圖做卷積,然后進行下采樣池化操作。由于圖像分割預測是像素級輸出,將下采樣后的特征圖上采樣到原圖分辨率大小并進行預測。下采樣操作讓像素點有更大的感受野,且在一定程度上實現平移不變性,但是損失了圖像的結構信息??斩淳矸e[13]可以在不降低特征分辨率的情況下增大感受野,讓每個卷積輸出都包含較大范圍的信息,更好地學習圖像的全局信息。

空洞卷積后特征圖大小定義如下:

n=k+(k-1)×(d-1)

(1)

(2)

式中:k代表空洞卷積中卷積核的大小;p代表卷積操作中的邊界補零數;s代表卷積步長;d代表空洞卷積采樣率,是增大感受野的關鍵部分;i代表輸入特征圖的大小;n表示實際卷積核的大小;o表示輸出圖的大小。

本文采用的空洞卷積模塊結構如圖3所示。

圖3 空洞卷積模塊網絡結構

圖3中,r表示空洞卷積的擴張率,空洞模塊即為連續的4次空洞卷積,然后將得到的4組特征圖進行拼接,最后通過一組3×3卷積恢復到原來的特征圖維度。

1.3 多尺度特征金字塔

經典的U-Net網絡為了更好地保留圖像的細節信息,將編碼器和解碼器的對應特征圖連接。然而,單一的卷積操作不能學習到圖像多尺度的特征信息。針對該問題,本文采用了ASPP模塊,結構如圖4所示。通過1×1卷積、采樣率為{6,12,18}的空洞卷積等操作的組合,將4種方式得到的特征圖進行融合。該結構不僅增大感受野、增強網絡非線性能力,而且易于不同尺度特征信息的學習。

圖4 多尺度特征金字塔

1.4 注意力模塊

傳統的網絡為了獲取長依賴關系,可通過疊加卷積層增大感受野,獲取更大信息廣度。但該操作不可避免會增加計算量、優化難度。相較于疊加的卷積操作,Non-local[14]可有效解決這種問題,直接計算兩個位置之間的關系來獲取長依賴關系。其結構如圖5所示。其中,輸入X的維度是T×H×W×1 024,其中:T是輸入圖片的數量;H是輸入圖像的高;W是輸入圖像的寬。分別使用卷積核數量為512、大小為1×1的卷積核進行卷積得到3個維度為T×H×W×1 024的輸出。e和f兩條支路對輸出結果進行矩陣乘法,可得到THW×THW的輸出;再經過Softmax處理后和g支路的輸出結果進行矩陣乘法得到THW×512的輸出;將輸出矩陣維度擴張為T×H×W×512,將該結果進行1×1卷積,得到的結果與原始輸入X相加得到最終輸出特征圖Z。

圖5 Non-Local模塊

Non-local操作定義如下:

(3)

式中:i表示特征圖的輸出位置;j表示特征圖上的所有位置;函數f計算位置i和所有位置j之間的相關性;h是信息變換函數;C為歸一化函數。具體定義如下:

(4)

式中:Wh為一個權重矩陣,一般通過1×1卷積操作來實現。

1.5 模型訓練的損失函數

在胎兒頭部的分割中,胎兒頭部區域為正樣本,非胎兒頭部區域為負樣本。本文的數據集正負樣本比例接近1∶10,正負樣本嚴重失衡。如果使用Bce Loss,會導致訓練會被比例較大的負樣本主導,很難學習到胎兒頭部區域的特征,但Dice Loss適用于正負樣本不均衡。使用Dice Loss會對反向傳播造成不利的影響,對于小目標圖像,一旦有部分像素預測錯誤,會導致梯度變化劇烈,訓練不穩定。使用Bce Loss訓練梯度變化會更平穩。因此,為了解決上述問題,本文使用Bce Loss和Dice Loss共同訓練網絡。Loss函數如式(5)所示。

Loss(y,ypred)=BceLoss(y,ypred)+DiceLoss(y,ypred)

(5)

(6)

(7)

式中:y表示實際值;ypred表示預測值。Dice Loss和Bce Loss關于ypred的梯度形式如式(8)所示。對于Dice Loss,當y和ypred較小時,y和ypred的變動可能會導致梯度變化較為劇烈,會導致訓練出現不穩定的情況。而Bce Loss對y和ypred的變動產生的梯度變化會更加平穩。

(8)

2 頭圍擬合和測量

由于H-Unet網絡模型分割出胎兒的頭部區域輪廓不平滑,為了便于計算,使用Canny算子提取頭部輪廓,然后對頭部輪廓進行橢圓擬合,最后計算胎兒頭圍數值。

霍夫變換[15]通過迭代獲取五個最優橢圓參數。其迭代過程耗時多,限制了霍夫變換用于胎兒頭圍的測量應用。而基于最小二乘法的橢圓擬合方法[16]將橢圓擬合的非線性問題分成兩個操作,使得整個算法是非迭代的,可有效地減小噪聲對橢圓擬合的影響。為此,本文采用基于最小二乘法的橢圓擬合方法對胎兒頭圍進行擬合。設頭圍像素為pi(x,y),具體擬合如下:

設橢圓表示為:

f(x,y)=ax2+bxy+cy2+dx+ey+f=0

(9)

可將式(9)表示為式(10)。

(10)

計算點pi到橢圓的距離,定義目標函數為式(11)。

s.t.WCWT=1

(11)

C表示的是一個約束矩陣,如式(12)所示。

(12)

根據式(8)構造一個拉格朗日公式,如式(13)所示。

L(W,λ)=WXTXWT-λ(WCWT-1)

(13)

L(W,λ)對W求導可得:

XTXWT=λCWT

(14)

令D=XTX,通過求解廣義特征向量可以得到6個可能W,然后,使用WCWT=1。利用該條件來篩選合格的W,即可得到橢圓參數。

胎兒頭圍計算定義為:

HC=π(a+b)×pe×Pixel

(15)

式中:pe表示橢圓周長;Pixel表示像素大小。Pe定義如下:

(16)

式中:a表示半長軸長;b表示半短軸長。頭圍測量的整體流程如圖6所示。首先通過H-Unet網絡分割模型獲取二值分割圖,然后采用Canny算子檢測頭部輪廓,采用基于最小二乘法的橢圓擬合方法對檢測的頭部輪廓進行擬合并計算頭圍參數。

圖6 頭圍測量流程

3 實 驗

3.1 數據集

實驗數據取自HC18[3]數據集,包含1 334幅超聲圖像,其中訓練集999幅,測試集335幅。每幅2D超聲圖像分辨率是800×540像素,像素尺寸范圍從0.052到0.326 mm,數據集提供頭圍測量值。對訓練圖像進行切割、多角度旋轉、鏡像翻轉操作,然后隨機調整亮度等數據增強處理,最終得到訓練圖像6 000幅。

3.2 評價指標

為了定量評價不同方法胎兒頭圍測量的性能,本文采用Dice系數、頭圍誤差絕對值AD、豪斯多夫距離HD作為評價指標。各項評價指標定義如下:

(17)

式中:y表示真實標簽;ypred表示預測值。

AD=|HCgt-HCpred|

(18)

式中:HCgt表示真實的胎兒頭圍值;HCpred表示預測的胎兒頭圍值。

(19)

式中:y表示真實標簽的像素點集合;ypred表示預測的像素點集合。

Dice系數用于評價網絡的分割性能,Dice系數越大說明網絡的分割效果越好,頭圍誤差絕對值AD直接反映了測量方法的準確程度,AD越小,頭圍測量越精準。雙向豪斯多夫距離HD度量了真實標簽和預測值之間的最大不匹配程度,HD越小效果越好。

3.3 模型訓練

實驗環境為Intel(R)Core(TM)CPU i5-9400F 2.9 GHz,內存為16 GB,操作系統為Windows 10,使用PyTorch開源庫進行訓練和測試。本文網絡訓練基于999幅胎兒超聲圖像,實驗測試基于335幅胎兒超聲圖像,batch_size設為2。訓練損失函數使用改進的損失函數,優化器選用SGD。初始學習率設為0.001,學習率使用Poly策略進行調整,以適應訓練過程中的loss變化,Poly策略計算公式如下:

lr=lr×1/(1+decay×iteration)

(20)

式中:lr表示學習率;iteration表示迭代次數;decay表示每次更新學習率時的衰減值。

3.4 實驗結果及分析

本文對Unet[10]、Unet+ASPP、Deeplabv3[12]、H-Unet(本文方法)進行實驗。各種網絡分割結果如圖7所示,其中:圖7(a)表示測試的胎兒頭部超聲圖像;圖7(b)是圖7(a)對應的標簽;圖7(c)-圖7(f)依次為Unet、Unet+ASPP、DeeplabV3、本文方法的分割結果。其中Unet+ASPP表示在原始Unet的編碼器與解碼器之間加入ASPP結構。圖7第一行是含少量噪聲的胎兒超聲圖像分割結果比較。第一行中,圖7(c)中有較多的孔洞,Unet分割效果較差。圖7(d)沒有明顯孔洞,輪廓較為平滑,說明ASPP通過獲取多尺度特征可一定程度優化分割結果。圖7(d)-圖7(f)的分割效果相近,對質量較好的圖像分割效果差異并不明顯;圖7第二行是對含噪聲較多、邊緣部分缺失的胎兒超聲圖像的分割結果比較。第二行中的Unet+ASPP和Deeplabv3的分割結果中有少量孔洞,分割精度不足,表明這兩種方法抗噪聲干擾能力較弱。由圖7可見,本文方法的分割結果邊緣更為平滑且內部無明顯孔洞。圖像在邊緣不明顯或缺失的時候,本文方法仍可獲得滿意的分割結果。

(a) 原圖 (b) 標簽 (c) Unet (d) Unet+ASPP (e) DeeplabV3 (f) 本文方法圖7 各種網絡模型圖像分割結果

圖8為各種方法頭圍測量結果比較。其中:圖8(a)表示待檢測的胎兒頭部超聲圖像;圖8(b)是圖8(a)對應的真實頭部輪廓;圖8(c)-圖8(f)為圖7的對應圖像進行橢圓擬合后的結果。從圖8可見,Unet檢測的頭部輪廓角度發生了一定的偏移,且可較明顯看出檢測的頭部輪廓較真實頭部輪廓稍小,而圖8(d)-圖8(f)可以較準確地檢測胎兒頭部輪廓。圖7中第二行,胎兒超聲圖像存在頭部區域含噪聲較多、邊緣部分缺失等問題,圖8(d)-圖8(e)的分割結果均存在孔洞及邊緣較不平滑現象,但是圖8(d)-圖8(e)可以較準確地定位胎兒頭部輪廓。這說明對頭部輪廓進行橢圓擬合時,橢圓擬合算法可一定程度改善頭圍測量精度。

(a) 原圖 (b) gt (c) Unet (d) Unet+ASPP (e) DeeplabV3 (f) 本文方法圖8 各種方法頭圍測量結果

本文不僅對各種方法的測量圖像進行比較,還對334幅測試集圖像進行測試,定量地評價各種方法的性能。圖8中各種方法的測量結果如表1所示。Unet+ASPP對比Unet各項指標都有所提升,這表明了多尺度特征融合能有效地改進網絡的分割效果;從表1可見,本文方法的各項指標均優于其他方法。這表明本文提出的改進H-Unet網絡模型可提高分割性能。

表1 不同方法測量結果

為研究采用不同損失函數對網絡性能的影響,對H-Unet采用不同損失函數訓練網絡,測量結果如表2所示。其中,H-Unet(Bce)表示用式(7)訓練網絡;H-Unet(Dice)表示使用式(6)訓練網絡;本文方法采用式(5)訓練網絡。從表2可見,本文方法的頭圍平均誤差為2.22 mm,較表2中前兩種方法分別提升0.11 mm、0.04 mm,表明了使用式(5)訓練網絡可以提升頭圍測量的精度。

表2 比較采用不同損失函數的測量結果

本文從頭圍誤差AD、HD距離、Dice系數三個方面比較本文方法和已有的一些參考文獻方法。其中,文獻[3]使用HC18數據集進行胎兒頭圍測量研究,提出了A、B、C三種測量模型,其中C是效果最好的訓練模型,本實驗比較的就是這個模型。由表3可見,本文方法在各項指標上均優于其他方法。

表3 比較本文方法與已有頭圍測量方法

4 結 語

胎兒頭圍測量是一項具有實用意義的研究。本文針對傳統測量方法需初始化的半自動特點,提出一種基于多尺度特征的胎兒頭圍自動測量方法。本文構建了改進的H-Unet模型,對胎兒醫學圖像實現了像素級的分類。H-Unet采用注意力機制獲取長依賴關系,利用多尺度特征金字塔增大感受野,從而獲取更多不同尺度的圖像特征;采用Dice Loss和Bce Loss訓練網絡,提高網絡的分割性能;本文方法為胎兒頭圍自動檢測提供了一種有效途徑。在后續的研究中,可深入研究冠臀長度、腹圍等生物參數的自動測量,形成一種醫學超聲成像系統生物參數自動測量方法。

猜你喜歡
頭圍頭部卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
頭部按摩治療老伴失憶
火箭的頭部為什么是圓鈍形?
基于更快速的區域卷積神經網絡的胎兒頭圍超聲圖像質量控制
從濾波器理解卷積
頭大的寶寶更聰明?
基于傅里葉域卷積表示的目標跟蹤算法
小囟門兒童預防性口服小劑量維生素D對頭圍及丹佛智能發育的作用研究
自適應統計迭代重建算法在頭部低劑量CT掃描中的應用
寶寶小課堂之頭圍有講究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合