陳 佳 姜海洋 何儒漢 胡新榮
1(武漢紡織大學數學與計算機學院 湖北 武漢 430000)2(湖北省服裝信息化工程技術研究中心 湖北 武漢 430000)
核磁共振(Magnetic Resonance,MR)技術已經成為了一種常用和重要的疾病檢測技術,通過核磁共振醫學影像,可以對身體重要器官及部位具有良好的診斷功能。同時,通過MR影像獲得人體的非均質柔性生物組織在不同情況下的形變狀態,進行柔性體內部變形場測量,計算非線性柔性生物組織的彈性模量及泊松系數等物理參數,在計算機科學研究領域具有重要的理論和實踐價值。本文所研究的基于MR影像的非均質柔性體內部特征點的檢測與匹配是柔性生物組織變形場測量的重要步驟之一,不僅可以應用于生物組織器官輔助診斷和分析,也可以應用于醫學手術機器人等研究上。所研究的MR影像中大量均勻分布的特征點的提取與匹配技術,在圖像拼接,目標的定位與跟蹤,三維建模等領域也有不同程度的應用。
以往圖像特征多為手工特征,即算法設計者針對圖像數據本身特點設計的特征提取方法。由于這些設計主要依靠設計者的先驗知識,設計人員很可能忽略掉圖像某些方面的特征,因此算法的好壞在很大程度上還要依靠經驗和運氣。目前,深度學習方法已經應用在很多醫學圖像的處理方面,但是由于醫學圖像樣本數據量的限制,大大降低了其學習性能。本文設計一種新的深度學習體系結構CNN+:從非均質柔性生物組織的MR影像中提取出大量均勻分布的特征點和匹配技術。首先采用了一個預訓練的CNN模型,隨后把遷移學習和CNN自然、無縫地結合起來,對預訓練模型進行微調得到新的CNN模型,從而利用微調后的模型對生物醫學圖像中的特征點進行檢測和匹配。實驗通過對現有的樣本測試,表明在少量樣本的情況下,微調后的CNN在特征點的檢測數量以及正確率上明顯優于傳統的VGG16[1]、SIFT[2]、SURF[3]等方法。這對推動非均質柔性組織變形場的測量,在生物組織建模與仿真、柔性機器人設計等科學研究領域的應用與發展,起到了一定作用。
特征點的描述在特征匹配中起著至關重要的作用。在采用特征點提取和匹配方案時,為了保證圖像描述符更加穩定,要求圖像在照明、縮放、旋轉、噪聲或輕微失真等變化過程中,圖像描述符具有不變性。目前,研究人員提出了多種特征點檢測方法和特征點描述符[2-10]。例如,被廣泛采用的Harris、Susan、Moravec等算法,在特征點的提取上具有良好的效果。
Lowe教授提出了尺度不變特征變換(SIFT)算法,通過高斯差分(DoG)算子來構建高斯拉普拉斯(LoG)函數[2,5-6]。文獻[6]的研究表明,SIFT優于其他的特征描述符,如基于高斯導數、矩不變量[6]和基于階段性的局部圖像塊特征。
各種各樣有關SIFT的改良版在過去十幾年中被不斷提出。在這些對SIFT改良的方法中,PCA-SIFT(主成分分析-SIFT)和GLOH(梯度位置定向直方圖)是兩種比較著名并且應用廣泛的方法[9,11]。由Baya等[10]改進的SURF算法(加強特征魯棒性)比傳統的SIFT方法,更加具有特征辨別度且更穩定。
值得注意的是,上述研究采用的圖像特征均為手工特征。目前,深度學習在圖像分類、目標檢測、影像分割等很多應用中取得了很大的成功,其最主要的優點在于它強大的特征表達能力。因此,本文擬采用深度學習的方法來提取MR影像的特征描述符。
深度學習需要大量數據作為訓練樣本,然而醫學領域很難獲得足夠的數據量,這在很大程度上限制了深度學習在處理醫學問題上的發展研究。遷移學習方法為該問題的解決提供了一個重要的思路。例如,文獻[10]用一個新的邏輯層取代了預訓練CNN的全連接層,新的全鏈接層是經過標記數據重新訓練得到的,同時保持網絡的其余部分不變,這種方法給未標注的多視角乳腺照片分類帶來了希望。文獻[12]應用一個經過微調的預訓練CNN在超聲波圖像中定位標準平面。文獻[3]對預訓練過的CNN所有層次都進行了微調,以自動分類肺間疾病。文獻[13]部署了經過優化的預訓練CNN,自動將醫學圖像映射到文件上與之相關的主題或者子主題。為了預測心臟的視圖,經過精細調整的預訓練CNN自動從核磁共振成像中檢索缺失或噪聲的心臟來獲取平面信息。文獻[14]通過探索無監督的預訓練CNNs,從沒有注解的網站或圖片類中添加信息,提高了分類的準確性。文獻[15]系統地研究了有關在醫學圖像中應用遷移學習的能力。
綜上所述,本文通過遷移學習來構建網絡結構,初始化網絡參數,同時對遷移之后的模型進行訓練和微調,以此來促進對描述符的自動學習。與上述方法的不同之處在于,本文是對非均質柔性MR影像的訓練,從而得出特征描述符,在實驗中,訓練不依賴于個別圖像塊的標簽,而是依賴于成對對應的或非對應的圖像塊。
本節對CNN+系統結構進行概述,使用預訓練的CNN模型來提取兩組圖像塊的描述符;通過在每次迭代中加入新的成對相似或者不相似的圖像樣本來微調CNN+同時提高CNN+的性能。具體步驟如圖1所示。

