章浩偉 李占齊 劉 穎 李 淼
1(上海理工大學健康科學與工程學院,上海 200082)
2(河南省鄭州頤和醫院,鄭州 450000)
甲狀腺結節是臨床上常見的一種病,近些年來甲狀腺惡性結節的發病率逐年上升。統計表明在過去的30年里,全球范圍內甲狀腺惡性結節男性的發病率增加了30%,女性增加67%,甲狀腺癌已成為增長速度最快的惡性腫瘤之一[1]。超聲成像相比于計算機斷層掃描及核磁共振成像具有無創傷、檢查費用低、可實時性與可重復性高的優點,所以醫學上常用超聲成像來進行甲狀腺相關疾病的檢查。
近幾年來,一些學者進行了甲狀腺結節的檢測與良惡性判別上的相關研究。周姝君等[2]提出基于深度學習的形狀和紋理特征的提取方法,對融合后的特征進行特征選擇,最后采用邏輯回歸和支持向量機對結節進行良惡性分類,最高平均準確率達到77.2%,準確率還有待進一步提高;肖婷等[3]通過遷移3 個不同深度的網絡模型Resnet50,Xception,InceptionV3進行特征提取,以簡單級聯的方式將3 種網絡提取的特征進行特征融合,輸入到人工神經網絡分類器中,判別乳腺超聲圖像的良惡性分類,最終實現85.13%的準確率,91%的AUC 值;吳迪等[4]利用集成學習(boosting)算法將多個弱分類器組合為一個強分類器,算法在測試集上的惡性結節的預測準確率達到86%,召回率達到96%;熊偉等[5]提出一種提取局部紋理特征與多示例學習相結合的方法,將從感興趣區域提取的局部紋理特征看作示例包,作為K 近鄰算法的輸入,實現了85.59%的甲狀腺結節分類準確率;張振宇等[6]基于k-means 聚類的動態集成算法為基礎,采用一種選擇加權動態集成的方法,將多個分類器進行并聯集成,實現了90.2% 的分類準確率;Mohammadi 等[7]通過融合局部二值模式、灰度共生矩陣和Gabor 算法采集圖像特征,利用支持向量機得到88.77%的醫學超聲圖像分類準確率;Li 等[8]基于深度學習卷積神經網絡Faster Rcnn 算法提出一種CSFaster-Rcnn 算法,通過跨層連接主干網絡ZFnet 的第三層和第五層,達到將淺層特征與深層特征相融合的目的,實現了真陽性識別率93.5%,真陰性識別率81.5%,真陰性識別率還有待進一步的提高;Singh等[9]提取了13 個灰度共生矩陣特征,然后利用SVM對甲狀腺結節進行分類,最大分類精度為84.62%。以上研究多是基于一系列預處理后從圖像中提取人工特征,有效特征的提取是一項挑戰性任務,同時特征集成的有效性、分類器選擇的有效性也是一個復雜困難的過程,整體研究上的分類檢測效果還有待進一步的提升。
基于此,本研究設計一種級聯卷積神經網絡Cascade Rcnn 的算法,通過主干網絡ResNet50、ResNet101,以及融合壓縮激勵注意力模塊的SEResNet50、SE-ReNet101 為主干網絡,以自動化的形式實現甲狀腺超聲圖像的特征提取,定位甲狀腺結節位置,實現甲狀腺結節的良惡性分類。
1.1.1 臨床病理介紹
圖1所示為所獲取的甲狀腺超聲圖像示例。臨床上,醫生主要從形態特征、衰減特性、回聲模式、鈣化特性等幾個方面對甲狀腺結節進行診斷[10],具體來講,良惡性甲狀腺結節的超聲表現分別為:
1)良性甲狀腺結節:形態規則、邊界清晰、結節后方呈回聲增強或者等回聲,結節的縱橫比一般小于1,結節周圍聲暈規則,有完整包膜,內部無鈣化或有粗大鈣化[11]。如圖1(a)所示,甲狀腺左側葉占位,低回聲實質結節,邊界清晰,內示多枚粗大鈣化點。
2)惡性甲狀腺結節:形態不規則,邊界欠清晰,結節后方回聲衰減,結節縱橫比通常大于1,包膜不明顯或者無完整包膜,出現微小鈣化、血流信號增強,常伴有頸部淋巴結轉移性腫大[12]。如圖1(b)所示,甲狀腺左側葉多發低回聲結節,實質回聲欠均勻,最大結節伴鈣化。

