代鵬程,任 超,滕奇志,楊 毅
(1.四川大學(xué)電子信息學(xué)院圖像信息研究所,四川 成都 610065;2.四川大學(xué)華西醫(yī)院骨科,四川 成都 610041)
2573896621@qq.com;chaoren@scu.edu.cn;qzteng@scu.edu.cn;hxyangyi@l63.com
醫(yī)學(xué)上將頸椎骨質(zhì)增生和椎間盤退行性病變引起的綜合征命名為“頸椎病”[1],近年來,頸椎病的發(fā)病率呈現(xiàn)出日益升高的趨勢,并且從發(fā)病的群體來看,逐漸趨于年輕化,引起了醫(yī)學(xué)界的高度關(guān)注[2]。頸椎人工椎間盤置換術(shù)是目前臨床常用的頸椎病治療術(shù)士之一,它具有安全、有效等優(yōu)點[3],與頸椎間盤置換密切相關(guān)的便是頸椎終板的三維分型,它對于指導(dǎo)頸椎植入物的3D打印有著重要意義。如何從頸椎CT序列圖像中準(zhǔn)確、無誤地分割出頸椎間盤則是頸椎終板三維分型的關(guān)鍵和前提。在原始水平面CT圖像中,存在如下問題:頸椎間盤灰度值分布和頸椎中除椎骨以外的其他組織或器官的灰度值分布相近;原始的水平面圖像中的頸椎間盤邊界難以界定。這些情況增加了對頸椎CT序列圖像中頸椎間盤的分割難度。
目前,針對醫(yī)學(xué)CT圖像分割的方法主要有基于深度學(xué)習(xí)和基于傳統(tǒng)的方法兩類。深度學(xué)習(xí)方法中,針對感興趣目標(biāo)的圖像分割大都使用完全監(jiān)督的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò),這個過程需要大量的標(biāo)簽圖像。因為對CT圖像中頸椎間盤的標(biāo)注非常耗時,并且通常需要一定的專業(yè)知識,所以無法快速獲得大量精準(zhǔn)的頸椎間盤標(biāo)簽圖像。而在沒有標(biāo)簽圖像或者僅有少量標(biāo)簽圖像的情況下,深度學(xué)習(xí)的分割效果一般達不到預(yù)期,故本研究使用傳統(tǒng)方法來解決CT圖像中頸椎間盤分割問題。傳統(tǒng)的醫(yī)學(xué)圖像分割方法主要包括閾值法、邊界法、區(qū)域增長法及統(tǒng)計學(xué)方法等[4]。KIM等[5]通過CT圖像的特定閾值及分水嶺算法實現(xiàn)全自動地分割髖關(guān)節(jié),精準(zhǔn)地完成股骨的分割工作,但是最佳閾值需要根據(jù)不同CT圖像進行變換,算法的泛化性差。ANTER等[6]提出了一種基于中子集、FCN及自適應(yīng)性分水嶺算法的CT肝臟腫瘤分割方法,此方法對于肝臟腫瘤的總體分割準(zhǔn)確度高,但是算法的處理過程較為耗時。李孝斐[7]對肝臟腫瘤CT圖像進行直方圖均衡化、中值濾波等預(yù)處理,再運用混合濾波策略的區(qū)域生長算法實現(xiàn)對肝臟腫瘤的有效分割。
針對上述對頸椎CT序列圖像中頸椎間盤分割存在的問題,本文提出了一種結(jié)合多視圖信息的頸椎間盤分割方法,其能充分利用頸椎間盤上下表面的三維空間信息,解決了頸椎間盤在水平面“不可見”及頸椎間盤邊界難以界定的問題,使分割得到的頸椎間盤更加精確。
為了便于后文的描述,在此處先對本文使用的數(shù)據(jù)集、坐標(biāo)系、符號表示及頸椎間盤分割整體思路做出說明。
本文用來示意的頸椎CT圖像序列圖為水平面序列圖,圖像寬度為w,高度為h,共k張,它們之間的對應(yīng)關(guān)系如圖1所示。
圖1 坐標(biāo)系及位面示意圖Fig.1 Coordinate system and plane diagram
為了描述方便,引入如下符號表示。
分割序列圖像數(shù)學(xué)表示:令TG(Z)表示對整個水平面序列圖像TI(Z)的分割序列圖像,C G(Y)表示對整個冠狀面序列圖像C I(Y)的分割序列圖像,S G(X)表示對整個矢狀面序列圖像S I(X)的分割序列圖像,在分割序列圖像中使用1表示對頸椎椎骨的分割結(jié)果,頸椎椎骨以外的其他組織或器官使用0表示;并且假定TG(Z)、CG(Y)、S G(X)三個方位的序列圖中存儲的總數(shù)據(jù)始終相等,因為它們只是從不同的方位進行切片得到的不同表示。VG(x,y,z)的定義與上文VI(x,y,z)類似,故不再贅述。
本文分割頸椎間盤的整體思路如圖2所示。
圖2 算法流程框圖Fig.2 Algorithm flow block diagram
頸椎間盤分割步驟如下:(1)頸椎間盤是相鄰兩塊頸椎椎骨之間的部分,因此頸椎間盤的邊界應(yīng)該由相鄰的頸椎椎骨確定。頸椎椎骨的分割是本文所提方法的第一步。(2)確定一個頸椎間盤的批次有利于該頸椎間盤的定位。(3)在給定的頸椎間盤批次中搜索頸椎間盤候選的上表面點集合和候選的下表面點集合。(4)若一個候選上表面點沿著一定角度能夠在對應(yīng)的候選下表面點集合中找到一個候選下表面點,那么這兩點所成“線段”之間的部分就是頸椎間盤。(5)重復(fù)步驟(2)、步驟(3)和步驟(4),即完成對人體頸椎CT序列圖像中頸椎間盤的分割。
頸椎間盤是相鄰兩塊頸椎椎骨之間的軟骨組織,所以頸椎間盤的邊界應(yīng)該由相鄰的頸椎椎骨確定。頸椎椎骨的分割是本文所提方法的第一步。如圖3所示,在矢狀面序列圖像S I(X)和冠狀面序列圖像C I(Y)中,頸椎椎骨形態(tài)特征更明顯,故可以選擇在S I(X)或C I(Y)進行頸椎椎骨分割;同時,由于頸椎椎骨的灰度值與其他部分差異明顯,因此本文選擇手動調(diào)節(jié)分割閾值至最佳,對矢狀面序列圖像S I(X)采用相同的閾值進行頸椎椎骨的分割得到S G(X)。
圖3 頸椎椎骨示意圖Fig.3 Diagram of cervical vertebrae
為了后續(xù)能夠得到更好的頸椎間盤分割效果,在分割頸椎椎骨時應(yīng)盡可能地只分割包含頸椎間盤那一部分的頸椎椎骨,分割結(jié)果如圖4(a)所示。由于頸椎椎骨上“孔洞”的存在,因此分割結(jié)果圖上也存在一些“孔洞”,本文采用形態(tài)學(xué)中的孔洞填孔算法[8]對其進行處理。對S G(X)進行填孔操作,消除像素點個數(shù)少于100的“孔洞”,填孔結(jié)果如圖4(b)所示。
圖4 頸椎椎骨分割結(jié)果示意圖Fig.4 Diagram of cervical vertebrae segmentation results
即用與該頸椎間盤相鄰的兩塊頸椎椎骨的平均位置的行數(shù)確定在TG(Z)中與該頸椎間盤相關(guān)聯(lián)的部分,這也是本文使用的方法。
圖6 獲得US i的偽代碼Fig.6 Pseudocode for USi
同理,使用LSi存儲Di候選的下表面點集合,其大小與獲得方式與USi類似,唯一不同之處在于需要由大到小依次遍歷所有可能的,其中,故不再贅述。D4的候選上下表面點集合在矢狀面的結(jié)果如圖7所示。此處為了示意,在描繪上下表面時有意將其厚度設(shè)置為5 個像素點。從圖7中可以看到,通過上述方式尋找的上下表面點不夠精確,這也是本文將其稱作候選上下表面點的原因所在。
圖7 D4 候選上下表面矢狀面示意圖Fig.7 Sagittal plane diagram of candidate upper and lower surfaces of D4
在上文中已經(jīng)得到Di候選的上表面點集和USi及候選的下表面點集和LSi,為了能夠得到真正的上下表面點集和,本文采取的策略如下:假設(shè)US i(x0,y0)處flag1為真,flag2值為z0,則表明點pu(x0,y0,z0)為一個候選的上表面點,并且稱p u(x0,y0,z0)為USi中的一個有效點。如果pu(x0,y0,z0)沿著某一個角度能夠在LSi中找到一個與之對應(yīng)的候選的下表面點,則判定pu(x0,y0,z0)為真正的上表面點,為真正的下表面點。對USi中所有的有效點進行上述操作,以得到真正的上表面點集合和真正的下表面點集合。接下來探討如何確定上述所說的角度。
根據(jù)x0,y0與的關(guān)系可以分為如下四種情況進行討論。
圖8 當(dāng) x 0 =,y 0 =時的對應(yīng)情況示意圖Fig.8 Diagram of the corresponding situation when x 0 = ,y 0 =
圖9 當(dāng) x0 ≠ ,y 0 =時的對應(yīng)情況示意圖Fig.9 Diagram of the corresponding situation when x0 ≠ ,y 0 =
圖10 當(dāng) x 0 = ,y0 ≠時的對應(yīng)情況示意圖Fig.10 Diagram of the corresponding situation when x0 = ,y 0 ≠
圖11 當(dāng) x 0 ≠ ,y0 ≠時的對應(yīng)關(guān)系示意圖Fig.11 Diagram of the corresponding situation when x0 ≠ ,y 0 ≠
綜合對比以上四種對應(yīng)關(guān)系可知:第一和第二種對應(yīng)關(guān)系與實際情況不太一致;第四種情況所示的對應(yīng)關(guān)系是最理想的對應(yīng)關(guān)系,但是不方便求解填充角度;第三種情況所示的對應(yīng)關(guān)系與實際情況較為吻合,并且易于求解填充角度,故本文選擇第三種情況的對應(yīng)關(guān)系,即當(dāng)時。對于第三種情況的對應(yīng)關(guān)系,可以直接在矢狀面序列圖S G(X)中進行填充角度的求解。
在本文“2.2”部分中已經(jīng)求解每一節(jié)頸椎椎骨Ci平均位置,如公式(1)和圖5所示。為了得到頸椎間盤Di的填充角度θi,本文選擇令θi為兩點連成的線段與矢狀面列方向所呈現(xiàn)的夾角,如公式(3)和圖12所示。
圖5 頸椎椎骨中心位置示意圖Fig.5 Central position diagram of cervical vertebrae
圖12 填充角度示意圖Fig.12 Diagram of filling angle
圖13 DDA算法偽代碼Fig.13 DDA algorithm pseudocode
接下來只需要對USi中每一個有效點pu重復(fù)上述操作,然后將得到的V中的每一個點標(biāo)記為頸椎間盤,即實現(xiàn)了頸椎間盤的分割。分割結(jié)果的矢狀面、水平面及冠狀面如圖14所示。
圖14 分割結(jié)果示意圖Fig.14 Diagram of segmentation results
為了定量分析本文提出的算法對于CT圖像中頸椎間盤的分割性能,采用像素級評價指標(biāo)進行評估,包括像素準(zhǔn)確率(Pixel Accuracy,PA)、精準(zhǔn)率(Precision)和召回率(Recall)。按照圖像分割結(jié)果和人工標(biāo)注結(jié)果,可以將圖像像素分為4 個類別,如表1所示。
表1 圖像像素類別Tab.1 Image pixel category
依據(jù)圖像像素分類,將評價指標(biāo)定義如下。
像素準(zhǔn)確率:
精準(zhǔn)率:
召回率:
其中,AccPA反映了像素級整體分割準(zhǔn)確度;Pre表示既被標(biāo)注為頸椎間盤又被分割為頸椎間盤像素點占所有被分割為頸椎間盤像素點的比例,可反映目標(biāo)誤檢率;Rec表示既被標(biāo)注為頸椎間盤又被分割為頸椎間盤像素點占所有被標(biāo)注為頸椎間盤像素點的比例,可反映目標(biāo)漏檢率。由于評價的對象是多組序列圖,故先計算每一組序列圖準(zhǔn)確率、精準(zhǔn)率和召回率的均值,然后對多組序列圖求均值。
為了驗證本文提出的算法在CT序列圖中進行頸椎間盤分割的有效性,以下將針對雙閾值分割、大津閾值分割及本文所提算法進行分割對比實驗,并對實驗結(jié)果進行分析。
雙閾值分割是對某張圖像進行人工交互,確定分割閾值范圍,之后所有序列圖像都根據(jù)這一固定的閾值范圍進行分割。大津閾值分割又稱最大類間方差法(OTSU),是對每一張圖像分別計算最佳分割閾值,使得按照灰度特性劃分的背景相與目標(biāo)相類間方差最大,從而使得二者錯分概率最小。這兩種方法都是在圖像分割領(lǐng)域應(yīng)用較成熟的方法。將這兩種方法與本文提出的算法進行實驗效果對比。此外,為了驗證算法的普適性,隨機挑選了10 組病人的頸椎CT數(shù)據(jù)作為測試數(shù)據(jù)集,并將其中一組測試結(jié)果進行展示。該組頸椎CT序列圖矢狀面的分辨率為435×349,共435 張。選擇矢狀面分割結(jié)果的第180 張、第200 張、第220 張為代表圖像,三種算法的分割結(jié)果如圖15所示,其中圖15第一列是矢狀面原始圖像,圖15第二列是人工標(biāo)記圖,圖15第三列是大津法分割結(jié)果圖,圖15第四列是雙閾值法分割結(jié)果圖,圖15第五列是本文提出方法的分割結(jié)果圖。
圖15 分割結(jié)果對比Fig.15 Comparison of segmentation results
以人工標(biāo)注結(jié)果為準(zhǔn),對10 組測試數(shù)據(jù)集按照本文2.1部分所述計算評價指標(biāo),結(jié)果如表2所示。雙閾值分割、大津閾值分割在分割頸椎間盤時,由于無法界定頸椎間盤范圍導(dǎo)致很大的誤分割,即Pre值較低;而本文提出的算法充分利用頸椎間盤上下表面的三維空間信息,解決了頸椎間盤在水平面“不可見”及頸椎間盤邊界難以界定的問題,使得分割得到的頸椎間盤更加精確,所以本文提出的算法擁有更高的Pre及Rec。從整體性能來看,本文提出的方法在保持與其他方法差不多的像素準(zhǔn)確率的前提下,擁有更高的精準(zhǔn)率和召回率,所以本文提出的方法更優(yōu)。
表2 分割結(jié)果評價指標(biāo)Tab.2 Segmentation results evaluation index
在CT序列圖中對頸椎間盤的分割是頸椎間盤三維分型的基礎(chǔ)。本文針對頸椎CT序列圖像,深入研究了其頸椎間盤的分割方法,根據(jù)頸椎間盤本身的特點,提出了一種半自動的頸椎間盤分割方法。在VS2010(Visual Studio 2010)+MFC(微軟基礎(chǔ)類庫)平臺下對本文提出的算法進行編程實現(xiàn)。實驗結(jié)果表明,相比傳統(tǒng)的大津法、雙閾值法,本文提出的算法能以更高的準(zhǔn)確率實現(xiàn)對頸椎CT序列圖像中頸椎間盤目標(biāo)的分割。