圖1 CNN+系統流程圖
圖1闡述了CNN+的流程圖,它由以下三個階段組成:
? 使用DoG操作和Harris檢測提取圖像特征點。
? 對相對應圖像塊的同一點計算描述符。
? 圖像描述符的相似性度量。
(1)特征點的提取。本文采用DoG算子和Harris檢測分別對原始的MR圖像和形變后的MR圖像來提取特征點。在過往的實驗中DoG算子被證明是最穩定的特征點探測器之一,在縮放、旋轉和照明等條件下其特征不變[3]。然而,DoG算子無法檢測邊緣點,邊緣點是測量變形的重要數據。內部特征點分布在皮膚的內部部分,如脂肪、肌肉或生物組織器官上。在提取內部特征點之后,Harris算法[3]用于檢測分布在不同組織的邊界和分離層圖像的初始和形變狀態下的邊緣點。
(2)圖像塊描述符。首先,使用了一個基礎CNN進行預訓練得到一個預訓練CNN結構模型;然后,對預訓練CNN通過成對的MR圖像塊進行樣本訓練,進行模型微調,得到一個微調后的CNN模型,稱之為CNN+;最后,從初始和變形的圖像中提取特征點,作為測試集輸入微調后的模型提取描述符。
(3)相似度測量。通過上述CNN+得到的描述符之后,計算它們的L2范數,從而得到圖像描述符的相似性度量。
在采用DoG算子和Harris檢測提取特征點之后,為每個關鍵點構造64×64大小的圖像塊,并計算每個圖像塊的描述符。對應于同一點的圖像塊的描述符應該是相似的,否則是不同的。本文采用Siamese網絡結構,如圖2所示,把成對的圖像塊(X1,X2)分別輸入到兩個權值W完全相同CNN中,分別輸出得到描述符D(X1)和D(X2),計算它們的L2范數,通過圖像描述符的標準相似性度量來計算圖像塊的相似性。