圖1 甲狀腺超聲圖像。(a)良性結節;(b)惡性結節Fig. 1 Thyroid ultrasound image. (a)Benign nodules; (b)Malignant nodules
1.1.2 數據預處理
采集1 513 幅甲狀腺超聲圖像作為實驗數據集,采集地點是徐州市某三甲醫院。數據集中良性結節圖像有832 張,惡性結節圖像有681 張,圖像為二維JPG 格式,分屬于224 個病例個體,每一個體所包含的結節圖像數量不一,每張圖像都是單結節圖像。圖像采集所用的超聲診斷儀設備來源不同,分別來自于Philips-123、SIEMENS、GE Voluson S8、ACCUVIX-gfg、TOSHIBA 幾類超聲儀;由于超聲圖像數據來源于不同的設備,圖像尺寸差異較大,而一般的卷積神經網絡后接全連接層或分類器,要求輸入的圖像具有固定的尺寸[13]。實驗中需要對原始超聲圖像進行預處理,具體過程如下:
1)對圖像進行裁剪,去除與圖像分析無關的信息,如醫院名稱、圖像采集時間、設備名稱、患者信息、超聲探頭的發射頻率、探測深度等,得到原始超聲圖像的子圖。
2)由于超聲甲狀腺結節的縱橫比也是影響甲狀腺結節良惡性判別的一個重要指標,所以在圖像處理時需要保留結節的形狀特征,通過保持原始圖像的RoI (region of interest)區域的長寬比例,來調整圖像大小。對于一個尺寸為h×w的圖像,首先裁剪其周邊無用信息,接著按照尺寸max{h,w}進行零值padding,最后通過resize 成512 像素×512 像素,經過這樣一系列的處理能夠在保持圖像原有形狀特征的基礎上更加適用于卷積神經網絡的輸入,節省算力和時間。
1.1.3 數據集制作
實驗所使用的數據集是coco 標準格式數據集,使用labelme 圖像標注軟件。經專業超聲科醫生的指導,進行圖像病灶的確認,選擇labelme 中的polygons進行多邊標注,標注的類別category_id={“benign”,“malignant”},標注圖形如圖2所示,綠色邊框所示是標準的結節邊界,既包含結節的邊界信息,有包含結節的行為信息,標注保存會產生一個json 文件,json文件包含圖像的寬高、路徑、名稱、結節位置坐標以及良惡性標注等信息,且包含結節范圍的外接矩形坐標,可視化在圖2中,對應為紅色矩形框,也是本次實驗檢測結果中定位的金標準參考,最后將json 文件轉化為coco2017 的標準數據集格式,完成數據集制作。

圖2 Labelme 標注示例圖像(綠框為標注結節范圍,紅框為對應的結節外接矩形)。(a)標注示例1;(b)標注示例2Fig.2 Annotated image by Labelme (The green box is the marked nodule range,and the red box is the bounding rectangle of the corresponding nodule).(a)Annotated image 1; (b)Annotated image 2
實驗過程中,按照8 ∶2 的比例隨機劃分訓練集和測試集,即訓練集∶測試集=1 210 ∶303,采用5 折交叉驗證訓練的方法進行訓練和測試。由于在不同的訓練集上,模型的表現性能略有差異,因此測試結果也略有浮動。取5 折交叉驗證測試的平均值。實驗模型部署在中科曙光的超級運算平臺上,實驗系統為Linux 操作系統,編譯環境是Python 3.7.9,CUDA版本10.0,顯卡為Tesla V100-SXM2-32 GB,使用Pytorch1.4.0 進行整體模型的搭建。
在介紹具體算法之前,首先介紹一個參數:交并比IoU,如圖3所示。IoU 是指交集與并集的比值,即模型產生的候選框與原標記框的交疊率[15]。

