郭保蘇,莊集超,吳鳳和,車小雙,袁林棟,齊 軍
(1.燕山大學(xué) 機(jī)械工程學(xué)院,河北 秦皇島 066004;2.聊城市人民醫(yī)院,山東 聊城 252000)
在傳統(tǒng)的病毒檢測(cè)中,需要對(duì)每例疑似病例進(jìn)行逆轉(zhuǎn)錄聚合酶鏈反應(yīng)(RT-PCR)檢測(cè)確診,然而RT-PCR方法十分耗時(shí)且檢測(cè)的假陰性率較高[1],胸部CT圖像檢查則可有效地對(duì)COVID-19(新冠病毒肺炎)患者肺部影像和治療效果進(jìn)行醫(yī)學(xué)評(píng)估[2]。胸部CT圖像提供了豐富的病理信息,但由于缺乏計(jì)算機(jī)來(lái)準(zhǔn)確地量化感染區(qū)域及其病理變化,醫(yī)護(hù)人員無(wú)法快速地提供診斷篩查。馮雨等[3]針對(duì)傳統(tǒng)計(jì)算機(jī)輔助檢測(cè)系統(tǒng)中肺結(jié)節(jié)檢測(cè)存在大量假陽(yáng)性問(wèn)題,提出了一種基于三維卷積神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)識(shí)別方法。馬圓等[4]采用深度信念網(wǎng)絡(luò)方法對(duì)CT圖像的良惡性肺結(jié)節(jié)進(jìn)行識(shí)別研究。黃盛等[5]基于改進(jìn)的深度殘差網(wǎng)絡(luò),提出更加適合肺部組織的CT圖像模式分類模型。采用人工智能的方法可快速分析病例特征,檢測(cè)胸部CT圖像是否有顯示任何異常,并供臨床醫(yī)生進(jìn)一步診斷,以便進(jìn)行治療或隔離。本文將人工智能與初步臨床理解相結(jié)合,以應(yīng)對(duì)COVID-19帶來(lái)的巨大挑戰(zhàn)。
本文的目標(biāo)是基于卷積神經(jīng)網(wǎng)絡(luò)開(kāi)發(fā)自動(dòng)化CT圖像分析方法,以便快速區(qū)分COVID-19患者與普通肺炎病毒患者,從而為一線醫(yī)護(hù)人員對(duì)疾病進(jìn)展的檢測(cè)和治療提供支持。目前還未見(jiàn)有關(guān)利用卷積神經(jīng)網(wǎng)絡(luò)在CT圖像中識(shí)別COVID-19感染和普通肺炎感染的報(bào)道。卷積神經(jīng)網(wǎng)絡(luò)也面臨諸多挑戰(zhàn),不合適的網(wǎng)絡(luò)超參數(shù)會(huì)導(dǎo)致算法收斂緩慢、泛化性差,并使模型表現(xiàn)出較差的魯棒性和預(yù)測(cè)精度,同時(shí)超參數(shù)優(yōu)化需要大量的計(jì)算等問(wèn)題[6]。
Shalu C等[7]使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別運(yùn)動(dòng)成像任務(wù),但并未考慮超參數(shù)對(duì)分類性能的影響。Ma M等[8]提出了k-均值聚類初始化超參數(shù)的算法,提高了網(wǎng)絡(luò)識(shí)別的準(zhǔn)確性并加快了網(wǎng)絡(luò)訓(xùn)練過(guò)程。Ijjina E P等[9]采用遺傳算法優(yōu)化網(wǎng)絡(luò)超參數(shù)可使分類誤差最小化。超參數(shù)自動(dòng)選擇方法指使用高性能加速模型在選擇過(guò)程計(jì)算和統(tǒng)計(jì)的方法[10]。貝葉斯優(yōu)化算法用于自動(dòng)搜索深度卷積的最佳超參數(shù),用以配置網(wǎng)絡(luò)[11]。Wang Y等[12]采用粒子群優(yōu)化算法優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并確定超參數(shù)的配置。盡管當(dāng)前的優(yōu)化算法可以表現(xiàn)出不同的復(fù)雜性、優(yōu)化效率、探索能力和評(píng)估成本,但超參數(shù)優(yōu)化仍然值得研究和探索。
本文提出了一種基于CT圖像卷積神經(jīng)網(wǎng)絡(luò)處理的新冠肺炎檢測(cè)算法。通過(guò)對(duì)卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和超參數(shù)進(jìn)行優(yōu)化,增強(qiáng)網(wǎng)絡(luò)模型對(duì)新冠肺炎和普通肺炎在胸部CT圖像中紋理特征的區(qū)分能力。實(shí)驗(yàn)結(jié)果表明:該方法相對(duì)其他優(yōu)化模型具有更高的檢測(cè)精度,提高了網(wǎng)絡(luò)模型對(duì)兩類肺炎差異特征的提取和識(shí)別能力。
CT圖像數(shù)據(jù)集由疫情一線的臨床醫(yī)生收集,包含1 420張新冠肺炎和1 065張普通肺炎的CT圖像,每張圖像的切片厚度為12 mm,尺寸為1 737×864 pixels。由臨床醫(yī)生在每張CT圖像上對(duì)兩種肺炎的對(duì)應(yīng)病理區(qū)域采用綠色不規(guī)則多邊形進(jìn)行標(biāo)注,如圖1所示。從所標(biāo)注的病理區(qū)域中裁剪出32×32 pixels的圖像塊,以便網(wǎng)絡(luò)模型能夠更加精準(zhǔn)地提取肺炎特定病理的紋理特征。所獲得的數(shù)據(jù)量包含3 850張新冠肺炎CT圖像塊和3 212張普通肺炎CT圖像塊,每種肺炎的部分圖像塊如圖2所示。本文采用3折-交叉驗(yàn)證的方式進(jìn)行驗(yàn)證,隨機(jī)挑選2組圖像塊作為訓(xùn)練集,余下圖像塊作為1組測(cè)試集,具體數(shù)量如表1所示。為使進(jìn)一步拓展訓(xùn)練集,可進(jìn)行后續(xù)的數(shù)據(jù)增廣,包括翻轉(zhuǎn)和旋轉(zhuǎn)。
圖1 CT圖像標(biāo)注區(qū)域Fig.1 Labeled areas of CT image
表1 數(shù)據(jù)集描述Tab.1 Description of dataset
圖2 CT圖像塊樣本示意Fig.2 CT image patch examples
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種結(jié)合特征提取和檢測(cè)的模型[13]。通過(guò)多層卷積捕獲圖像的特征,然后利用全連接層和SoftMax分類器進(jìn)行分類[14]。
在實(shí)際訓(xùn)練中,隨著網(wǎng)絡(luò)層數(shù)的加深,在反向傳播過(guò)程中梯度越容易消失,導(dǎo)致網(wǎng)絡(luò)參數(shù)無(wú)法更新從而影響網(wǎng)絡(luò)的收斂。為解決上述問(wèn)題,本文采用了殘差網(wǎng)絡(luò)[15]中的殘差單元,如圖3所示,以避免深層網(wǎng)絡(luò)出現(xiàn)的網(wǎng)絡(luò)退化問(wèn)題。輸入值x經(jīng)過(guò)卷積層(Conv)變換,歸一化和激活函數(shù)后得到殘差F(x)。在下一次卷積映射后,所得到的F(x)與x用shortcut的方式進(jìn)行連接,兩者的和再經(jīng)過(guò)歸一化和激活函數(shù)。
圖3 殘差單元Fig.3 Residual block
本文構(gòu)建了一個(gè)卷積神經(jīng)網(wǎng)絡(luò),通過(guò)多層卷積和池化捕獲CT圖像的低級(jí)特征和高級(jí)抽象特征,然后通過(guò)全連接層和SoftMax分類器進(jìn)行分類。卷積層(Conv)通過(guò)移動(dòng)卷積核來(lái)提取圖像特征。池化層(Pooling)通過(guò)中間計(jì)算過(guò)程減小特征圖輸出的尺寸,從而減小圖像尺寸,以降低模型訓(xùn)練計(jì)算的復(fù)雜性。全連接層(FC)通過(guò)將模型連接至SoftMax分類器。該層的每個(gè)輸出可被視為將前一層的每個(gè)節(jié)點(diǎn)乘以權(quán)重系數(shù)。SoftMax分類器輸出與輸入標(biāo)簽相同數(shù)量神經(jīng)元的概率。將上述各層進(jìn)行疊加,以構(gòu)建本文所提出的CNN模型。CNN利用輸出和標(biāo)簽之間的差異控制權(quán)重的變化。由于線性結(jié)構(gòu)的網(wǎng)絡(luò)不能適應(yīng)復(fù)雜的功能,利用激活函數(shù)提高模型的非線性功能。圖4展示了本文所提出的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),主要包括Layer單元,F(xiàn)C層和SoftMax分類器。在Layer單元中包括3個(gè)Conv層和1個(gè)Pooling層。為了便于訓(xùn)練和避免梯度消失問(wèn)題,在Layer單元中采用殘差單元,將圖像的原始輸入與第2個(gè)Conv層的輸出進(jìn)行融合并作為第3個(gè)Conv層的輸入。通過(guò)調(diào)整模型深度,以獲取最佳的網(wǎng)絡(luò)結(jié)構(gòu),提高模型的檢測(cè)能力。
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Convolution neural network structure
3.3.1 超參數(shù)描述
卷積神經(jīng)網(wǎng)絡(luò)的成功依賴于所選擇的結(jié)構(gòu)和超參數(shù)[16]。超參數(shù)是一種在模型訓(xùn)練前需要人為設(shè)置的參數(shù),不能通過(guò)樣本數(shù)據(jù)估計(jì)和模型訓(xùn)練獲得。對(duì)于不同的網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)集,其最優(yōu)超參數(shù)是不同的,需要通過(guò)優(yōu)化超參數(shù)來(lái)提高模型的性能。表2展示了常見(jiàn)的卷積神經(jīng)網(wǎng)絡(luò)超參數(shù)。
表2 卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)Tab.2 Hyper-parameters of convolution neural network
表3給出了本文中所考慮優(yōu)化的超參數(shù)和為每個(gè)參數(shù)定義的范圍。當(dāng)沒(méi)對(duì)選擇的參數(shù)范圍限制時(shí),將產(chǎn)生具有大量參數(shù)的復(fù)雜結(jié)構(gòu),增加訓(xùn)練時(shí)間,并且隨機(jī)選擇這些參數(shù)值也可能導(dǎo)致網(wǎng)絡(luò)效率低下。為了獲得參數(shù)較少的模型,且該模型能取得具有競(jìng)爭(zhēng)性的結(jié)果,但同時(shí)能夠有效地探索搜索空間。在優(yōu)化超參數(shù)的同時(shí),需要設(shè)置網(wǎng)絡(luò)的固定參數(shù)和超參數(shù)約束:
表3 本文需要優(yōu)化的超參數(shù)范圍Tab.3 The range of hyper-parameters in this work
1) 為防止特征圖尺寸過(guò)早縮減,Conv層的Stride固定為1;
2) 相同Layer塊中的Conv層使用相同的超參數(shù)值[17];
3) 所有Conv層和Pooling層的Padding固定為Same方式;
4) Conv層選擇的核尺寸應(yīng)小于或等于上1個(gè)Conv層中的核尺寸;
5) Layer塊中的特征映射數(shù)至少應(yīng)比上1個(gè)Layer塊中的特征映射數(shù)多出32個(gè);
6) FC層中的神經(jīng)元數(shù)量可設(shè)置為前1個(gè)Pooling層中神經(jīng)元數(shù)量的相等或2倍;
7) FC層選擇的丟棄率應(yīng)大于或等于上1個(gè)FC層的丟棄率[18]。對(duì)于第一個(gè)FC層的丟棄率為0.3。
圖5展示了網(wǎng)絡(luò)結(jié)構(gòu)和超參數(shù)約束而形成的初始解,由2個(gè)Layer塊組成,其中第1個(gè)Layer塊的每個(gè)Conv層包括64個(gè)濾波器,而第2個(gè)Layer塊的每個(gè)卷積層有128個(gè)濾波器,每個(gè)Layer塊的Pooling層采用最大池化方式。
圖5 初始解介紹Fig.5 The introduction of initial solution
3.3.2 禁忌遺傳算法
本文提出了一種禁忌遺傳算法對(duì)網(wǎng)絡(luò)的超參數(shù)進(jìn)行優(yōu)化,并基于CT圖像數(shù)據(jù)以獲取最優(yōu)的超參數(shù)組合。該算法結(jié)合了改進(jìn)的遺傳算法與局部搜索算法[19],其流程如圖6所示。
圖6 禁忌遺傳算法流程圖Fig.6 Tabu genetic algorithm workflow
禁忌遺傳算法首先以改進(jìn)的遺傳算法進(jìn)行全局搜索,對(duì)超參數(shù)進(jìn)行離散化和編碼后,進(jìn)行種群初始化,適應(yīng)度計(jì)算,交叉,變異,選擇等操作直至終止條件。由于傳統(tǒng)的遺傳算法存在最優(yōu)解附近震蕩問(wèn)題,因此所獲得的解并不一定是全局最優(yōu)解[20]。為此,本文提出結(jié)合爬山算法獲取最優(yōu)解。該方法以改進(jìn)的遺傳算法所獲取的解作為初始點(diǎn)進(jìn)行驅(qū)動(dòng),并與相鄰的點(diǎn)進(jìn)行搜索比較,同時(shí)建立禁忌列表以跳過(guò)已搜索的點(diǎn)。為提高遺傳算法對(duì)超參數(shù)優(yōu)化問(wèn)題的求解能力,對(duì)交叉和變異操作進(jìn)行了改進(jìn),并借鑒演化算法[21]中的選擇方式,同時(shí)將禁忌搜索算法[22]的禁忌列表融入其中。
交叉操作:為保證父代中優(yōu)秀個(gè)體的性狀能在子代個(gè)體中盡可能地遺傳,本文將種群按照適應(yīng)度大小進(jìn)行排列,選取適應(yīng)度最高的個(gè)體與余下個(gè)體進(jìn)行交叉操作,該方法不用設(shè)置交叉概率。圖7展示了交叉操作方式。
圖7 交叉操作Fig.7 Crossover operation
變異操作:提出了一種等差變異操作,即種群所有個(gè)體的變異概率并非相同,呈現(xiàn)等差數(shù)列的排布,其數(shù)學(xué)描述如下:
(1)
式中:n表示種群個(gè)體數(shù)量;i表示排序后第i個(gè)個(gè)體;Pmi表示第i個(gè)體的變異概率;m表示種群數(shù)。
由式(1)可知個(gè)體的適應(yīng)度越小,其變異概率越大,可進(jìn)行自適應(yīng)地變異,不需要人為設(shè)置變異概率。該變異操作對(duì)適應(yīng)度越小的個(gè)體變異程度越大,能夠很好地跳過(guò)局部最優(yōu)解,防止出現(xiàn)過(guò)早收斂。
選擇操作:為了保證父代中最優(yōu)個(gè)體可以完整的保留到子代,即將搜索引導(dǎo)至可能的超參數(shù)范圍內(nèi),引入了演化算法的選擇方式(μ+λ)。(μ+λ)的選擇集合是父代和子代的并集,可確保最好的個(gè)體生存和保存。
禁忌列表:當(dāng)進(jìn)行迭代搜索時(shí),會(huì)不可避免地搜索到部分相同點(diǎn)。為避免重復(fù)搜索和減少優(yōu)化時(shí)間,引入禁忌列表,以記錄搜索過(guò)程中所有不同點(diǎn)的信息。當(dāng)子代出現(xiàn)與前幾代相同的個(gè)體時(shí),由禁忌列表輸出適應(yīng)度值,避免重復(fù)計(jì)算。
禁忌遺傳算法克服了遺傳算法在最優(yōu)解附近的震蕩問(wèn)題,采用自適應(yīng)的交叉、變異操作能夠促使算法跳出局部最優(yōu)解,并利用禁忌列表跳過(guò)已搜索的點(diǎn),減少了網(wǎng)絡(luò)評(píng)估次數(shù)和計(jì)算量,可提高超參數(shù)優(yōu)化的收斂速度。
實(shí)驗(yàn)是在裝有NVIDIA RTX2060圖形處理器和Intel Core i7 CPU的計(jì)算機(jī)上進(jìn)行。軟件平臺(tái)基于Python 3語(yǔ)言和TensorFlow框架實(shí)現(xiàn)。
在檢測(cè)實(shí)驗(yàn)中,選用識(shí)別率、馬修相關(guān)系數(shù)、F1Score等3個(gè)評(píng)價(jià)指標(biāo)[7,23]。
(1) 識(shí)別率體現(xiàn)了算法的分類識(shí)別的精度。其計(jì)算公式為
(2)
式中:TP和TN分別為正確檢出的同一肺炎類型和不同肺炎類型的數(shù)量;FN和FP分別是被誤檢的同一肺炎類型和不同肺炎類型的數(shù)量。
(2) 馬修相關(guān)系數(shù)是更全面的評(píng)價(jià)指標(biāo),體現(xiàn)了算法的可靠性,在類別數(shù)不同時(shí)認(rèn)為是平衡的措施,取值范圍在[-1,1],當(dāng)FN和FP均為0時(shí),MCC取值為1,即分類完全正確。當(dāng)TP和TN均為0時(shí),MCC取值為-1,即分類完全錯(cuò)誤。其計(jì)算公式如下:
(3)
(3) F1Score綜合識(shí)別率和召回率兩方面,認(rèn)為是加權(quán)平均的評(píng)價(jià)指標(biāo),取值范圍為[0,1],值越接近1,準(zhǔn)確率越高,其計(jì)算公式如下:
(4)
表4展示了3種深度結(jié)構(gòu)的實(shí)驗(yàn)對(duì)比結(jié)果,每組實(shí)驗(yàn)結(jié)果是3折交叉驗(yàn)證的平均值。這實(shí)驗(yàn)結(jié)果表明:具有2層深度的CNN模型的識(shí)別精度比1層和3層深度的CNN模型分別提高了2.19%和0.34%。在MCC和F1Score方面上,2層深度的CNN模型相對(duì)其他結(jié)構(gòu)均表現(xiàn)最佳的性能值。然而,具有3層深度的CNN模型的識(shí)別精度是86.96%,相對(duì)于2層深度的CNN模型而言,其性能明顯降低了。隨著網(wǎng)絡(luò)層數(shù)的增加,網(wǎng)絡(luò)模型的訓(xùn)練難度加大,致使3層深度的CNN模型出現(xiàn)退化。因此本文選取2層深度的CNN模型。
表4 CNN模型試驗(yàn)結(jié)果Tab.4 Experimental results of CNN model (%)
為驗(yàn)證所提出的優(yōu)化后的CNN模型的有效性,分別采用隨機(jī)搜索算法、網(wǎng)格搜索算法、貝葉斯優(yōu)化算法和遺傳算法分別對(duì)CNN的超參數(shù)進(jìn)行迭代尋優(yōu),見(jiàn)圖8,并在肺炎CT圖像數(shù)據(jù)集上運(yùn)行。圖8展示了算法單次運(yùn)行過(guò)程中產(chǎn)生的驗(yàn)證誤差。每種算法均進(jìn)行1 100次搜索迭代對(duì)卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)進(jìn)行搜索尋優(yōu)。禁忌遺傳-CNN相對(duì)于前4種模型,在在少于200次的搜索次數(shù)就已獲取最小的平均驗(yàn)證誤差,并獲得最佳超參數(shù)組合方案,見(jiàn)圖8(e),結(jié)果表明:禁忌遺傳-CNN較好地提高了遺傳算法的優(yōu)化性能。貝葉斯優(yōu)化-CNN的性能僅次于禁忌遺傳-CNN,而對(duì)于隨機(jī)搜索算法和網(wǎng)格搜索算法的搜索能力較差,使用禁忌遺傳方法微調(diào)的CNN能夠執(zhí)行自動(dòng)超參數(shù)優(yōu)化的研究獲得更具有競(jìng)爭(zhēng)性分類結(jié)果。
圖8 5種算法的迭代尋優(yōu)結(jié)果。Fig.8 Iterative optimization results of five algorithms
為了進(jìn)一步說(shuō)明禁忌遺傳-CNN模型的可行性,與經(jīng)典的方法進(jìn)行了對(duì)比驗(yàn)證。圖9展示了5種模型的受試者操作特征曲線(receiver operating characteristic,ROC)曲線,禁忌遺傳-CNN模型比其他4種算法,其ROC曲線覆蓋面積更大。因此,禁忌遺傳-CNN在識(shí)別肺炎種類方面優(yōu)于其他4種算法。禁忌遺傳-CNN模型的識(shí)別精度、MCC和F1Score分別為93.89%,96.05%和93.44%,實(shí)驗(yàn)結(jié)果表明:相比于其他4種算法,禁忌遺傳-CNN模型具有更好的檢測(cè)性能,如表5所示。與遺傳算法-CNN模型相比,禁忌遺傳-CNN的識(shí)別精度提高了6.26%,禁忌遺傳-CNN模型計(jì)算產(chǎn)生的權(quán)重參數(shù)量減少了15.7×106。與其他3種方法的最佳精度相比,M-CNN模型的識(shí)別精度提高了7.13%。在識(shí)別精度上,貝葉斯優(yōu)化-CNN模型僅次于禁忌遺傳-CNN模型。因此,禁忌遺傳-CNN在識(shí)別新冠肺炎方面優(yōu)于其他4種算法。禁忌遺傳算法可提高網(wǎng)絡(luò)的準(zhǔn)確率。當(dāng)同時(shí)考慮這些網(wǎng)絡(luò)的規(guī)模時(shí),所提出的方法產(chǎn)生的卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于其他方法,特別是在快速訓(xùn)練與精度同等重要的情況下,該方法可作為首選。
圖9 5種模型實(shí)驗(yàn)結(jié)果的ROC曲線Fig.9 ROC curve experimental results of five models
表5 肺炎檢測(cè)實(shí)驗(yàn)結(jié)果Tab.5 Experimental results of pneumonia detection
針對(duì)新冠肺炎與普通肺炎的區(qū)分問(wèn)題,本文提出了一種基于CT圖像卷積神經(jīng)網(wǎng)絡(luò)處理的新冠肺炎檢測(cè)算法。通過(guò)搭建卷積神經(jīng)網(wǎng)絡(luò)模型,調(diào)整網(wǎng)絡(luò)深度以獲取最佳的網(wǎng)絡(luò)結(jié)構(gòu)。采用禁忌遺傳算法對(duì)超參數(shù)進(jìn)行優(yōu)化的網(wǎng)絡(luò)模型能夠獲得與其他優(yōu)化模型相競(jìng)爭(zhēng)的分類結(jié)果。實(shí)驗(yàn)結(jié)果表明:本文方法能夠有效地檢測(cè)出新冠肺炎和普通肺炎,檢測(cè)的準(zhǔn)確率、MCC值和F1Score值分別為93.89%,93.32%和91.40%。相比于其他方法具有更高的檢測(cè)精度和更強(qiáng)的泛化能力。由于工作存在以下局限性:1) 所收集的CT圖像數(shù)據(jù)集可能不代表其他地理區(qū)域的肺炎患者;2) 基于深度學(xué)習(xí)的方法需要在更加廣泛的數(shù)據(jù)集上進(jìn)一步驗(yàn)證。因此在未來(lái)的工作中,將使用遷移學(xué)習(xí)來(lái)提高模型對(duì)不同地理區(qū)域肺炎患者的泛化性,并通過(guò)深度學(xué)習(xí)方法對(duì)病理區(qū)域進(jìn)行自動(dòng)分割,以量化肺炎的嚴(yán)重程度。