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