圖3 IoU 示意Fig.3 Schematic diagram of IoU
在目標檢測中,設定IoU 閾值即IoU_thr 稱為類別置信度,其值在[0,1] 之間。當IoU=0 時,預測框與真值框的沒有交集,此時結果最差;當IoU=1 時,預測框與真值框重合,此時結果最好。當預測候選框與原標記框的的交并比IoU>IoU_thr 時,視為正樣本;反之,視為負樣本[16]。
所采用的基于區域多級目標檢測算法Cascade Rcnn,是以Faster Rcnn 算法為基礎進行的多級Rcnn級聯。Faster Rcnn 是單Rcnn 網絡[17],單一IoU 閾值來判斷正負樣本不能對建議框進行很好的選擇,訓練出來的檢測器效果也較為有限。本實驗采用的Cascade Rcnn 是將3 個Rcnn 網絡基于不同的IoU 閾值進行級聯,如圖4所示,將前一個Rcnn 網絡的輸出作為后一個Rcnn 網絡的輸入,隨著模型的深入,界定正負樣本的IoU 閾值不斷上升,檢測的結果也不斷地優化[18]。

圖4 Faster Rcnn 與Cascade Rcnn 架構圖。(a)Faster Rcnn ;(b)Cascade Rcnn (Conv 為主干網絡,pool 為池化,“H”為head network,C 為classification,B 為bounding box)Fig.4 Faster Rcnn and Cascade Rcnn architecture diagram.(a)Faster Rcnn;(b)Cascade Rcnn
圖5為Cascade Rcnn 具體網絡結構圖,三階段級聯的Rcnn 可以優化正負樣本的篩選過程。第一階段Rcnn 的IoU 閾值為0.5,第二階段Rcnn 的IoU 閾值為0.6,第三階段Rcnn 的IoU 閾值為0.7。三階段的級聯方式,既可以避免閾值過低導致的正樣本背景噪聲干擾過大,又可以避免閾值過高造成的正樣本數量過少從而導致的過擬合現象[19]。輸入的圖像經過卷積神經網絡提取出特征圖,特征圖經過區域建議網絡(region proposal network,RPN)提出大量建議框,按照建議框產生的分數進行排序,經過非極大值抑制(non-maximum suppression,NMS)濾掉一部分建議框,將剩下的建議框輸入到Rcnn 網絡中進行正負樣本劃分。之后將建議框輸入到RoI pooling 進行池化,最后經過Softmax 進行良惡性結節分類與bounding box回歸[20]。

圖5 Cascade Rcnn 網絡結構圖Fig.5 Cascade Rcnn network structure diagram
SENet(Squeeze-and-Excitation Networks)利用模型通道之間的相互依懶性,進行特征的壓縮與激發。將SE 模塊嵌入到ResNet 網絡中,可以得到如圖6所示的SE-ResNet 結構網絡。該網絡首先進行輸入特征維度的降低,變為輸入的1/r,接著通過ReLU 激活函數增加更多的非線性,有助于更好地擬合通道間復雜的相關性;然后通過一個FC 全連接層,恢復原來的維度;再然后通過一個Sigmoid 進行權重歸一化;最后通過Scale 將歸一化后的權重加權到每個通道特征上[21]。

圖6 SE-ResNet 模塊Fig.6 SE-ResNet module
實驗中選用ResNet50 及ResNet101 為主干網絡,并融合SENet 構建新型主干網絡SE-ResNet50 及SEResNet101,利用SE 模塊的壓縮與激發功能,更好的提取甲狀腺超聲圖像的特征。整體實驗流程如圖7所示。

