萬振環
(廈門醫學院, 廈門 361000)
CT圖像在肝臟腫瘤等疾病的診斷中具有十分重要的作用。通過造影劑的顯影作用,在肝臟動脈和肝臟門靜脈兩個不同相位期,可以獲得兩組清晰的肝內血管影像序列。肝臟診斷中對肝臟CT圖像同一位置兩組相位期圖像對比觀察分析很有必要,兩組圖像可以通過體外標記點來粗略配準,也可以基于肝臟CT圖像局部特征、基于圖像灰度統計、基于變換域等要素進行精確配準。基于圖像特征的配準方法不受灰度的影響,通過提取點特征、線特征或者面特征對圖像進行匹配,魯棒性強,匹配效果好[1-2]。
尺度不變特征變換(SIFT)[3-4],加速魯棒特征(SURF)[5]、快速定向二進制描述(ORB)[6]等算法,通過使用基于描述符的度量,而不是直接比較像素強度,匹配過程得到了顯著改進。SIFT算子是目前學術界認可的較為穩定的特征匹配算子,具有較好的魯棒性,降低特征點的描述符維度會導致特征點攜帶的圖像信息減少,減弱算法魯棒性。由于SIFT算子使用了高斯差分(difference of Gaussian,DoG)算子,因而具有較強的邊緣響應,即使使用高級描述符,匹配過程也可能導致錯誤匹配。這些錯誤匹配需要識別和刪除,隨機樣本一致性(RANSAC)算法是一種非常流行的魯棒擬合算法,可以用于消除虛假匹配。本研究結合肝臟CT圖像特點,提出了一種基于特征點聚類區域分塊的SIFT快速匹配算法,在一定程度上降低了SIFT算法匹配階段迭代次數和計算時間,剔除錯誤匹配,能夠準確、快速、穩定的實現動靜脈期兩組肝臟CT圖像的配準,提高了圖像配準精度。
CT多期相增強掃描是肝臟診斷的常見檢查方法,對比觀察相同位置肝臟動脈和靜脈管道,水平軸狀切面是肝臟CT檢查中最常用的斷層面[7]。肝臟的動脈、靜脈管道與肝實質在CT掃描時在成像數值上接近,不容易區分,利用造影劑流經動、靜脈具有時間間隔的特點,通過造影劑的顯影作用,在造影劑流經肝動脈和肝門靜脈的兩個不同相位期,可以獲得兩組清晰的臟內血管影像序列,見圖1。

圖1 肝臟CT多相期掃描圖像(a) .肝動脈期;(b).門靜脈期Fig.1 Multiphase CT scan of liver
通常一組CT掃描序列圖像數量在150幅以上,CT圖像連續以等間距沿脊柱從上往下掃描,兩個相期的掃描起始位置并不能確保從相同位置開始,患者兩次掃描間期的位移也會導致兩組圖像序列位置有錯位。配準即是以動脈期有診斷意義的一幅圖像作為參考圖像,依次與靜脈期的序列圖像匹配,通過SIFT算法特征點匹配數量確定實際正確靜脈期對應位置圖像的過程。原CT序列對應編號的動脈期與靜脈期圖像見圖2,使用SIFT算法配準后動脈期圖像與實際正確靜脈期圖像見圖3,從圖中可以看出兩個相期圖像實際對應位置序號是有錯位的。

圖2 CT不同相期序列對應編號圖像(a).肝動脈期(序號80);(b).門靜脈期(序號80)Fig.2 Corresponding number images of different CT phase sequences