圖2 Siamese網絡結構圖
構成Siamese網絡結構中的CNN模型,主要分為兩步:基礎模型構建和模型的遷移及微調。本文構建了一個基礎CNN模型,在大量的多視圖立體數據集(MVS)的基礎上來訓練基礎CNN模型。模型主要是三層網絡結構,每一層都包含了卷積層,非線性層,池化層和正則化層,如表1所示。由于稀疏連接已經被證明可以提高性能,同時降低參數和提高運行速度,除第一層之外,卷積核都是與前一層隨機的稀疏連接到一起的。第二和第三層的卷積核也是隨機連接到上一層的8個特征圖。

表1 預訓練CNN結構
本文使用的訓練好的CNN模型通過在多視圖立體數據集(MVS)的驗證集上進行實驗,結果表明,該模型對于一些識別困難相似度不高的樣本對都表現良好。但由于醫學圖像訓練數據的限制,該模型對本文所要測試的用例準確度不高,而且對于全監督的深度框架如果訓練集太小的話,就會產生過擬合現象,影響CNN的準確度。最近有很多研究顯示,遷移學習在解決訓練集不足,以及提升網絡模型效率方面有很出色的表現。另外需要指出的是,由于卷積神經網絡的低層結構在提取圖像特征方面都是普遍適用的,所以當應用到不同的數據集上時,只需要替換掉CNN的高層結構,再用自己的數據來進行訓練和微調,使CNN更適合自己的數據集。
本文構建一個參數遷移的CNN預訓練模型——CNN+。這里采用數據增強技術產生新的訓練集。數據集增強技術是提高訓練樣本,從而保證特征不變性的一種有效手段。一個穩定的深度學習系統應該具有良好的泛化能力,以應對要測試的變量輸入。對于深度學習系統,更高效的數據意味著模型可以學習更多的信息。所以總是希望有足夠的訓練樣本來盡可能地覆蓋整個樣本空間[16]??墒?醫學數據收集的困難是不容忽視的,因此本文主要使用數據變換來放大數據集,并在原始數據集上應用縮放、旋轉和光照方法。模型的參數如表2所示,假設有A-I九模型,其中F模型(旋轉)和H模型(縮放)是在原始圖像上采取的變動,所以生成的圖像比直接在原始圖像上擴展的圖像有更好的多樣性,并且可以更好地覆蓋帶注釋的區域,提高數據利用率[16]。

表2 數據增強參數
本文命名基礎CNN模型為P-CNN,遷移后的新模型為T-CNN。首先在多視圖立體數據集(MVS)上訓練基礎CNN,它包含268 307幅訓練集圖像和30 501幅測試集圖像,且圖像應轉換為64×64灰色圖像格式。另外,由于基礎CNN模型由三層網絡結構組成,所以本文保留了底層的卷積層和下采樣層,并替換全連接層,為了將所學習到的知識從P-CNN遷移到T-CNN上,直接植入P-CNN模型的底層到T-CNN模型上同樣的位置,然后共同對這些層進行微調,并使用MR圖像進行重新培訓。值得注意的是,在T-CNN模型的訓練中,它的參數是由預訓練的P-CNN模型初始化的。同時為了提高泛化能力,在規范化的訓練過程中,實現了數據擴充的策略。
在基礎CNN的訓練階段,依賴于多視圖立體數據集,它包含了1.5 MB,64×64大小的灰度圖像塊,為了訓練基礎CNN,需要成對的對應和非對應的樣本,但在如此大的數據集中很難找出對應的或者非對應的圖像塊,因此采用隨機抽樣的方法——t-SNE[18],來獲得對應和非對應的樣本,這種策略使本文能夠在大型數據集上訓練鑒別網絡。經過模型遷移后,在T-CNN的微調階段,本文使用3.2節方法對樣本數據進行增強后,對遷移后的模型進行訓練和微調。
由于空間約束,本文只顯示了6組測試圖像并對其進行分析說明。6組MR圖像數據集如圖3所示,每組圖像包括原圖和變形后的圖。其中:(a)、(b)為小腿的形變前和被推壓形變后的影像;(c)、(d)為志愿者在平躺下,小腿變形前和分別受到推、壓的變形影像;(e)、(f)為志愿者在平躺下腹部的形變影像。這些圖像是由0.5 T的MRI設備拍攝的,其中的視野或FOV被設置為24 cm×24 cm。兩個切片之間的距離是2 mm。

