宋云霞,強(qiáng) 彥+,唐笑先
(1.太原理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原 030024;2.山西省人民醫(yī)院 CT室,山西 太原 030012)
肺癌是當(dāng)今死亡率最高的惡性腫瘤[1],主要原因是肺部疾病種類繁多且其影像顯示上復(fù)雜多樣,導(dǎo)致其難以診斷。此外,肺部疾病在影像學(xué)上存在同病異影和異病同影的現(xiàn)象[2],也為肺部疾病的診斷帶來了困難。由于醫(yī)學(xué)圖像檢索可以達(dá)到減輕醫(yī)生工作負(fù)擔(dān)以及另一方面增加診斷準(zhǔn)確性的雙重優(yōu)勢,因此,近年來大量學(xué)者在肺部影像檢索上進(jìn)行了相關(guān)研究并取得了一定的成果[3]。
圖像哈希方法是一種快速的圖像檢索方法[4],不僅有效降低了相似度計算時間,同時也大大降低了存儲量,在解決大規(guī)模計算機(jī)視覺問題中受到重視。但是由于圖像哈希在檢索精度方面很大程度上依賴于對數(shù)據(jù)庫圖像提取到的特征是否充分高效,通過傳統(tǒng)的特征描述算子如:SIFT[5]、HOG[6]、Gist[7]、LBP[8]、HSV[9]等手工所提取到的圖像特征或其融合特征已經(jīng)不適于當(dāng)前大數(shù)據(jù)時代下的高精度需求了。
鑒于深度學(xué)習(xí)在特征提取方面的優(yōu)勢,本文首先利用卷積神經(jīng)網(wǎng)絡(luò)將圖像特征進(jìn)行充分提取,然后通過改進(jìn)的有監(jiān)督哈希對高維特征進(jìn)行降維并且學(xué)習(xí)哈希函數(shù),進(jìn)行哈希編碼,最后再借鑒由粗到精的檢索思想[10],提出一種圖像檢索方法。
對肺結(jié)節(jié)CT圖像的檢索的精確度取決于對結(jié)節(jié)圖像的特征能否進(jìn)行充分有效的提取,能否最大限度地表征結(jié)節(jié)圖像中所包含的信息。然而目前手工提取的特征已經(jīng)不能滿足檢索的高精準(zhǔn)度需求。隨著大數(shù)據(jù)時代的到來,含更多隱含層的深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNNs)因具有更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)[11],相比于傳統(tǒng)學(xué)習(xí)方法具有更為強(qiáng)大的特征學(xué)習(xí)和表達(dá)能力。本文將采取CNNs的網(wǎng)絡(luò)結(jié)構(gòu)對肺結(jié)節(jié)圖像進(jìn)行特征提取。本文所采用的數(shù)據(jù)庫為全球最大的肺部影像數(shù)據(jù)庫LIDC,北京理工大學(xué)與權(quán)威醫(yī)師合作創(chuàng)建的LISS數(shù)據(jù)庫,以及合作醫(yī)院所提供的肺部CT數(shù)據(jù)集。通過對結(jié)節(jié)圖像減去圖像均值進(jìn)行預(yù)處理并將其輸入到網(wǎng)絡(luò)中,對9種肺結(jié)節(jié)征象類型包括GGO(磨玻璃)、Spiculation(毛刺征)、Lobulation(分葉征)、Cavity&Vacuolus(空泡)、Calcification(鈣化)、Pleural Dragging(胸膜牽拉)、Bronchial Mucus Plugs(支氣管黏液栓)、Obstructive pneumonia(阻塞性肺炎)、Air bronchogram(支氣管充氣征)進(jìn)行分類,不斷訓(xùn)練網(wǎng)絡(luò)直到穩(wěn)定最優(yōu)為止,將全連接層的特征提取出來用于本文下一步的圖像檢索階段。圖1為9種征象類型的肺結(jié)節(jié)圖像,圖2為CNNs的網(wǎng)絡(luò)架構(gòu),表1中給出了CNNs架構(gòu)中設(shè)置的具體參數(shù)。
圖1 9種征象類型的結(jié)節(jié)圖像
圖2 CNNs網(wǎng)絡(luò)架構(gòu)
表1 CNNs框架中的參數(shù)設(shè)置
前面的部分中CNNs對結(jié)節(jié)圖像的特征進(jìn)行了充分的提取,但是提取到的特征維度太高,并且其中存在特征冗余的情況,會直接影響后續(xù)哈希函數(shù)的構(gòu)建以及檢索的精度及速率。針對此問題,本文采用主成分分析算法(principal components analysis,PCA),具體算法如下:
PCA算法:
輸入: CNNs提取到的肺結(jié)節(jié)圖像特征矩陣X
輸出: 降維后的特征矩陣Y
步驟3 對C進(jìn)行奇異值分解計算其特征值λi和特征向量ei
步驟4 構(gòu)建特征子空間, 將特征值降序排列, 將前k個特征值對應(yīng)的特征向量結(jié)合構(gòu)建特征子空間Ω=(e1,e2,…,ek)
步驟5 得到降維后的特征矩陣:Y=ΩX′
利用哈希函數(shù)將2.1節(jié)所提取到的肺結(jié)節(jié)的主要語義特征映射為二值哈希碼。為保存肺結(jié)節(jié)圖像在線性子空間中的相似性,哈希函數(shù)的設(shè)計尤為關(guān)鍵,其一般形式如式(1)所示,若哈希碼的長度為r,則須設(shè)計r個哈希函數(shù),即H={h1,h2,…,hr}
(1)
式中:w為系數(shù)向量,需要學(xué)習(xí)。b表示偏差,為產(chǎn)生均衡的哈希碼,通常將b賦值為樣本集中全部圖像特征的期望值,由于在2.1節(jié)中對圖像特征已經(jīng)進(jìn)行了零均值化操作,所以將b賦為0,之后用PCA降維后的特征yi代替式(1)中的xi,將其簡化為如下的式(2)
(2)
然后借鑒KSH(supervised hashing with kernels)方法的思想[12],利用肺結(jié)節(jié)圖像的標(biāo)簽信息求解哈希函數(shù)中的系數(shù)向量 [w1,w2,…,wr], 求解過程如下:
(1)通過標(biāo)簽信息來表征樣本間的語義相似性,利用l個標(biāo)簽樣本構(gòu)建標(biāo)簽矩陣S∈Rl×l, 若樣本xi與xj相似,則Sij=1,否則Sij=-1;
(2)哈希算法的目標(biāo)是經(jīng)哈希函數(shù)映射后,使得相似樣本的漢明距離最小,反之最大。根據(jù)漢明距離與哈希碼內(nèi)積的對應(yīng)關(guān)系,發(fā)現(xiàn)相似樣本(Sij=1)的哈希碼內(nèi)積最大為r,不相似樣本(Sij=-1)的哈希碼內(nèi)積最小為-r;
(3)
(4)使用貪婪算法求解目標(biāo)函數(shù),完成哈希函數(shù)的構(gòu)造,最后使用構(gòu)造好的哈希函數(shù)對肺結(jié)節(jié)圖像進(jìn)行映射。
本文提出的稀疏有監(jiān)督哈希算法通過PCA算法保留肺結(jié)節(jié)圖像中的主要信息特征,使得經(jīng)哈希函數(shù)映射得到的哈希碼含有原數(shù)據(jù)集中的主要信息,減少了映射誤差;利用KSH保留了肺結(jié)節(jié)圖像在高維空間的相對位置關(guān)系,能夠有效區(qū)別不同征象類型的肺結(jié)節(jié)圖像,提高了哈希函數(shù)的編碼質(zhì)量。
2.2節(jié)已經(jīng)完成了哈希函數(shù)的構(gòu)造,將已有數(shù)據(jù)庫與檢索圖像通過哈希函數(shù)映射為二值哈希碼,再比較哈希碼之間的距離即可找到與檢索圖像為相似的圖像。然而在檢索結(jié)果中會存在多張肺結(jié)節(jié)圖像與查詢圖像的漢明距離相等,但實(shí)際上它們與查詢結(jié)節(jié)圖像并不一定都相似的情況,如圖3所示。若此時將檢索結(jié)果返回,會導(dǎo)致檢索結(jié)果的不準(zhǔn)確。由于本文采用的PCA映射的哈希方法保留了歐式空間的ε近鄰關(guān)系,所以為解決上面這個問題,本文采取了加入歐氏距離進(jìn)一步精確檢索的處理。
圖3 漢明距離相等而不相似情況
本文采取的方法為首先為各個征象類構(gòu)建哈希表,然后計算待檢索結(jié)節(jié)圖像與各征象類中心的距離,確定查詢圖像可能屬于的候選征象類。這里,為了提高檢索的查全率,本文選取距離最小的前m個征象類作為待檢索結(jié)節(jié)所屬的候選類。然后根據(jù)KSH_PCA算法獲得的候選征象類別的哈希函數(shù)對查詢圖像編碼,并從候選類的哈希表中檢索出近似的肺結(jié)節(jié)CT圖像,最后使用歐式距離進(jìn)行重新排序進(jìn)行精確排序。由粗到精的檢索算法的肺結(jié)節(jié)檢索過程如圖4所示。
由粗到精的檢索算法的詳細(xì)步驟如下:
由粗到精的檢索算法:
輸入: 待檢索肺結(jié)節(jié)CT圖像q
檢索過程:
(1)確定查詢項q可能屬于的m個候選征象類
(2)確定查詢項q的m個候選近似結(jié)節(jié)圖像
根據(jù)候選類別C1,C2,…,Cm中的哈希函數(shù)為查詢項q編碼為code1,code2,…,codem, 將這些編碼與對應(yīng)類別的哈希表中的所有哈希碼進(jìn)行漢明距離的計算, 分別從這m個征象類中選取漢明距離最小的數(shù)據(jù)項作為候選近似肺結(jié)節(jié)(candi)1,(candi)2,…,(candi)m。
圖4 肺結(jié)節(jié)檢索過程
(3)檢索出最近似結(jié)節(jié)圖像
輸出: 近似肺結(jié)節(jié)圖像(candi)1,(candi)2,…,(candi)n。
本實(shí)驗所根據(jù)的共1053個肺部CT影像病例,由3類數(shù)據(jù)源構(gòu)成:LIDC數(shù)據(jù)庫、LISS數(shù)據(jù)庫以及合作醫(yī)院肺部CT影像數(shù)據(jù)集。其中,LIDC是全球最大的肺部影像數(shù)據(jù)庫[13]。LISS是北理工與權(quán)威醫(yī)師共同合作對肺部征象進(jìn)行專業(yè)準(zhǔn)確標(biāo)注的肺部CT影像數(shù)據(jù)集[14],合作醫(yī)院為山西某醫(yī)院CT室。表2具體描述了本文所使用的肺結(jié)節(jié)CT影像數(shù)據(jù)集構(gòu)成。其中,每個病例是否具備9種征象均有詳細(xì)專業(yè)的標(biāo)注。另外,本實(shí)驗為了確保訓(xùn)練集與測試集之間不存在相關(guān)性的干擾,使用數(shù)據(jù)集來源為LIDC與LISS的肺部CT圖像作為訓(xùn)練集,來源為合作醫(yī)院數(shù)據(jù)集的肺部CT圖像作為測試集。
表2 數(shù)據(jù)集來源及數(shù)量的描述
本文所設(shè)計的性能評價指標(biāo)為F1。
F1是由準(zhǔn)確率和召回率組合得到的一種綜合評價指標(biāo)。準(zhǔn)確率P和召回率R的具體計算公式如下
(4)
(5)
F1的計算公式如下
(6)
本文與其它5種算法包括KSH[12]、RBM(restricted Boltzmann machines)[15]、E2LSH[16]、PCAH[17]、SH(spectral hashing)[18],說明本文提出的方法的檢索性能。
表3展示了6種算法在數(shù)據(jù)集上對比結(jié)果,表4展示了6種算法的運(yùn)行時間。此運(yùn)行時間表示每種算法在對CNNs提取到的特征生成8~64位哈希碼所需時間,其中為避免特殊性,每種算法分別做5次實(shí)驗,取5次運(yùn)行時間的平均值。k為索引的位數(shù),每種索引位數(shù)下的最佳結(jié)果在表中已用黑體標(biāo)注。
表3 數(shù)據(jù)集上的實(shí)驗結(jié)果
表4 算法編碼運(yùn)行時間對比表/s
由實(shí)驗結(jié)果看出,本文提出的由粗到精檢索的算法的表現(xiàn)在本文數(shù)據(jù)集上優(yōu)于其它算法。但是本文算法仍然存在一定的局限性,表現(xiàn)為對哈希碼位數(shù)的敏感度較高。當(dāng)哈希碼長不小于32位時,F(xiàn)1有隨著哈希碼位數(shù)的增加而下降的趨勢,在碼長達(dá)到64位時甚至低于碼長為24位的結(jié)果。究其原因是由于哈希碼位數(shù)達(dá)到一定長度后,返回相關(guān)的結(jié)節(jié)圖像數(shù)量大幅下降,雖然返回所有結(jié)節(jié)圖像數(shù)量也會下降,但是與前者相比而言,下降程度較小。因此,召回率大幅下降,準(zhǔn)確率小幅下降,F(xiàn)1指標(biāo)下降。
此外,由表4可得,本文提出的方法不具有最高的運(yùn)行速率,綜合檢索結(jié)果,可認(rèn)為本方法具備最好的時間效果比。
本文方法用哈希碼對肺結(jié)節(jié)圖像庫中的CT圖像進(jìn)行表示,相比于傳統(tǒng)的利用提取到的圖像特征對圖像進(jìn)行表示的傳統(tǒng)方法,本方法的圖像數(shù)據(jù)庫占用內(nèi)存更小,檢索速度更快。其中,r=32時,檢索一張結(jié)節(jié)圖像的5次平均時間為1.683 s。圖5展示了待檢索結(jié)節(jié)圖像、惡性結(jié)節(jié)圖像和良性結(jié)節(jié)圖像(黑框標(biāo)注)以及在哈希碼位為32,返回圖像張數(shù)為30,ε近鄰半徑為0.3時檢索出的前5張肺結(jié)節(jié)CT圖像。
圖5 查詢圖像以及相應(yīng)的檢索結(jié)果
根據(jù)檢索的相似肺結(jié)節(jié)圖像可以判定查詢病灶所屬的征象類別。本文根據(jù)KNN算法[19],在檢索出來的相似肺結(jié)節(jié)CT圖像中,若Pleural Dragging結(jié)節(jié)圖像所占比重較大,則查詢病灶所屬征象類型為Pleural Dragging。本文對比了提出的檢索方法與SVM(support vector machine)[20]、ELM(extreme learning machine)[21]分類算法,分別在含有9種征象類別圖像、良性結(jié)節(jié)圖像和惡性結(jié)節(jié)圖像進(jìn)行比較。識別的準(zhǔn)確率和誤識率是評價識別算法性能的有效指標(biāo),其定義如式(7)、式(8)所示。圖6和圖7分別展示了這3種方法在數(shù)據(jù)集中的9種肺結(jié)節(jié)征象類上的識別準(zhǔn)確率和誤識率
(7)
(8)
圖6 不同分類方法的識別準(zhǔn)確率
圖7 不同分類方法的誤識率
本文提出一種基于深度哈希的肺結(jié)節(jié)CT圖像檢索方法。首先利用一個7層的卷積神經(jīng)網(wǎng)絡(luò)將結(jié)節(jié)圖像特征進(jìn)行充分提取,然后通過改進(jìn)的有監(jiān)督哈希對高維特征進(jìn)行降維并且學(xué)習(xí)哈希函數(shù),進(jìn)而哈希編碼,最后再經(jīng)過由粗到精的檢索方法,實(shí)現(xiàn)對肺結(jié)節(jié)圖像的有效檢索。對3422張肺結(jié)節(jié)CT圖像的實(shí)驗結(jié)果表明,本文所提出的深度哈希算法,在區(qū)分肺結(jié)節(jié)常見9種征象類別上具有良好的判定識別效果。并且本文算法具有檢索精度高與占用內(nèi)存小的優(yōu)勢,在肺結(jié)節(jié)CAD診斷上具有可應(yīng)用性與可推廣性。下一步工作我們將在算法效率優(yōu)化上做進(jìn)一步研究。