圖3 SIFT算法配準的對應位置圖像(a).動脈期(序號80);(b).門靜脈期(序號74)Fig.3 SIFT algorithm for registration of corresponding position images
David在2004年總結完善了SIFT算法,用于檢測和描述圖像的局部特征。SIFT算法的實質是在多個尺度空間上查找局部數據的極值點,使用位置、尺度、旋轉不變量等來描述特征點,并用向量表示特征點的方向,這些特征點不會因為光照、位移、旋轉、縮放、仿射而變化。該算法的主要流程可以概括為,特征點檢測和特征點匹配兩個主要步驟。特征點檢測過程模擬人的視覺系統構建圖像尺度空間,在領域內統計直方圖梯度并確定特征點方向,采用向量的形式描述特征點。
尺度空間L(x,y,)用卷積定義,由帶有尺度變化的高斯函數G(x,y,k)與原圖像I(x,y)做卷積運算,k為尺度變化量,見式(1)。
L(x,y,σ)=G(x,y,kσ)*I(x,y)
(1)
尺度空間通過圖像的模糊程度來模擬人的視網膜上成像過程,尺度空間在實現時使用比高斯拉普拉斯算子更為高效的高斯差分算子(DoG)金字塔表示,特征點由DoG空間的局部極值點D(x,y,)組成,見式(2),在實際計算時使用高斯金字塔每組相鄰上下層圖像相減得到高斯差分圖像,再進行極值檢測。極值點是離散空間的極值點,通過擬合三維二次函數來精確確定特征點的位置和尺度,同時去除低對比度和邊緣的不穩定點[8]。
D(x,y,σ)=(G(x,y,σ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)
(2)
SIFT算法采用圖像梯度的方法求取局部結構的穩定方向,梯度模和方向見式(3),完成特征點的梯度計算后使用直方圖統計領域內像素的梯度和方向,確定主方向,含有位置、尺度和方向的特征點即是圖像的SIFT特征點[9-10]。
m(x,y)=

(3)
Lowe建議SIFT描述子在特征點尺度空間4×4的窗口中計算8個方向的梯度信息,用128維特征向量表示,歸一化處理后特征向量具有旋轉不變性、尺度不變性和一定的光照不變性。
SIFT算法根據特征點描述子之間的歐式距離判斷描述子之間的相似性。將一幅圖的特征描述子與第二幅圖的特征描述子進行比較,并檢測特征描述子間的最小歐式距離,如果最小距離小于特定閾值,則將對應的特征點視為匹配。此外,還利用RANSAC算法接收匹配步驟輸出的對應集,用以去除錯誤匹配,一般來說,RANSAC是一個迭代過程。
SIFT算法應用于兩幅指定圖像的配準時,計算量是可以接受的。當圖像特征點的數量達到數千上萬,或者是圖像需要與多幅圖像進行匹配比對時,匹配過程的計算就構成了沉重的處理負擔,需要巨大的資源,錯誤匹配率增加。從SIFT算法提出至今,針對算法的完善改進主要集中在SIFT特征點提取和特征點匹配兩個方面。
在屏住呼吸,且保持平躺不動的情況下,患者完成肝臟CT掃描。患者可以近似視為剛體,生成的橫斷面序列掃描圖像具有連續變換的特點,動脈期選定圖像與靜脈期序列目標圖像依次匹配。在一對匹配圖像中,假設匹配圖像中檢出了n個SIFT特征點{xi|i=1,2,3,……,n},在待匹配圖像中檢出了m個特征點{yj|j=1,2,3, ……m},則對于匹配圖像中的任意一個128維的特征點xi={xi1,xi2,xi3,……xi128}來說,需要遍歷待匹配圖像的所有SIFT特征點,通過式(4)計算找出最鄰點和次鄰點,當最鄰點距離小于次鄰點并且滿足一定的匹配閾值distRatio時,可以認為xi與yj是一對正確匹配對。
(4)
顯然計算過程耗費了很大的時間,并且在匹配過程中檢測出的特征點越多越耗時,錯誤匹配的概率越高。
圖像上的像素坐標系之間的關系可由圖像之間的變換模型確定,圖像之間的變換模型主要有剛體變換、仿射變換、彈性變換、流體變換、B樣條變換和投影變換等[11]。剛性變換P包括平移、旋轉這兩種幾何變換。對于近似剛體的胸腹腔橫斷面CT掃描圖像,可以使用剛體變換處理圖像后再配準[12]。設原圖像上一點X=(x,y,z)經過平移和旋轉變換后X′=(x′,y′,z′),CT圖像連續的沿脊柱從上到下掃描,可以將三維空間內的旋轉簡化為二維空間的變換,只考慮z軸方向的旋轉,見式(5),其中θ為z軸旋轉角度,tx為圖像水平平移量,ty為垂直平移量 ,tz為縱向平移量。
(5)
剛體變換不改變圖像點與點之間距離具有相對性,兩幅圖像的匹配可以通過分塊來降低計算,減少錯誤匹配率,提高匹配效率。SIFT算法特征點表示為:T=[im, des, loc],其中im為灰度圖像,des為128維向量,loc是位置、尺度和方向等信息,根據特征點位置距離對特征點位置進行聚類區域分塊,改進分塊算法如下:
(1)選取K個初始聚類質心c1,c2,…,ck,計算特征點兩兩間坐標距離,選取最小距離的兩個特征點中一個作為初始聚類質心c1,選取距離c1最遠的特征點作為第二個質心點c2,選取距離c1和c2最遠的點作為c3,依次計算c4,c5,…,ck。
(2)所有的SIFT特征點都計算與這k個聚類質心點的距離,根據距離將特征點分配到距離最近質心的一類。
(3)算出每個簇平均值,用這個點作為新的質心,重復步驟(2)直至迭代穩定,實驗中迭代次數設置為3 000,完成區域分塊。
考慮到肝臟CT掃描圖像的結構特點,將區域劃分為3~4塊,見圖4。


圖4 區域分塊示意圖Fig.4 Area block diagram
肝臟CT圖像配準的流程包括圖像獲取和選擇、預處理、區域分塊、區域圖像配準、統計圖像特征點匹配數量、確定最優配準圖像等環節,基于區域分塊的SIFT圖像配準主要流程見圖5。分塊區域使用SIFT算法配準后,統計各分塊的特征點匹配數量總和,序列圖像依次配準后,依據圖像的匹配數量總和即可確定與動脈期參考圖像對應的正確靜脈期圖像,從而確定動脈期圖像序列與靜脈期圖像序列的對應關系。

圖5 肝臟CT圖像區域分塊配準流程Fig.5 Regional block registration procedure for liver CT images
為驗證提出的基于K-means聚類的區域分塊SIFT算法性能,選取有診斷意義的序號為80的動脈期圖像,采用改進算法將聚類分為4塊后,依次與靜脈期序列圖像組成155組進行了相關測試,聚類分塊后其中一個塊區域特征點匹配見圖6。

圖6 聚類分塊后SIFT配準Fig.6 SIFT registration after clustering and blocking
統計動脈期序號80的圖像對應靜脈期圖像序列前后20組圖像分塊匹配情況,數據見表1。

表1 改進后SIFT算法與原算法匹配結果對比表Table 1 Comparison of matching results between improved SIFT algorithm and original algorithm
從表1可以看出SIFT算法和改進的SIFT算法均能實現肝臟CT圖像的配準,確定正確的序列對應關系。改進算法在SIFT特征點檢測階段沒有做優化,改進的算法增加了特征點匹配過程中的聚類分塊迭代計算時間,由于分塊后特征點的比對范圍縮小在對應塊內進行,總的特征點匹配比對時間有所減少,改進后算法總耗時有所減少。特征點比對在對應塊內進行,避免了跨塊區域間的錯誤匹配,可以調整比對過程中特征向量空間余弦相似度的比值系數,在保證SIFT算法魯棒性的前提下,匹配對數量明顯增多,錯誤的匹配對也得到了有效剔除。
圖像配準技術是當前計算機視覺領域的研究熱點,在臨床應用中具有廣泛應用,主要用于疾病診斷與分析、術前規劃、術中引導和術后療效量化評估[13]。本研究針對傳統SIFT算法的匹配階段計算量大容易出現誤匹配的問題,利用聚類分塊方法對特征點比對進行了優化,剔除了錯誤匹配對,降低了肝臟CT圖像配準中錯誤匹配對對配準結果的影響。