圖3 變形前和變形后圖像
本文使用Torch7的安裝包來實現CNN的架構。系統采用MATLAB和C++的混合編程技術實現。提取圖像塊描述符的運行時間主要依賴于測試圖像的塊的數量。從包含100個圖像塊的圖像中檢測描述符通常需要1分鐘。使用的工作環境包括一個a3.70 GHz Intel(R)Core(TM)i7-8700k CPU and a NVIDIA GeForczze GTX 1080Ti GPU。
4.4.1實驗結果
表3為6組測試圖分別使用基于SIFT、VGG16以及CNN+的特征描述和匹配三種不同的方法所得出來的實驗結果。其中NM表示使用DOG和Harris檢測出來的所有特征點個數,NCM為正確的匹配對數,NWM為錯配點的個數,Ratio為最終的準確匹配率。從表中數據可以看到,CNN+方法的正確匹配率最高,其次是VGG16方法,SIFT方法的正確匹配率最低,這說明與傳統的手工特征點描述符的提取相比,使用深度學習的方法來檢測MR圖像特征點描述符效果更好,而遷移學習與深度學習相結合的CNN+體系結構能夠帶來更好的匹配性能。

表3 不同方法對比實驗結果
圖4是SabdPush圖像完整的實驗結果,(a)中所標記出來的點是被DOG和Harris從初始圖像中提取出來的109個特征點,(b)是經過CNN+系統得出的67對正確的匹配點連接圖,(c)中標記出的點是42對錯誤匹配點。匹配的正確比率為61.47%。

圖4 SabdPusn實驗結果圖
4.4.2性能比較
為了更加直觀地了解CNN+系統與其他方法的區別,本文對CNN+方法和基于VGG16網絡結構以及SIFT算法的描述符提取匹配方法結果進行定量的分析。本文采用30個互不相同的特征點所生成的100幅相對應的圖像塊,因此一共有4 950對圖像塊,其中3 700對為來自于同一點的相似圖像塊,1 250對為來自不同點的不相似圖像塊,作用在SIFT、VGG16、CNN+結構上,得到的最終識別結果繪制如圖5所示的PR ROC曲線。

圖5 PR ROC曲線
查全率(R)、查準率(P)、準確度(A)、真陽性率(TPR)、假陽性率(FPR)等通用評估指標的計算如下:
(1)
(2)
(3)
(4)
(5)
式中:TP、TN、FP、FN分別為真陽性、真陰性、假陽性和假陰性。通過觀察圖5中ROC曲線下的區域面積(AUC)可以得出,基于CNN+方法的AUC值最大,VGG16次之,SIFT最小,這表明VGG16方法的結果比SIFT好,而本文所提出的T-CNN方法具有最好的效果,進一步說明了CNN深度學習算法和遷移的知識遷移策略的有效性。
本文提出的CNN+使用遷移學習和卷積神經網絡來解決MR影像的非均質柔性體內部特征點的檢測與匹配問題,并且在醫學圖像訓練樣本比較少的情況下,采用了數據增強的方法,挖掘樣本隱藏信息,提高了模型的泛化能力。實驗表明,CNN+模型在應對人體處于不同的情況下所造成的柔性生物組織形變問題時,具有良好的特征穩定性,相對于VGG16和傳統的特征點檢測方法SIFT,表現效果更好。同時,本文對如何處理有噪聲圖像、在極端變形情況下等問題沒有進行更深入的研究,在提升最終的特征匹配度和具體臨床實用性上還有待進一步提高,這些問題在以后的研究中將成為重點解決目標。