陳志剛
(廣州市第一人民醫院,廣州510180)
乳腺癌是發生在乳腺組織上的惡性腫瘤。其致命之處在于,由于乳腺癌細胞喪失了正常細胞的特性,細胞間的松散連接會導致它們容易脫落,而癌細胞一旦脫落,便會隨著血液或淋巴液的循環擴散至全身,危及生命[1]。
由于乳腺癌發病機制復雜,家族遺傳、生育狀況、月經狀況等都可能是發病原因;而治療手段基本以手術切除為主,容易影響女性的心理健康[2]。因此,對乳腺癌的防控以預防為主,早發現、早診斷、早治療。通過醫學手段進行腫瘤篩查,準確檢測病灶則是預防的關鍵。
乳腺癌檢查的方法主要包括X 線、超聲、MRI 等[3],以及基于以上單一檢測方法的聯合檢測[4-5],盡管乳腺癌檢查方式多種多樣,但仍然面臨著篩查成本高、覆蓋人群有限等問題。因此提高篩查效率及準確率仍是研究者的共同目標。
隨著計算機技術的發展,圖像識別技術已逐步應用于醫療行業。針對乳腺癌圖像識別這一課題,已有部分相關研究。Filipczuk 等人對細針活檢得到的細胞病理圖片進行分類,來分辨腫瘤類型,該算法在737 張圖像上進行實驗,達到了98%的準確率[6]。George[7]、Zhang[8]等多個團隊也采用多種不同的機器學習方法設計算法,在不同數據集上達到了92%及以上的高準確率。然后,Spanhol 等人[9]用自己準備的7909 張乳腺癌病理圖像進行評估時,卻發現識別準確率降至80%-85%。這是因為之前的研究中使用的數據集都非常?。ú怀^1000 張),而且通過手動設計特征進行提取的方式魯棒性較差。而深度學習方法可以從輸入的大量樣本中自動學習圖像特征,魯棒性良好,因此后續研究者更多采用深度學習方法設計算法。
Samala 等人[10]利用ImageNet 預訓練深度學習模型,基于DDSM 數據集實現了乳腺X 線圖像的乳腺癌診斷。同樣基于此數據庫,Jain 等人[11]利用預訓練的AlexNet 和Szegedy 等人[12]利用GoogLeNet 網絡對乳腺X 線攝影上的良惡性腫瘤加以區分,取得了當時最優結果。Han 等人[13]利用GoogLeNet 網絡,手動選擇可疑病灶熱點區域,在7408 張乳腺超聲圖像上的數據集上進行訓練、驗證和測試,取得90%的準確度。盡管Han實驗取得準確率較高,但卻是通過手動選擇感興趣區域ROI,實用性較低。徐一舫[14]和陳志剛[15]分別采用Faster R-CNN 和SSD 檢測網絡進行檢測,取得了較好效果。但諸如Faster R-CNN 和SSD 需依賴于預定義的anchor 框,仍存在大量的計算工作。
基于上述研究,本文提出一種基于FCOS 算法的乳腺癌病灶檢測方法[16],FCOS 算法相比于以往的目標檢測算法,如:RetinaNet、SSD、YOLOv3、Faster R-CNN等具有明顯優勢,無需依賴于預定義的anchor 框,避免了和anchor 框相關的復雜計算(如IOU 的計算),降低了計算內存,大大提高了檢測效率。此算法中的中心度預測圖也進一步提高了檢測精度?;诖怂惴嫿ǖ娜橄侔┰\斷系統將具有更短的檢測時間和更高的檢測精度,可以加快醫院的工作效率,減輕醫護人員的工作負擔。
本文使用FCOS 網絡進行目標檢測,為了減少過擬合,我們在將訓練數據輸入網絡之前先進行數據增強。在使用本文方法進行目標檢測時,首先要對模型進行訓練。訓練時,圖片和對應的目標框輸入圖像預處理模塊,然后把預處理模塊輸出的圖像傳入FCOS中進行訓練。在使用的時候,直接將圖片傳入FCOS中產生測試結果。整個算法的流程圖如圖1。在1.1小節中我們將介紹圖像預處理模塊是如何工作的,在1.2 小節中我們將對FCOS 進行介紹。