圖7 實驗流程Fig.7 Experimental flowchart
由于實驗數據量的限制,實驗過程采用遷移學習的方式在大型數據庫ImageNet 上進行預訓練,得到預訓練參數權重,將獲得預訓練模型權重遷移到級聯卷積神經網絡Cascade Rcnn 中,對前層網絡參數進行凍結,通過微調后層網絡參數進行實驗。
將惡性結節標注為malignant,良性結節標注為benign,設置實驗epoch=20,在訓練過程中采用優化策略,等間距調整學習率,由于本次實驗訓練過程使用的是單GPU,初始學習率設置為lr=0.002 5 ,學習率lr 采用warmup[22]的方式,剛開始訓練時學習率線性增加,在第9 和11 個epoch 時降低學習率。訓練過程中學習率變化曲線如圖8所示。

圖8 學習率變化圖Fig.8 Learning rate change graph
在檢測過程中的損失函數包括以下4 個組成部分,如式(1)所示[23]。

總損失函數包括rpn 分類損失loss_rpn_cls,rpn回歸損失loss_rpn_bbox,RoI 分類損失loss_cls,RoI 回歸損失loss_bbox,4 個分支損失之和構成總損失[24]。
為了定量的評估檢測性能,結合臨床應用,使用了4 個指標。其中,真陽性(true positive,TP)指惡性結節被正確判定為惡性;假陽性(false positive,FP)指良性結節被錯誤的判定為惡性結節;真陰性(true negative,TN)指良性結節被正確判定為良性;假陰性(false negative,FN)指惡性結節被錯誤判定為良性結節。用于圖像分類的幾種評價指標定義如式(2)~(5)所示,精確率(Precision)也稱為查準率,用來衡量分類器檢測出來的陽性樣本確實是陽性樣本的概率;召回率(Recall)也稱為敏感性(Sensitivity)、查全率,值越高,陽性樣本被漏診的概率就越低;特異性(Specificity)也稱為真陰性識別率,值越高,發生誤診的概率就越低。當準確率、精確率及召回率不足以評價一個模型好壞時,引入一個綜合型評價指標F1 值(F1-measure),是精確率和召回率的調和平均值,如式(5)所示,F1 值越高,模型效果越好。mAP(mean average precision)是AP 的平均值,即平均精度均值。
以ResNet50 為主干網絡,進行遷移學習實驗。在本實驗數據集上從頭開始訓練網絡模型,直接訓練得到mAP=58.2%的實驗結果;使用遷移學習,凍結預訓練參數,通過微調的方式進行訓練,得到mAP=78.7%的實驗結果。使用遷移學習前后,mAP 值提升了19.5%,可以看出使用遷移學習的實驗檢測效果要明顯優于從頭訓練甲狀腺超聲小數據集的實驗效果。因此,預訓練模型學習到的圖像特征和獲得的參數同樣適用于甲狀腺超聲[21],后續的實驗皆是在遷移學習的基礎上進行的。
實驗測試集303 張,設定惡性結節為正樣本,良性結節為負樣本。圖9為檢測的結果圖。圖中(a)~(c)的真實標簽是benign,即良性,(a)預測為benign,預測分數高,為良性的概率高;(b)預測為benign,預測分數低,為良性的概率低;(c)預測為malignant,且預測分數0.84,預測錯誤;(d)~(f)的真實標簽是malignant,即惡性,(d)預測為malignant,預測分數較高,為惡性的概率高;(e)預測為malignant,預測分數較低,為惡性的概率低;(f)預測結果為benign,預測錯誤。

