張曉東,孫兆男,任昕,周宇,周雯,李建輝,謝輝輝,劉婧,張雖雖,李津書,王霄英

表1 CXR二分類模型研發數據篩選方法
注:*0=無發現;1=有發現
胸部X線片(chest X-ray,CXR)是診斷呼吸系統疾病的重要影像檢查方法,在醫學影像科日常工作中占很大比例。使用CXR進行檢查的臨床場景包括門診檢查、術前常規檢查、健康體檢、急診檢查等[1];在前三種情況下,CXR結果多數為正常,影像檢查的任務是檢出少數的異常者,再做進一步處理(如行胸部CT檢查等)。近年來人工智能(artificial intelligence,AI)領域的技術開始應用于CXR的質控、圖像分割和診斷等工作[2-6],初步結果認為在適應證明確的情況下,AI對完成影像檢查任務是有幫助的。本研究擬使用深度學習方法研發影像輔助診斷工具,對門診、術前常規和體檢人群的CXR進行“無發現”、“有發現”的分類(以下簡稱二分類),以提高醫學影像科醫師的工作效率。
本研究獲得了本院倫理審查委員會的批準,按照本單位AI項目研發規范開展研究工作。
根據本單位AI項目管理方法,首先定義研發CXR二分類AI模型的用例(Use Case)[7],包括以下內容:CXR二分類AI模型的ID、臨床問題、場景描述、模型在實際工作中的調用流程、模型輸入輸出數據結構等。AI模型返回結果定義為“無發現”和“有發現”兩類。“無發現”的定義:CXR上未見應寫入報告的影像發現,診斷印象為兩肺心膈未見異常。“有發現”的定義:CXR上有需要在報告中提及的任何影像所見,包括(但不限于)胸壁、肺、縱隔、橫膈、上腹部的影像所見,診斷印象中提及了一種以上的影像所見。
回顧性收集CXR數據建立二分類模型研發隊列。從本院PACS系統中檢索2017年7月1日至2018年7月1日的連續資料,由2位住院醫師根據登記信息、設備信息、影像報告和CXR圖像進行篩選,再由1位高年資醫師再次讀片,對圖像進行最終分類(表1)。
經過數據篩選建立研究隊列,獲得“無發現”患者的CXR圖像共9765幅,“有發現”患者的CXR圖像共9956幅。以患者為單位隨機分為訓練集(training dataset,70%)、調優集(validation dataset,20%)和測試集(testing dataset,10%),各個數據集中的患者信息是不同的,具體見表2。

表2 CXR二分類模型訓練過程中的數據分配 (例)
CXR二分類模型輸入圖像大小為512×512,模型輸出為“無發現”、“有發現”二分類概率,并可通過Grad-CAM方法得到該模型的激活熱圖。
模型訓練的初始權重來源于ImageNet預訓練ResNet152模型[8]。圖像預處理部分包括以下步驟:原始圖像大小縮放至512×512, 并對圖像像素值按照ImageNet數據集的均值和方差進行歸一化處理。擴增方法:隨機旋轉、縮放、平移等。

