陳璐 趙宇涵 李偉峰 李鑫 王淑祎



摘? 要: 研究開發了基于深度學習的智能中醫輔助診療系統。通過人工智能技術將名老中醫的診療思想、辨證邏輯和處方經驗結合,設計“三級證型優先級”算法,創新了傳統的中醫問診模式。例如采用深度學習CenterNet和EfficientNetV2神經網絡模型,有效抽取出患者舌體圖像與病例的舌色、苔色等特征信息進行智能舌診,實現中醫診斷的客觀化、智能化,幫助普通醫師提升診療能力。
關鍵詞: 中醫辨治; 深度學習; 證型優先級; 智能舌診
中圖分類號:TP3? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)04-72-04
Abstract: In this paper, we develop an intelligent TCM auxiliary diagnosis and treatment system based on deep learning. Through artificial intelligence technology, it combines the diagnosis and treatment thinking, syndrome differentiation logic and prescription experience of well-known old TCM practitioners to design a "three-level syndrome priority" algorithm, which innovates the TCM consultation mode. The deep learning CenterNet and EfficientNetV2 neural network models are used to effectively extract the patient's tongue image and the case's tongue color, coating color and other characteristic information for intelligent tongue diagnosis, so as to realize the objectification and intelligence of TCM diagnosis and help general physicians improve diagnosis and treatment capabilities.
Key words: TCM differentiation and treatment; deep learning; priority of syndrome types; intelligent tongue diagnosis
0 引言
中醫藥在辯證診療方面的作用值得挖掘。目前已有的“中醫輔助診療系統”主要存在以下的問題[1]:
⑴ 缺乏創新性:僅針對少量疾病開發一些基于傳統理論、功能有限的小系統,沒有運用人工智能新理論、新方法和新技術,所以很難擁有較大應用價值。
⑵ 實用性較差:研究多以中醫診斷專家系統為主,對于半結構化和非結構化診療知識無法很好的表示,沒有很好實現中醫專家知識的自動獲取和學習,存在知識獲取瓶頸。未充分體現系統的“學習”能力和“適應”能力,無法適用于千變萬化的臨床醫療。
⑶ 相似軟件產品較少:目前已經有多款在線診斷APP上線,但絕大部分均采用即時通訊的方式通過醫生和患者的溝通交流來實現診斷,未能實現用戶自助辨證診療[2]。
針對以上問題,我們將傳統中醫的問診、舌診經驗方法與深度學習計算機技術相結合,研發一款智能中醫輔助診療系統,創建線上自助辨證診療新模式,為用戶提供近百種常見疾病的辨證及中醫藥推薦服務,做到真正的便民惠民。
1 系統設計
1.1 系統總體架構設計
基于深度學習的智能中醫輔助診療系統,為緩解中醫資源緊張、方便用戶自主辯證、購藥而研發設計。整個系統包括以中醫智能辯證為核心的C端(客戶端)微信小程序以及為醫生等管理人員設計的醫療信息管理平臺。系統總體架構如圖1所示。
萬義中醫小程序依托龐大的中醫資料庫,整合中醫院近五年的常見病例、近百種常見病的診療方案,研究中醫辯證診斷流程,整理、分析、存儲大量中醫數據,應用人工智能算法,構建跨平臺、通用性的中醫辯證系統。小程序模擬中醫的問診、舌診兩種方式對病癥進行診斷。通過給出不同科室常見病癥的癥狀問卷,模擬中醫問診過程,根據用戶填寫的問卷對應癥狀,運用“三級證型優先匹配”算法進行證型匹配;用戶可選擇繼續進行智能舌診,拍攝上傳舌像,后端接口應用深度學習算法對舌色、苔色、裂紋等舌象特征進行辨識,結合問診舌診結果得出最優診斷。根據病癥診斷結果,給出對應的推薦藥物、中醫外治療法、食療方法及病項忌口,小程序實現了三百種病癥的診斷方案,給出了近千種藥物推薦和外治療法方案,為用戶自助診療提供可靠依據。
醫療信息管理系統是為方便專家、醫生等管理員來對病癥、藥物等數據信息進行后臺管理和維護設計。指定權限的用戶(比如中醫專家)可以使用特定的賬號登錄系統查看、更新問卷、病癥、藥物、藥物成分等信息,實現醫療信息維護。
為了保證整個系統運行穩定,小程序和醫療信息管理系統都是運行在聯通沃云服務器上,采用Koa+Node/Go+Nginx+MongoDB的框架結構自建服務,構成一個完整的C/S架構系統。
1.2 中醫智能辯證系統
中醫智能辯證系統(ISRS)是整個診療系統的核心,其技術棧涉及粒子群優化(PSO)、深度學習(CenterNet、EfficientNetV2)、信息量化與合參匹配等。ISRS包括智能問診系統(IDS)、智能舌診系統(TDS)和智能推薦系統(RS)三個子系統。
問診是中醫臨床診斷中最重要的一個診斷方式。在這里我們首創性地提出了“證型優先級”概念,使得系統可以根據用戶的癥狀來反向推測出其病癥。同時,在系統中設計并部署了“三級證型優先體系”進行病癥診斷,之后引入了粒子群優化算法(PSO)來改善整個系統的時間開銷。
舌診是中醫診斷的另一個不可缺少的診斷方式。我們將時下火熱且發展迅速的深度學習算法用于智能舌診。首先,采集大量舌像數據,應用CenterNet目標檢測模型和Opencv的圖像處理技術進行舌像區域裁剪,然后使用高效的EfficientNetV2目標分類模型進行多種舌像特征的提取和分類,得到舌像辨識的診斷結果。問診和舌診結果進行合參后送入智能推薦系統(RS)給出不同的治療方案。ISRS的功能及工作流程如圖2所示。
2 問診子系統(IDS)
2.1 “三級證型優先級”匹配
在問診過程中,用戶填寫一個病癥的問卷,不同的問題會對應不同重要程度的癥狀,對于每一個病癥都有其典型的癥狀表現和非典型癥狀,為了更準確地判斷用戶病癥,我們根據每個病癥對應癥狀的優先級,提出“三級證型優先級”匹配算法。每個證型都設置對應的惟一的“第一優先級癥狀”和“第二優先級癥狀”,以及多個“三級優先級癥狀”[3]。證型關系圖如圖3所示。
用戶填寫完問卷后,系統會根據每個問卷題目的選擇結果得出對應病癥的一優癥狀集合A、二優癥狀集合B和三優癥狀集合C。
系統獲取用戶的問卷后,首先獲取到用戶選擇的所有癥狀的集合,再對癥狀集合進行遍歷,分別獲取到癥狀集合中第一優先級癥狀所對應的證型集合A、第二優先級癥狀所對應的證型集合B、第三優先級癥狀所對應的證型的集合C。
⑴ 如果集合A中只有一個元素,則此元素(證型)即為結果;
⑵ 如果集合A中存在著多個元素,則令A′= A,如果A = ?,則令A′= U(U為全部證型的集合);再令K = A′∩ B。
① 如果K中只有一個元素,則此元素(證型)即為結果;
② 如果集合K中有多個證型,則令K′= K;如果K=?,此時定有B=?,則令K′=A′;
再令V = K′∩ C;
如果V中只有一個元素,則此元素(證型)即為結果;
如果V有兩個及以上的元素(K′不為?),則K′中第一個元素(證型,此順序為計算機中的存儲順序)即為結果。
三級證型的主要集合關系如圖4所示(所有集合均非空時)。
2.2 粒子群優化(PSO)
考慮到隨著系統訪問量不斷增多,后臺數據量會不斷增加,為了防止數據量暴增時系統的時間開銷過大,所以使用了粒子群算法對診斷過程做了優化。
項目中的粒子群算法應用:因為目前數據量較小,所以選取了20個粒子迭代20次。
評估函數:在用戶填寫完問卷之后,系統會根據用戶填寫的問卷,對該疾病下粒子所覆蓋的證型進行評估。
具體評估過程為:首先向評估函數中傳入一個參數,即證型對象,然后初始化評估值為0,如果問卷中出現了該證型對象的一優癥狀,則評估值自增1000,如果出現了二優癥狀則評估值自增500,如果出現了三優癥狀則評估值自增1。最終將評估值返回。
終止條件:如果達到了最大迭代次數(20)或者有證型的評估值達到1500(即≥1500)則迭代終止。
在達到最大迭代次數終止時:診斷結果為評估值最高的證型。
在有證型評估值達到1500終止時:診斷結果為該評估值達到1500的證型。
3 舌診子系統
3.1 舌診背景與算法概述
舌診是中醫通過觀察舌體、舌質、舌苔、舌下絡脈等舌象特征來判斷人體健康狀況的一種方法,是中醫臨床診斷過程中的主要依據之一[4]。舌的變化能快速敏感地反映出人體機能的變化,但是,傳統的舌診非常依賴于中醫醫師的知識水平和診斷技能,具有很強的主觀依賴性。另外,舌診醫師只是通過純粹的文字敘述來記錄病癥,導致珍貴的診斷經驗和舌象資料難以得到精確的記錄和保存,這極大影響了中醫醫師們之間的學術交流,也在一定程度上阻礙了中醫理論的傳承和發展。隨著現代科學技術的飛速發展,可以將現代計算機技術與傳統中醫理論相結合,實現計算機輔助舌診。計算機輔助舌診通過采集數字化的舌體部位圖像,經過計算機深度學習及圖像處理技術,將舌體分割出來,使用算法模型識別舌象特征并提供描述特征的客觀指標,同時建立中醫舌診理論數據庫對舌象進行綜合判讀,給出病理特征的描述及診斷[5]。計算機輔助舌診是排除了環境、人為干擾等條件差異的標準化舌象觀察及診斷分析,減少了傳統舌診的主觀性,同時又提高了舌診的臨床應用價值,使其更加科學化、客觀化、具體化。舌診整體流程如圖5所示。
3.2 舌像采集與分割
計算機輔助舌診的首要步驟是采集舌象。中醫舌像數據集數據量較少,獲取難度高,目前基本沒有公開的舌像數據集,需要實地采集,一般需要在密閉、光照穩定且固定的采集環境下,利用手機、數碼相機等設備拍攝舌部圖像。部分臨床采集數據如圖6所示。
在開放環境下拍攝舌部圖像易受光源色溫、光線強弱、拍攝角度等不確定性因素的影響,導致圖像中舌體區域的顏色失真、面積過小等問題,因此,首先需要對采集的原始圖片數據進行人工篩選,剔除模糊及各種不符合要求的數據,最終保留2000張圖片作為舌診數據集。由于采集的舌圖像通常包含牙齒、嘴唇、臉部等冗余背景,對后期計算機提取特征、自動分析影響極大。因此,計算機輔助舌診的第一步即關鍵的一步,就是去除干擾背景,將可分析的舌像分割出來[6]。
舌像分割過程分為兩步,首先,把采集的原始圖片的舌像區域進行標注,獲得xml文件,作為真實值(ground truth)標簽文件,通過目標檢測網絡訓練調優,獲得高準確率的檢測模型,對所有的原始圖片完成舌像區域定位;然后,使用圖像處理科學庫Opencv,完成舌像區域的裁剪并保存,生成舌像數據集用于后續的舌像特征識別。
通過調研并綜合比較多種現有的深度學習目標檢測模型,最終使用CenterNet作為舌像區域定位網絡模型。CenterNet是一個單階段的關鍵點檢測模型,以目標的中心點作為關鍵點進行預測,用熱力圖預測目標種類并回歸得到目標的寬高信息[7]。相比于其他大多數基于anchor的單階段檢測模型,基于關鍵點的檢測能夠避免大量冗余檢測框的生成,減少參數量,降低計算成本,提高檢測速度。由于我們只對原始圖片檢測舌像一種目標,且一張圖片只有一個舌像目標,因此,CenterNet網絡模型可以在提升檢測速度同時擁有較高的檢測準確率。舌像分割過程如圖7所示。
3.3 舌像特征識別
通過深度學習卷積神經網絡實現舌像特征分類任務,需要大量的數據進行訓練,如果訓練集的數據過少,容易導致過擬合。為了避免舌像數據集圖片數量較少、不同類數據不平衡導致模型過擬合問題,因此,我們使用翻轉、旋轉、縮放等數據增強技術,將圖片數量增加到8000張,以擴充數據集,提高模型預測精度。舌像數據增強如圖8所示。
進行舌像特征識別時,使用EfficientNetV2的目標分類模型來提取舌體圖像的特征信息并進行分類辨識[8]。EfficientNetV2是2021年最新發布的深度學習分類模型,該模型可以同時關注訓練速度和參數數量,并且具有較高的預測準確率[9]。EfficientNetV2除了使用MBConv模塊外,還在網絡淺層使用Fused-MBConv模塊;在進行膨脹卷積操作時,使用較小的膨脹率(expansion ratio),來減少內存訪問開銷;普通卷積操作使用3×3大小的卷積核,減少參數量,提高模型訓練和推理速度。MBConv和Fused-MBConv的結構如圖9所示。
在訓練EfficientNetV2網絡前,將數據增強后的八千張圖片進行劃分,80%用于模型訓練,20%用于驗證分類效果。在訓練時,我們使用適應性矩估計(Adam)作為優化器,來代替原有的隨機梯度下降(SGD)算法,Adam 通過計算梯度的一階矩估計和二階矩估計而為不同的參數設計獨立的自適應性學習率,使模型更快收斂。模型訓練時,設置batch size為32,學習率為0.001。
使用EfficientNetV2網絡模型,分別對舌色、苔色、苔質、裂紋、齒痕、舌形六大特征進行分類辨識。通過對模型進行訓練和調優,最終,舌色特征辨識準確度可達98.4%,苔色97.5%,苔質92.5%,裂紋95.1%,齒痕94.7%,舌形92.3%。同時,我們將EfficientNetV2網絡模型與VGG16模型在舌像分類任務上進行對比,EfficientNetV2的特征分類準確率遠遠高于VGG16。舌色特征的對比結果如圖10所示,六大舌象特征的可視化預測結果如圖11所示。
4 總結
系統以中醫智能辯證為核心,模擬中醫臨床診斷中的問診、舌診方法,實現病癥的自主診斷,給用戶就醫帶來極大便利,同時緩解了醫院的就診壓力[10]。系統創新性地提出“三級證型優先級”匹配算法,使疾病辯證過程更加客觀化、科學化,將傳統的中醫診療方法與深度學習目標檢測和目標識別技術相結合,使系統具備了“學習”能力和“適應”能力,并為人工智能在中醫藥領域的應用和研究提供一種可行的方法。該系統探索研究中醫診療新模式,將人工智能技術應用于中醫藥行業,推動中醫智能化、信息化發展,給用戶帶來便利的同時,弘揚中醫藥文化,真正將智慧醫療產品落地應用。
參考文獻(References):
[1] 張德政,哈爽,劉欣,等.中醫藥領域人工智能的研究與發展[J].情報工程,2018(1):81-83
[2] 蔡 靚,蔡欣玲,沈佳瑩,等.基于手機 APP 的中醫移動健康管理平臺探索[J].中國中醫藥圖書情報雜志,2016,40(3):20-22
[3] 張萬義,張千,石趙雁,等.基于中醫辨證的智能中成藥推薦系統[J].智慧健康,2020,6(31):5-9
[4] 侯軍.基于深度學習的中醫舌象診斷研究[D].工學碩士,北京:北京理工大學,2018
[5] 劉夢,王曦廷,周璐,等.基于深度學習與遷移學習的中醫舌象提取識別研究[J].中醫雜志,2019,60(10):835-840
[6] 鐘振.基于深度學習的中醫舌像分割與識別實驗研究[D].醫學碩士,福建:福建中醫藥大學,2021
[7] 許延雷,梁繼然,董國軍,等.基于改進CenterNet的航拍圖像目標檢測算法[J].激光與光電子學進展,2021,58(20):192-201
[8] 謝佳澄.深度學習在中醫舌象分類中的應用與實踐[D].工程碩士,吉林:吉林大學,2019
[9] Tan M X, Le Q V. EfficientNetV2: smaller modelsand faster training[EB/OL].(2021-06-23)[2021-08-13].https://arxiv.org/abs/2104.00298
[10] 張千,方麗華,張萬義,等.智能自助中醫辨證與中成藥推薦系統設計與實現[J].智慧健康,2018,4(34):7-10
*基金項目:中央高校基本科研業務專項基金-面向糖尿病大數據的自動化機器學習(18CX02019A); 全國高校大學生創新創業訓練項目-智能自助中醫藥推薦系統(S202010425015); 全國高校大學生創新創業訓練項目-基于深度學習的中醫智能輔助診療系統(S202109104500)
作者簡介:陳璐(1999-),女,山東德州人,碩士,主要研究方向:計算機視覺、智慧醫療。