圖9 檢測結果(綠色矩形框是模型預測的甲狀腺結節的位置,矩形框上方標識著模型對結節的良惡性分類及類別分數概率值,紅色矩形框為標注金標準)。(a)金標準為良性,預測為良性;(b)金標準為良性,預測為良性,但預測分數低;(c)金標準為良性,預測錯誤;(d)金標準為惡性,預測為惡性;(e)金標準為惡性,預測為惡性,但預測分數低;(f)金標準為惡性,預測錯誤Fig.9 The test result graph (The green rectangular box is the location of the thyroid nodule predicted by the model.The upper part of the rectangular box marks the benign and malignant classification of the nodule by the model and the probability value of the category score. The red rectangular box is the gold standard for labeling. GT represents ground truth). (a)GT is benign with high category score; (b)GT is benign with low category score; (c)GT is benign with false classification; (d)GT is malignant with high category score;(e)GT is malignant with low category score; (f)GT is malignant with false classification
SE-ResNet101 為主干網絡的模型訓練及測試過程中的準確率曲線圖及損失率曲線圖如圖10 所示,從曲線中可以看出,訓練與測試的準確率穩定收斂,訓練與測試的損失率曲線穩定收斂,證明了實驗做采用的Cascade Rcnn 算法在超聲甲狀腺結節檢測上的有效性。
圖11 為測試過程中4 個損失函數對應的損失變化曲線,4 個損失函數曲線之和對應圖10 的測試損失總曲線。圖10 和圖11 中,淺色曲線對應tensorboard 可視化結果中平滑度Smooth 為0,深色曲線對應平滑度為0.6。

圖10 實驗過程曲線。(a)訓練準確率曲線;(b)訓練損失率曲線;(c)測試準確率曲線;(d)測試損失率曲線Fig.10 Accuracy and loss rate curves of training and testing. (a)Training accuracy rate curve; (b)Training loss rate curve; (c)Test accuracy rate curve; (d)Test loss rate curve

圖11 測試損失函數各分支曲線;(a)回歸框損失曲線;(b)分類損失曲線;(c)區域建議回歸框損失曲線;(d)區域建議分類損失曲線Fig.11 The branch curves of the test loss function.(a)Loss_bbox curve;(b)Loss_cls curve;(c)Loss_rpn_bbox curve;(d)Loss_rpn_cls curve
在測試集上的測試結果如表1所示,融合SE 模塊到ResNet 主干網絡的算法,與對應的ResNet 主干網絡相比,在精確率上提升1.10%±0.55%、在召回率上提升6.20%±0.50%、在特異性上提升5.59%±1.45%、在mAP 值上提升2.1%±0.70%,檢測結果有較為顯著的提升。其中,以SE-ResNet101 為主干網絡的Cascade Rcnn 算法,在本實驗中的數據集上實現了測試精確率92.4%,召回率86.2%,特異性95.1%,F1 值89.2%,mAP 值82.4%的效果。由此可見,所采用的基于融合主干網絡結構SE-ResNet 的Cascade Rcnn 目標檢測算法,在超聲甲狀腺結節定位、分類的檢測中具有良好的性能,可更有效地輔助超聲科醫生進行診斷,減少工作量。