圖1 基于ResNet152基礎架構并結合Grad-CAM的CXR二分類模型訓練過程。 圖2 CXR二分類模型在測試集中的混淆矩陣。 圖3 CXR二分類模型在測試集中的ROC曲線。
在NVIDIA GPU(P100,Nvidia Corporation,Santa Clara,CA)上利用Pytorch (https://pytorch.org/) 深度學習Python庫,在本院收集整理的臨床患者CXR圖像數據集上進行開發和訓練。
二分類模型基于152層的卷積神經網絡模型,以Resnet為卷積神經網絡(convolutional neural network,CNN)深度學習模型的基礎架構[9],結合梯度類別激活圖(gradient class activation maps,Grad-CAM)方法[10],建立可以同時顯示分類結果及激活熱圖的CXR二分類模型(圖1)。
訓練和調優分別在訓練集和調優集數據上進行,訓練好的模型在測試集上驗證。用測試集的混淆矩陣(confusion matrix)評價二分類模型的效能,得到將CXR分為“無發現”與“有發現”的精確度(precision)、召回率(recall)、F1-分數(F1-score)及受試者工作特征(receiver operating characteristic,ROC)曲線的曲線下面積。將CXR二分類模型預測結果返回到結構化報告中,以保證AI模型在臨床工作流程中的可用性。
CXR二分類模型對測試集數據預測的混淆矩陣(圖2)顯示,分類的精確度、召回率和F1-分數均較高(表3), ROC曲線下面積均為0.96(圖3)。在測試集1018個“有發現”的病例中,模型正確識別了其中914個,有104個未被識別出來;995個“無發現”的病例中,模型正確識別了其中876個,其中119個被誤認為“有發現”。以“有發現”為陽性,模型的假陰性率為10.6%,假陽性率為11.5%。經與影像專家的讀片結果進行對照,發現假陰性者的主要“發現”種類為:少量纖維索條影、小范圍鈣化、心臟輪廓稍飽滿、主動脈結輕度突出、肺門影稍重、肺紋理輕度增多、肋骨變異等。

表3 CXR二分類模型在測試集中的分類效能
CXR二分類模型返回了激活圖(圖4~6),可以看到圖像中的病灶區域與預測為“有發現”的激活區域基本吻合,而如果將該圖像預測為正常的話,其激活高亮區域大部分散在分布,與解剖學上的特征區域沒有相關性。
根據用例設計要求,將CXR二分類模型結果直接返回到結構化報告中,生成相應的結果。對分類是“無發現”的,直接生成“正常”報告,包括常規影像表現和診斷印象,不返回激活圖。對分類是“有發現”的,激活“異常”控件,并返回激活圖(圖7)。
胸部X線檢查是呼吸系統疾病重要的影像檢查方法之一,是醫學影像科工作中最常見的臨床任務。在綜合性醫院,大多數常規體檢和呼吸系統疾病篩查均首選CXR[11],且在這些診斷任務中相當多的影像診斷結果是“無發現”。使用輔助診斷軟件將“有發現”與“無發現”分開,可提高醫生的工作效率,有利于工作流程的優化。值得注意的是,本研究中此模型召回率和F1值不足0.9,將面臨著10%左右的漏診率和誤診率,尤其是漏診將給臨床應用價值帶來較大影響。經與影像專家的讀片結果進行對比,發現漏診的情況主要集中于輕微影像改變,對臨床結局影響不大,所以仍需在工作中持續改進。當前的改進方法是將在實際工作中發現的預測錯誤的數據持續性收集、整理、標注,用于模型的進一步訓練,以實現模型的持續迭代。另一方面,將患者入組人群進一步細分,統一專家診斷標準,都有可能提高模型的準確率。

圖4 心衰合并右肺病變及胸腔積液,CXR二分類預測結果為“有發現”。a)CXR原圖;b)“有發現”的激活圖,高亮區域為縱隔、心尖、右下肺,與影像征象異常的區域基本吻合;c)預測結果如果是“無發現”,則激活區域在肺外以及脊柱區域,與圖像的關鍵解剖位置不相關。 圖5 主動脈增寬,CXR二分類預測結果為“有發現”。a)CXR原圖;b)“有發現”的激活圖,高亮區域為中縱隔主動脈區域,與影像征象異常的區域基本吻合;c)預測結果如果是“無發現”,則激活區域散在分布于整個圖像中,與圖像的關鍵解剖位置不相關。 圖6 深靜脈置管,雙側胸腔積液,肺內散在小片滲出,CXR二分類預測結果為“有發現”。a)CXR原圖;b)“有發現”的激活圖,高亮區域為深靜脈置管、雙下胸部和左上肺,與影像征象異常的區域基本吻合;c)預測結果如果是“無發現”,則激活區域散在分布于整個圖像中,無特殊規律,與圖像的關鍵解剖位置不相關。
本研究結果顯示,深度學習模型可以用于CXR的輔助診斷,這與既往研究結果相似[12,13]。對于醫學圖像的分類問題,模型的可解釋性非常重要,有利于對模型分類結果的準確性評估。近年來,相關學者對于深度卷積神經網絡模型的可解釋性做了很多探索,其中CAM方法是對不同類別的卷積層生成的特征圖加權求和而得到激活熱圖,通過該激活熱圖可以對模型分類的結果進行解釋[14]。Grad-CAM是CAM技術的擴展,可以適用于任何CNN架構。本研究中CXR二分類模型利用Grad-CAM來生成分類激活熱圖,在該熱圖上可以展示輸入圖像中的哪些區域對于得到該分類結果是重要的激活區域。
本研究的數據篩選過程是由醫生回顧性讀片完成的。對于大樣本模型訓練,多是從報告中用自然語言處理(natural language processing,NLP)方法提取信息[15,16],優點是處理大量影像數據時可節省醫生時間,但報告內容常欠規范,不完整,因些需要大量的數據,即便是大量數據其準確性仍欠佳[17]。本研究由影像醫生進行數據篩選,且由高年資醫生再次回顧性閱片確定圖像分類,雖然在數據清洗過程中人力成本較高,但結果較好,用不太多的數據訓練得到的模型,準確性仍很高[18]。
AI模型研發和泛化過程中應考慮技術問題[19]。本研究CXR二分類模型訓練過程中未對設備進行篩選,使用了連續數據。CXR圖像來自本單位在實際臨床工作中使用的多種DR設備,由不同技師完成攝片工作,未根據設備、人員進行分組。本研究結果證明了不同DR設備、不同技師采集的圖像均可用于模型的訓練,且無論來源于何種DR設備的圖像,其驗證集數據的分類預測均達到較好的結果。胸部X線檢查有明確的技術規范,經過常規培訓的技師都可按照規范完成日常工作,操作一致性強;且現代DR設備有自動曝光功能,可自動設置最佳投照條件并調整圖像的窗水平,因此圖像預處理難度不大,可適用于多種AI模型的訓練[19]。由于常規CXR基本可以保證圖像質量,來源于不同設備的圖像性質差別不大,從這個角度考慮,在CXR二分類模型泛化過程中,沒有圖像采集技術上的風險。

