何強,高瞻,段鈺桔,周利炆,趙亮
(1.十堰市太和醫(yī)院精準醫(yī)學(xué)研究中心,湖北十堰 442000;2.十堰市太和醫(yī)院醫(yī)學(xué)影像中心,湖北十堰 442000;3.湖北醫(yī)藥學(xué)院生物醫(yī)學(xué)工程學(xué)院,湖北十堰 442000)
肝臟局灶性病變(Focal Liver Lesion,FLL)種類多樣、尺寸較小、特征稀少,這類病灶容易被忽視,影響醫(yī)生對病人病情的診斷[1]。如何利用極少的特征,聚焦病灶區(qū)域本身,降低偽影噪音等假陽性的干擾,準確分割出肝臟中小病灶區(qū)域,是該文研究重點。
近年來關(guān)于醫(yī)學(xué)圖像分割的研究主要分為傳統(tǒng)圖像分割和基于深度學(xué)習(xí)的圖像分割。傳統(tǒng)圖像分割算法主要包括邊緣檢測[2]、閾值分割[3]、區(qū)域分割[4]、超像素分割[5]等。傳統(tǒng)圖像分割算法往往針對某個特定場景設(shè)置超參數(shù),泛化能力較差。深度學(xué)習(xí)對微小目標(biāo)分割方法可分為多尺度預(yù)測[6]、數(shù)據(jù)增強[7]、超分辨率[8]、上下文信息[9]等。雖然深度學(xué)習(xí)在其他醫(yī)學(xué)圖像分割中表現(xiàn)優(yōu)異,但是目前對小目標(biāo)的分割精度遠遠不夠。另外,目前暫無醫(yī)學(xué)相關(guān)微小目標(biāo)的分割數(shù)據(jù)集可供研究。
該文針對目前小目標(biāo)分割的研究現(xiàn)狀,結(jié)合肝臟微小病灶的特點,提出多維局部聚類分割肝臟微小病灶的算法,主要用到灰度、相對位置坐標(biāo)、梯度等特征。該文的主要貢獻有以下幾點:
1)肝臟區(qū)域裁剪為不相交子塊,在圖像局部用聚類算法做分割。
2)利用子塊中灰度值、相對位置坐標(biāo)以及梯度信息構(gòu)成多維向量進行聚類。
3)采用統(tǒng)計方法對潛在病灶進行分析,精確篩選微小病灶。
所有數(shù)據(jù)樣本均進行三步預(yù)處理:1)感興趣區(qū)域(ROI)提取。由影像科經(jīng)驗豐富的醫(yī)生,使用自研可加載DICOM 格式的圖像標(biāo)注軟件,勾畫肝臟和肝臟病灶輪廓。其中包含肝臟2 247 張,病灶841 張。2)轉(zhuǎn)換像素值。CT值的單位是亨斯菲爾德(Hounsfield Unit,HU),范圍為(-1 024,3 071),用于衡量人體組織對X 射線的吸收率[10]。轉(zhuǎn)換時從DICOM 頭文件中讀取兩個標(biāo)簽信息,分別是Rescale Intercept、Rescale Slope,分別記為RI和RS,PV表示像素值,然后通過式(1)計算得到灰度值。3)將轉(zhuǎn)換后的CT 值歸一化到[0,1],并映射到[0,255],保存為長寬為512 個像素的png 圖片。將肝臟輪廓繪制于(512,512)的全零矩陣上,肝臟區(qū)域填充1,非肝臟區(qū)域填充0,保存為png 圖片格式。肝臟病灶掩膜采用相同方法處理。
統(tǒng)計所有小病灶灰度均值m和標(biāo)準差s。將肝臟區(qū)域裁剪為不相交子塊,在子塊中使用海森矩陣[11]計算灰度值梯度,并結(jié)合灰度值、相對位置坐標(biāo)構(gòu)成多維向量,采用kmeans++[12-13]聚類算法對子塊進行分割,然后將分割結(jié)果根據(jù)裁剪坐標(biāo)拼接起來,最后進行后處理和假陽性過濾。肝臟微小病灶切片聚類分割算法過程如圖1 所示。
圖1 肝臟微小病灶分割算法示意圖
考慮像素級圖像分割存在毛刺、空洞等問題,采用膨脹、腐蝕算法對拼接結(jié)果進行后處理,并根據(jù)小病灶形態(tài)學(xué)特征提出假陽性過濾策略,如圖2 所示。
圖2 潛在病灶假陽性過濾策略
該算法主要步驟:
1)以病灶區(qū)域為單位,刪除大于144 個像素的病灶區(qū)域,在原始肝臟灰度圖中計算剩余病灶區(qū)域平均灰度值ave。定義集合X,保存所有ave,考慮人工勾畫時不可避免的誤差,ave的取值區(qū)間在[0,100],然后計算集合內(nèi)所有平均灰度值的均值m和標(biāo)準差s。
2)讀取原始肝臟灰度圖,記為O,讀取對應(yīng)文件名肝臟掩膜圖片,記為矩陣M,以最小矩陣框出肝臟部分,矩形左上頂點坐標(biāo)為(x,y),長為w,寬為h,肝臟灰度矩陣mask=M×O[y:y+h,x:x+w]。
3)對框出的肝臟mask,依次沿著x軸和y軸,裁剪(16,16)的尺寸,裁剪步長設(shè)置為16 個像素,依次得到每個子塊mask_patch,并對mask_patch 做直方圖均衡化。
4)在每個mask_patch 中,利用海森矩陣計算梯度信息。依次遍歷mask_patch,獲取非0 位置的灰度值h,相對位置坐標(biāo)(x,y),梯度值t,組成[h,x,y,t]向量形式,保存在數(shù)組n中。
5)定義kmeans++聚類,n_clusters=2。對數(shù)組n進行聚類,計算兩類CT 平均值x1,x2,取落在區(qū)間[m-s,m+s]的一類作為病灶候選結(jié)果,如果沒有則不?。蝗绻荚趨^(qū)間[m-s,m+s]內(nèi),則取數(shù)值較小的一類。所有病灶候選結(jié)果根據(jù)裁剪坐標(biāo)拼接到和矩陣M大小相同的全零矩陣new中。
6)將new進行先膨脹后腐蝕操作,填補中間空心區(qū)域,去掉周圍毛刺。檢測new的輪廓,得到new若干輪廓點集conts,如果單個輪廓點集個數(shù)小于4,刪除該輪廓。如果大于4,則計算最小框住輪廓矩形的長和寬,如果長寬比例大于1.5,刪除該輪廓。
7)最后利用裁剪x、y、w、h信息,將new還原到(512,512)大小,即為最終的病灶分割結(jié)果。
采用Dice 來對分割結(jié)果做評價,Dice 系數(shù)是一種集合相似度度量指標(biāo),通常用于計算兩個樣本的相似性[14]。定義為:
式中,TP表示正確預(yù)測肝占位的像素個數(shù),F(xiàn)P表示將肝臟預(yù)測為肝占位的像素個數(shù),F(xiàn)N表示將肝占位預(yù)測為肝臟的像素個數(shù)。指標(biāo)范圍為[0,1],數(shù)值越大,效果越佳。該算法中,將子塊的分割結(jié)果拼接還原為(512,512),與人工標(biāo)注病灶結(jié)合來計算Dice。
該實驗使用的數(shù)據(jù)集來自2018 年至2020 年在十堰市太和醫(yī)院采集的上腹部CT 掃描。影像科醫(yī)生篩選多發(fā)小低密度病灶的病例53 例,由6 名中低年資影像科醫(yī)生對病灶定位并確定邊界,兩名高年資影像科醫(yī)生審核校正。微小病灶數(shù)據(jù)樣本示例如圖3 所示。
圖3 微小病灶數(shù)據(jù)樣本示例
所有數(shù)據(jù)預(yù)處理之后保存為png 格式,預(yù)處理結(jié)果如圖4 所示。左邊為原圖,中間為肝臟掩膜,右邊為肝臟病灶掩膜。
圖4 預(yù)處理結(jié)果示例
統(tǒng)計所有微小病灶平均灰度值,其直方圖如圖5所示。
圖5 微小病灶平均灰度值直方圖
為了驗證該算法的分割效果,該文設(shè)計三組實驗,每組實驗經(jīng)過十則交叉驗證,計算Dice 的平均值和標(biāo)準差。第一組為傳統(tǒng)的圖像分割算法分割結(jié)果,基于固定閾值的圖像分割的閾值為統(tǒng)計小病灶平均灰度值加標(biāo)準差,實驗結(jié)果如表1 所示。第二組比較深度學(xué)習(xí)經(jīng)典圖像分割算法:Fcn8s、Unet、Segnet、Pspnet、Deeplabv3+,每個模型訓(xùn)練50 個epoch,所有參數(shù)都一樣,取最高Dice 為模型最終訓(xùn)練結(jié)果,實驗結(jié)果如表2 所示。第三組比較不同的聚類算法:kmeans++聚類、層次聚類[15]、Dbscan[16]聚類,kmeans++聚類中使用灰度值、相對位置坐標(biāo)和梯度信息聚類,實驗結(jié)果如表3 所示。
表1 傳統(tǒng)圖像分割算法實驗結(jié)果
表2 基于深度學(xué)習(xí)的圖像分割實驗結(jié)果
表3 不同聚類算法及不同維度聚類實驗結(jié)果
傳統(tǒng)的圖像分割算法Dice 偏低,對于圖像中出現(xiàn)噪音、偽影或肝裂、血管等復(fù)雜情況,無法很好地分割,且傳統(tǒng)圖像分割都存在超參數(shù),不能適用整個數(shù)據(jù)集。從圖6 可以看出,基于固定閾值的圖像分割,分割出了血管、肝裂、邊緣等大量噪音。
圖6 分割結(jié)果比較
深度學(xué)習(xí)模型中,Deeplabv3+(resnet50)Dice 更高,但是數(shù)據(jù)集總量較少,模型分割小病灶輪廓較粗糙。從圖6 可以看出,Deeplabv3+模型分割結(jié)果中遺漏邊緣和中間的微小病灶,并且勾畫區(qū)域比實際區(qū)域偏大。
在不同的聚類算法實驗中,將灰度值、相對位置坐標(biāo)和梯度信息構(gòu)成多維向量,使用kmeans++算法分割表現(xiàn)最好。從圖6 可以看出,該文算法分割結(jié)果中,相對于閾值分割,減少了大量假陽性病灶,且閾值作為超參,無法適用。相對于Deeplabv3+模型,對肝臟邊緣和內(nèi)部微小病灶更加敏感,且勾畫區(qū)域更加貼合原始病灶。
肝臟中微小病灶像素信息少,特征不明顯,肝裂、血管間隙以及膽管等組織和病灶特征相似,使肝臟中小病灶的診斷更加困難。針對小病灶特點,該文提出多維局部聚類分割算法,將整個肝臟裁剪為子塊,子塊中肝臟區(qū)域灰度值、相對位置坐標(biāo)、梯度信息組成多維向量聚類,并根據(jù)小病灶形態(tài)特征過濾明顯的假陽性。最后從理論分析和實驗結(jié)果角度,驗證了方法的準確性和可靠性。該文方法在影像診斷中,可以快速定位微小病灶,節(jié)省醫(yī)生診斷時間,避免遺漏,在一定程度上緩解醫(yī)生閱片診斷壓力。另外,在缺少微小病灶數(shù)據(jù)集的背景下,該算法預(yù)勾畫肝臟病灶,減小人工勾畫工作量,提高人工勾畫微小病灶的精度,快速積累原始數(shù)據(jù)。