表1 測試結果Tab.1 Test results
甲狀腺癌不斷攀升的發病率,嚴重危害人類健康。甲狀腺組織結構復雜,周圍組織結構具有一定的相似性,病灶點具有隨機性,腫瘤區域與正常的甲狀腺組織區域之間存在邊界模糊不清、以及邊界不連續的情況[25],這些因素導致了準確劃分腫瘤區域與正常組織邊界的困難。對甲狀腺結節進行準確定位,成為了醫生診斷的首要任務。
此外,結節良惡性在灰度超聲圖像上的表現征象具有一定的重疊性,常表現為同病異影、異病同影,導致甲狀腺結節的良惡性鑒別診斷難度升級。
超聲圖像讀片診斷任務繁重,給醫生帶來了很大困擾。因此,準確快速的對甲狀腺超聲結節進行定位、良惡性鑒別是一項挑戰性的難題,對于輔助醫生診斷具有重要意義。
對甲狀腺超聲圖像結節的定位、良惡性判別的早期算法研究,主要集中在集成學習、人工神經網網絡上。集成學習分類器的參數設定以及組件學習器的權重設置,對實驗者本身的經驗要求較高,分類結果中表現出的泛化誤差較大,模型收斂速度較慢,人工成本較高[26]。基于人工神經網絡的分類算法通過計算機進行自主學習,加入反饋機制,通過誤差反向傳播算法對網絡模型參數權重進行優化,[27]。但是,人工神經網絡應用在甲狀腺超聲結節的分類時,由于超聲圖像斑點噪聲高,甲狀腺結節組織結構復雜,特征提取器在提取特征時,隱藏層的信息傳播不穩定,修正誤差需要一直調整更新[28]。
基于深度學習的圖像檢測算法彌補了集成學習不能自動調整參數權重的缺陷,改善了人工神經網絡算法不能及時修正誤差的問題缺陷。基于此,本研究以計算機輔助醫療診斷為目的,采用基于級聯卷積神經網絡Cascade Rcnn,通過三級級聯Rcnn 的方式來進行甲狀腺超聲結節的檢測。
單檢測器Rcnn 網絡,IOU 閾值設置的低,會出現大量的低質量檢測建議框;IOU 閾值設置的高,只有少量的高質量檢測建議框,模型訓練沒有足夠的輸入,會造成過擬合。比如文獻[29]中,采用Faster Rcnn 網絡,單一IOU 閾值的情況下,實現了甲狀腺超聲結節真陽性識別率75.7%,檢測效果有限。在所采用的Cascade Rcnn 網絡中,采用三級級聯Rcnn,不同檢測器遞增IOU 閾值,獲得足夠多數量的高質量檢測建議框,避免了過擬合現象的發生,使模型得到充分的訓練。
本研究通過對超聲甲狀腺圖像數據集進行裁剪、填充、labelme 軟件標注,制作成標準的COCO 數據集。通過驗證遷移學習的有效性,將遷移學習應用在其中,減輕數據量較小對實驗結果的影響。
在網絡結構方面,三級級聯的Cascade Rcnn 卷積神經網絡,在提高檢測候選框質量的同時,也提升檢測性能;在主干網絡方面,通過融合壓縮激勵模塊SE 到殘差網絡結構ResNet 中,構建的SE-ResNet50及SE-ResNet101 網絡作為Cascade Rcnn 的主干網絡,通過與對應的殘差主干網絡ResNet50、ResNet101對比,在精確率、召回率、特異性、mAP 等常用的檢測分類指標上都有明顯的提升,在測試集上實現了92.4%的精確率,86.2%的召回率,95.1%的特異性,89.2%的F1 值,82.4%的mAP 值效果。從實驗結果可以看出,本研究所設計的基于Cascade Rcnn 的超聲甲狀腺結節檢測算法檢測效果顯著,能夠較為有效的進行超聲甲狀腺結節的定位及良惡性分類。
相比于早期對甲狀腺超聲結節定位分類較好的研究結果,比如參考文獻[6]中的K-means 聚類動態集成實現的90.2%的分類準確率,參考文獻[8]中跨層連接Zfnet 實現的93.5%真陽性識別率和81.5%的真陰性識別率,本實驗的研究結果在綜合評價指標上具有更高的可靠性及準確性。
當然,本實驗也有一定的局限性。首先,實驗所采集的超聲甲狀腺圖像數量有限,包含的良惡性結節圖像數量也有一定的不平衡性,在后續研究中,如果能增加實驗的數據量,則會在一定程度上增加實驗結果的魯棒性,同時也會考慮使用不同權重懲罰樣本誤差來解決類不平衡的問題[30];其次,甲狀腺結節在臨床上除了良惡性分類,還有明確的結節分級標準TIRADS[31],后續研究會通過向超聲科醫生進一步學習超聲病理知識,將甲狀腺超聲圖像的病理征象分級標準進行量化,提取相對應的病理特征,進一步實現超聲甲狀腺結節的分級。
本研究驗證了在小型的甲狀腺超聲數據集上,遷移學習應用在深度學習算法上的有效性,以級聯卷積神經網絡Cascade Rcnn 為基礎網絡,通過級聯Rcnn的方式提高了檢測候選框的質量;融合壓縮激勵模塊于殘差模塊中得到SE-Resnet 網絡,將其作為Cascade Rcnn 的主干網絡,與對照組主干網絡相比,在精確率、召回率、特異性等方面有明顯的提高,為自動化地檢測超聲甲狀腺結節提供了一種較為有效的方法。