圖7 CXR二分類模型與結構化報告整合的流程。
從實際場景出發設定AI研發目標,是項目設計的關鍵問題,決定了模型臨床應用的適用性[20]。本研究CXR二分類模型訓練過程中定義的分類輸出結果為“無發現”和“有發現”。在最初的用例設計中,擬將返回的二分類值定義為 “正常”和“異常”,但在實際建立隊列過程中,發現“肺心膈正常”并不是“正常”。在“肺心膈正常”時,圖像中如存在有臨床意義的其他征象,也需要報告出來;如“單側乳腺切除術后,胸壁軟組織缺失,兩肺心膈未見異常”,再如“PICC置入術后,兩肺心膈未見異常”等,這些術后改變、置入物等信息,都是CXR檢查應發現并報告給臨床醫生的。因此,為了提高模型訓練效率,本研究中將“肺心膈正常”且不合并其他任何需報告的情況歸為“無發現”;將有疾病影像表現,或“肺心膈正常但合并其它有臨床意義的所見”情況歸為“有發現”。
AI臨床應用的一個基本要求是與臨床流程整合。在符合法規、倫理的框架下,國內外技術人員做過很多探索[21],均認為把AI模型作為獨立第三方軟件使用的形式不是最優解。筆者認為將AI結果直接返回到臨床實際使用的結構化報告,是較好的解決方案[22]。為了提高臨床工作效率,在將CXR二分類結果返回到報告時,如果模型預測結果為“無發現”,則激活“兩肺心膈未見異常”的報告內容,此時報告是完全自動生成的。如果模型預測結果為“有發現”,則在報告中激活的是“異常”控件,需要醫生進一步對異常進行描述,這時報告是半自動生成的。本單位臨床實際工作中CXR“無發現”的情況較常見,占到工作量的一半以上,因此如將CXR二分類模型接入報告,在分類準確率足夠高時,能明顯提高臨床工作效率。而且由模型返回結果自動生成的報告,語言規范、結構清晰,對未來提取報告信息做其他研究分析也有利[23]。
本研究的局限性:①CXR二分類模型在“有發現”情況下提供的信息不是具體疾病,臨床價值受限,仍需進一步優化,訓練用于多種疾病診斷的CXR多分類AI模型[3],針對不同體位[2]、不同年齡、不同申請目的時對多種常見疾病做出診斷[24,25];②模型研發后應在實際臨床工作中進行驗證,開展前瞻性、隨機對照臨床試驗,證明使用AI模型的臨床獲益;③CXR 二分類模型在本單位經過驗證后,應嘗試將其泛化[26],應用于不同醫療機構、不同臨床場景下,進一步提高其適用性。
綜上所述,使用深度學習模型可對X線胸片做出“無發現”與“有發現”的分類診斷,在常規臨床工作中使用模型分檢病例,有利于提高醫學影像科的工作效率。
致謝:感謝北京賽邁特銳醫學科技有限公司張欣靜、郭嘉欣在數據整理工作中的貢獻。