圖1 算法流程圖
在深度學習中,模型的表達能力非常強,在訓練時投入過少的數據量將會使模型學習到大量非必要的特征,造成模型的過擬合。通過數據增廣增加數據集的大小可以有效地化解過擬合[17]。本文通過對原始圖像數據進行幾何變換,通過裁剪、翻轉和噪聲的方法來改變圖像中像素的位置,并保持特征相同,從而擴大數據集的規模。
在臨床的診斷中,超聲波的顏色信息是較為穩定的,通過改變顏色來對圖像進行數據增廣將會引入大量在臨床中不會碰到的顏色特征,對于實際檢測是有害的。因此本文僅通過對數據進行旋轉、翻轉、尺度變換和噪聲來增加數據量的大小。在數據增廣時,首先對圖像進行旋轉變換,圖片分別旋轉90°、180°和270°,此時數據量變為原數據大小的四倍。然后對原數據進行水平翻轉和垂直翻轉,此時數據量變為原數據大小的六倍。然后通過高斯金字塔構建多尺度空間下的尺度表示序列,在隨機選取的兩個尺度空間中對圖像進行隨機裁剪,此時數據量大小變為原數據的八倍。最后隨機為包所有圖片添加隨機方差為10,20 或30 的高斯噪聲,最后數據變為原來的16 倍。
將圖像預處理后的圖片傳入FCOS 中。FCOS 使用ResNet-101[18]作為骨架網絡。在骨架網絡后使用特征金字塔提取特征圖的尺度特征,然后對于每個尺度的特征進行分類和對目標框回歸。
ResNet-101 由普通的卷積層和殘差模塊組成。在整個ResNet-101 模塊中,輸入圖片經過{C1, C2, C3,C4,C5}五個卷積模塊。每經過一個卷積模塊都會使特征圖變為原大小的1/2。在使用單尺度的特征圖進行目標檢測時,感受野受到尺度大小的影響,對于目標尺度較大或者較小的目標,檢出能力會減弱。為了提高目標檢測時的尺度不變性,我們提取ResNet-101 網絡中C3、C4、C5 模塊的輸出特征圖,并將其傳入特征金字塔網絡(FPN)[19]中,特征金字塔經過上采樣和下采樣,產生五個不同尺度的特征圖P3、P4、P5、P6、P7,其大小分別是輸入圖片的1/8、1/16、1/32、1/64、1/128。對于每個特征金字塔產生的特征圖,分為分類和回歸兩條支路,對于每條支路都進行五次步長為1 的卷積運算。對于分類支路,最后通過一個步長為1 的卷積層輸出通道數為C 的結果,C 為目標分類的數量。對于回歸支路,最后通過一個步長為1 的卷積層輸出通道數為4 的結果。四個通道分別對應回歸坐標點與目標框四條邊的距離。在訓練時,在分類的分支中加入一個center-ness 策略產生的損失。網絡的結構如圖2所示。
我們的網絡輸出一系列與原圖尺寸大小的回歸圖,分別是通道數為2 的分類預測圖,4 通道的位置預測圖以及單通道的中心度預測圖。在我們的任務里,只需要判斷位置(x,y)是否為乳腺癌區域,因此分類的預測圖通道設置為2。此外,我們還將預測一個4D 的回歸偏移向量t*=(l*,t*,r*,b*) ,其中l*,t*,r*,b*分別表示該位置到左邊界、上邊界、右邊界以及下邊界的距離。如果一個位置落于多個邊界框內,我們則認為它為模糊樣本,盡管這種情況出現的頻率比較低。假設表示第i個邊界框的左上跟右下角點的坐標,那么我們的回歸任務如下:


圖2 FCOS 網絡的結構流程圖虛線框中為Head 部分的具體結構
相比于Faster R-CNN 等設計參數需要多次調整的方法,我們的網絡結構是簡單而有力的。同時,對每個位置的回歸還避免了復雜的IOU 計算和匹配,使得我們的網絡更加快速。
單通道的中心度預測圖是為了抑制低質量的、遠離目標中心的邊界框。中心度是指像素位置到對應邊界框的中心的距離。給定某位置(x,y)的回歸目標l*,t*,r*,b*,我們的中心度定義如下:

因此中心度可以降低遠離目標中心邊界框的權重,進一步說,這些低質量的邊界框大概率會被NMS過濾掉,從而顯著提升了檢測性能。
在訓練的時候,我們需要損失函數來優化模型。假設Npos代表正例數量,那么我們的損失函數定義如下:


本文訓練的環境配置是Ubuntu 16.04 操作系統,內存32GB DDR4,顯卡NVIDIA GeForce GTX 1080Ti。算法使用的編程語言是Python,在TensorFlow 深度學習框架上實現訓練跟測試的。我們將訓練所需要的參數設置為:批量:5,訓練次數:30000 次,權值衰減系數:0.001,學習率:10e-5,優化算法:隨機梯度下降法。
我們的測試結果如圖3 所示,可以看到,我們的方法在該方法能在目標模糊、邊界難以確定的情況下保持良好的檢測效果。

圖3 檢測結果
接下來我們將與其他算法進行性能的比較。我們采用的精度指標平均精度均值(mAP),mAP 可以用來評估模型的分類和定位性能。我們首先計算預測邊界框和參考邊界框的交集和并集之間的比率(IoU),IoU的計算公式如下:

其中area(C)表示產生的候選框的面積,area(G)表示原標記框的面積。將閾值設置為0.5,如果IoU>0.5,那么認為這是一個正確檢測,否則認為這是一個錯誤檢測。我們將與Faster R-CNN、SSD 的比較結果制作成表1。

表1 Faster R-CNN、SSD 與FCOS 性能比較
本文采用FCOS 算法對乳腺癌超聲圖像進行病灶檢測,并與其他目標檢測算法Faster R-CNN 和SSD 進行比較。實驗結果表明,FCOS 算法具有更高的檢測精度,適合用于乳腺癌醫療輔助系統建設。后續研究中,將通過增加樣本數量、優化模型,進一步提高檢測效果。