本發(fā)明涉及中醫(yī)輔助診斷與治療,尤其涉及一種基于ai大模型的智能中醫(yī)診斷系統(tǒng)。
背景技術:
1、中醫(yī)通過“望聞問切”四診的信息,對病人的氣血的盛衰、寒熱虛實等生理狀況有一個全局的把握,歸納得出病情,然后利用中藥、針灸、推拿按摩、拔罐療法、食療等多種治療手段,從整體上對病人進行療愈。
2、隨著信息技術的發(fā)展,中醫(yī)診斷逐漸和信息技術進行結合。遠程醫(yī)療診斷模式讓醫(yī)生和患者之間不再需要線下進行交流,極大便利了中醫(yī)診斷;基于人工智能的中醫(yī)診斷數(shù)據(jù)分析系統(tǒng),通過診斷映射模型,把疑似疾病組合發(fā)送給醫(yī)生復核;基于深度學習的智能中醫(yī)診斷系統(tǒng)結合了四診的信息,利用卷積神經(jīng)網(wǎng)絡深度學習技術訓練模型進行預訓練,與本地知識庫和病例進行匹配,精準地定位了患者的病情。然而目前與中醫(yī)診斷結合的信息技術存在局限性,本地中醫(yī)知識庫的數(shù)量受到限制,導致病情可能無法覆蓋所有患者的情況,同時,生成的病情診斷和相應的治療方案是通過匹配已有的病例而生成的,結果較為單一,且缺乏針對性。
3、目前的ai大模型技術利用transformer的解碼器,擅于生成針對性的語言描述,同時,通過模型微調(diào),以本地知識庫作為模型微調(diào)的數(shù)據(jù)集,可以生成相應的專有大模型,對于學到的知識可以相互聯(lián)通,提高診斷的準確性,同時也能定制化輸出的診斷,恰好彌補了目前與信息技術結合的中醫(yī)診斷系統(tǒng)的缺陷。
4、因此,有必要開發(fā)一種基于ai大模型的智能中醫(yī)診斷系統(tǒng)來彌補目前診斷系統(tǒng)存在的不足。
技術實現(xiàn)思路
1、本發(fā)明要解決的技術問題是針對上述現(xiàn)有技術的不足,提供一種基于ai大模型的智能中醫(yī)診斷系統(tǒng)。
2、為解決上述技術問題,本發(fā)明所采取的技術方案是:
3、一種基于ai大模型的智能中醫(yī)診斷系統(tǒng),包括信息收集模塊、數(shù)據(jù)處理模塊、生成診斷模塊和中醫(yī)專有大模型診斷模塊;
4、信息收集模塊通過面部識別、舌象記錄、患者自述和中醫(yī)切診四個部分來收集用戶的信息;面部識別部分和舌象記錄部分通過在線錄制視頻獲取到面部信息和舌象信息;患者自述部分通過在線錄制視頻獲取患者的相關病情,對視頻的語音進行提取得到語音信息,然后再通過語音轉錄技術得到文本信息;中醫(yī)切診部分通過在線錄制視頻,利用非接觸的測量心率的系統(tǒng),得到脈診心率圖;
5、數(shù)據(jù)處理模塊用于將信息收集模塊收集到的五種信息進行預處理;對于面部信息和舌象信息,數(shù)據(jù)處理模塊從視頻中每秒抽取一幀圖片;對于文本信息,數(shù)據(jù)處理模塊對文本進行分詞,并將文本轉化為數(shù)值形式;對于脈診心率圖,數(shù)據(jù)處理模塊通過fft進行轉換,得到頻譜圖;對于語音信息,數(shù)據(jù)處理模塊通過wavenet(波網(wǎng))得到相應的語音特征;
6、生成診斷模塊對數(shù)據(jù)處理模塊輸出的數(shù)據(jù)進行診斷;由面部信息和舌象信息得到的若干幀圖片,分別通過對應的預訓練的visualglm模型,使用視覺編碼器對輸入的舌象或面部圖像進行編碼,生成圖像特征,再將這些圖像特征與文本提示結合,通過自回歸解碼器生成面部和舌象的診斷結果;預處理后的文本通過預訓練的bert-over-bert(bob)模型,將文本作為理解用戶角色的文段,然后通過預先設定的問題對bob模型提問,生成用戶的病史、癥狀、生活環(huán)境、出汗情況、飲食情況、睡眠情況、排泄情況,是否存在頭痛、胸痛、腰腹疼痛的情況,輸出文本診斷;由脈診心率圖生成的頻譜圖通過基于cnn和lstm的混合模型crnn,使用基于時頻分量注意力的混合模型arnn的心音分類方法,計算具有相關的心血管疾病的可能性,輸出相應的脈診診斷;由語音信息生成的語音特征通過預訓練的mvitv2模型,輸出用戶聲音的初步分類情況,包括用戶語音的強弱、高低、清濁、長短、緩急,然后再將初步分類結果輸入到預訓練的svm模型,輸出判斷患者的肺氣狀況、情志變化、氣血是否充沛、脾胃是否病變、臟腑的健康程度,將其作為語音診斷;最后將五種診斷輸入到chatglm4模型中,輸出一段總結的文字,形成一個綜合診斷;
7、中醫(yī)專有大模型診斷模塊將生成診斷模塊生成的綜合診斷作為輸入,然后通過預訓練的中醫(yī)專有大模型,輸出相對應的方案建議。
8、進一步地,所述信息收集模塊中的非接觸的測量心率系統(tǒng),由信息采集硬件和數(shù)據(jù)處理軟件構成;非接觸的測量心率系統(tǒng)獲取心率圖的過程分為脈象數(shù)據(jù)采集部分、脈象數(shù)據(jù)處理部分、心率信號處理部分和實時心率與穩(wěn)定心率計算部分,具體步驟如下:
9、步驟1.1:脈象數(shù)據(jù)采集與處理;非接觸的測量心率系統(tǒng)通過拍攝用戶手腕部位,對“寸、關、尺”部位進行特征提取并計算roi(region?of?interest,感興趣的區(qū)域)綠色通道平均值;
10、步驟1.2:心率信號處理;計算每次提取綠色通道平均值的每秒幀數(shù)(fps,framesper?second),對綠色通道平均值進行矩陣化轉換并插值到均勻的時間間隔上,進行信號處理后得到心率信息的時分信號;使用傅里葉變換將時分信號轉換為頻分信號;
11、步驟1.3:實時心率與穩(wěn)定心率計算;通過fps計算頻率數(shù)組結合頻分信號的幅度譜得到心率頻譜圖;通過頻譜圖在合理范圍內(nèi)的峰值計算實時心率,進而計算穩(wěn)定心率。
12、進一步地,所述步驟1.1中,脈象數(shù)據(jù)采集部分的具體方法為:用戶首先根據(jù)引導,選擇上傳視頻或實時拍攝視頻后,正確放置非接觸的測量心率系統(tǒng),打開非接觸的測量心率系統(tǒng)搭載的內(nèi)置照明燈,確保光源穩(wěn)定;隨后,用戶被要求在視頻中將手腕放置在非接觸的測量心率系統(tǒng)的指定區(qū)域內(nèi),保持一定的姿勢穩(wěn)定性,以確保脈搏周圍的關鍵特征被完整記錄;獲得質量合格的視頻數(shù)據(jù)之后,非接觸的測量心率系統(tǒng)將基于其展示手腕特征的清晰度和完整性自動從視頻流中捕獲指定數(shù)量的關鍵幀;
13、所述步驟1.1中,脈象數(shù)據(jù)處理部分的具體方法為:系統(tǒng)首先識別手腕的感興趣區(qū)域,該過程用以下公式來描述:(x,y)→roi,其中,(x,y)代表roi中心的坐標;系統(tǒng)在圖像中標記出手腕區(qū)域并進行劃分,確保后續(xù)步驟中只對這塊區(qū)域進行分析和裁剪,具體步驟如下:
14、s1.1.1:識別手腕區(qū)域的邊界坐標,劃分為三個部分:寸、關、尺;
15、s1.1.2:對每個部分分別進行顏色空間轉換和掩碼處理,確保只保留皮膚區(qū)域;
16、s1.1.3:找出皮膚區(qū)域的最大輪廓,并基于此進行roi提??;
17、s1.1.4:對于成功識別出手腕區(qū)域的圖像,進一步提取綠色通道的平均值作為心率信號的基礎數(shù)據(jù)。
18、進一步地,所述步驟1.2的具體方法如下:
19、s1.2.1:顏色提取與標準化;從圖像處理后的roi中提取rgb顏色通道中綠色通道的平均值,并進行標準化處理;
20、提取的平均值為:
21、
22、其中,g為綠色通道平均值,gi為第i個像素的綠色值,n為像素總數(shù);
23、按下式對綠色通道平均值進行歸一處理:
24、
25、其中normalized_data為歸一化處理后的綠色通道平均值,g為原始綠色通道平均值;
26、s1.2.2:信號去趨勢與插值;在得到脈搏roi的綠色通道平均值后,將每一次檢測到的數(shù)值以隊列形式存在數(shù)據(jù)緩沖區(qū)中,當緩沖區(qū)滿后,將緩沖區(qū)內(nèi)數(shù)據(jù)轉換為矩陣信號;之后對信號數(shù)據(jù)進行去趨勢處理;計算每次檢測綠色通道平均值的時間戳,得到實際的fps,即每秒檢測的次數(shù);根據(jù)fps得到的周期性時間序列,將綠色通道平均值插值到平均時間間隔的序列中,得到心率信息的時分信號;
27、s1.2.3:快速傅里葉變換;對時分信號進行快速傅里葉變換,得到頻分信號,后面再根據(jù)心率標準范圍:50到180,使用帶通濾波器進行頻譜分析,篩選出特定頻率范圍內(nèi)的心率信號;傅里葉變換公式如下:
28、fft=|f(nt*30)|2
29、其中,nt為歸一化的時分信號,f為傅里葉變換運算符:
30、
31、其中,x(t)為時分信號,t為時間,x(f)為頻率域信號,f為信號頻率。
32、進一步地,所述步驟1.3的具體方法為:
33、根據(jù)變換后的頻分信號,按下式計算出頻率數(shù)組:
34、
35、其中,freqs_bpm[k]是頻率數(shù)組轉換為每分鐘心跳數(shù)后的結果,k是頻率索引,fps是采樣頻率,d是信號的長度;
36、對頻率數(shù)組進行頻譜分析,篩選出標準范圍內(nèi)的心率,得到心率的頻譜圖;找到頻譜圖中頻率的峰值,即為當前實時心率;對根據(jù)歷史測量的所有實時心率求平均值,按下式計算出一段時間內(nèi)的穩(wěn)定心率值:
37、
38、其中,bpms表示穩(wěn)定心率,k為歷史心率數(shù)據(jù)的個數(shù),bpmi為第i次計算的心率值;
39、最終系統(tǒng)將“寸關尺”區(qū)域內(nèi)對應的心率圖、實時心率和穩(wěn)定心率提供給用戶。
40、進一步地,所述生成診斷模塊中的生成面部診斷和舌象診斷分為數(shù)據(jù)采集部分、數(shù)據(jù)處理部分、visualglm微調(diào)部分和visualglm診斷部分,具體步驟如下:
41、步驟2.1:數(shù)據(jù)采集;所述基于ai大模型的智能中醫(yī)診斷系統(tǒng)指導用戶通過在線視頻方式,通過面對鏡頭、張開嘴并伸出舌頭的方式,收集臉部或舌象數(shù)據(jù);
42、步驟2.2:數(shù)據(jù)處理;利用已知的yolox和基于segment?anything(分割萬物)的開源tonguesam模型,通過圖像編碼器、提示生成器和掩碼解碼器生成邊界框提示,實現(xiàn)高精度舌象分割,以此分別對采集到的視頻數(shù)據(jù)中的臉部和舌頭進行提取;
43、步驟2.3:visualglm微調(diào);系統(tǒng)采用lora(low-rank?adaptation)方法對多模態(tài)對話語言模型visualglm模型進行微調(diào);
44、步驟2.4:將處理后的面部圖像或舌頭圖像,結合特定的提示語送入visualglm模型進行處理;visualglm-6b通過圖像編碼器對輸入圖像進行編碼,結合提示生成器生成的提示語,生成對應舌象或面部圖像的描述和分析結果。
45、進一步地,所述步驟2.2中,對于面部診斷模塊,系統(tǒng)使用yolox提取出圖像中的人臉部分作為感興趣區(qū)域,即roi;用(x,y)代表roi中心的坐標,w和h分別代表roi的寬度和高度;隨后確定roi區(qū)域的邊界坐標,用(x1,y1)代表左上角坐標,(x2,y2)代表右下角坐標,則有
46、
47、
48、對于舌象診斷模塊,首先利用yolox標注出含有舌頭的roi,隨后對于成功識別出舌頭區(qū)域的圖像,采用tonguesam算法對每個像素點所屬類別的概率進行計算,分割提取出圖像中的舌頭部分。
49、進一步地,所述步驟2.3的具體方法為:
50、系統(tǒng)首先準備一組由面部圖像和對應文字描述或舌頭圖像和對應的文字描述組成的訓練數(shù)據(jù)集d={(xi,ti)},其中,xi代表面部圖像或舌頭圖像,ti代表對應的文字描述;
51、使用visualglm模型的視覺編碼器ev處理圖像數(shù)據(jù),得到圖像的特征表示vi=ev(xi);使用visualglm模型的文本編碼器et處理文字描述,得到文本特征ti′=et(ti);
52、引入低秩矩陣w更新模型的權重,將圖像特征vi和文本特征ti′與低秩矩陣w結合,計算模型輸出yi:
53、yi=f(vi,ti′;θ,w)
54、其中,f代表模型的前向傳播函數(shù),yi是模型根據(jù)輸入vi和ti′輸出的預測結果;
55、通過最小化預測結果yi和真實文字描述ti之間的損失函數(shù)l來進行基于監(jiān)督學習的訓練,最小化預測結果和真實值之間的差異:
56、
57、其中,i是損失函數(shù),用于衡量預測結果和真實文字描述之間的差異。
58、進一步地,所述中醫(yī)專有大模型診斷模塊通過預訓練模型,設置提示詞,根據(jù)綜合診斷的信息,分析用戶可能存在的病情,根據(jù)中醫(yī)八大體質的特征判斷用戶的體質,輸出用戶與中醫(yī)八大體質中典型特征相重合的地方,及其相應體質的特征,根據(jù)以上的綜合信息,分析當前用戶可能存在的病情風險,并針對用戶的體質和可能存在的病情給出相應的建議;
59、所述預訓練模型為前期通過大量的診斷案例,融入對中醫(yī)八大體質的判斷,訓練得到的具備中醫(yī)專有知識的大模型。
60、采用上述技術方案所產(chǎn)生的有益效果在于:本發(fā)明提供的基于ai大模型的智能中醫(yī)診斷系統(tǒng),收集的五種信息可以全部線上收集,無需到指定地點或者使用相關機器,在保證實現(xiàn)功能的前提下,讓整個系統(tǒng)真正實現(xiàn)了遠程診斷;在處理面部信息和舌象信息時,分別使用了預訓練的visualglm模型,輸入圖片,可以輸出更具有針對性、更豐富的診斷;通過前期預訓練的中醫(yī)專有大模型,可以判斷用戶的體質,并且可以針對性地分析用戶可能存在的病情,同時也能給出相應的建議。本發(fā)明利用大模型的生成能力解決了過去系統(tǒng)的診斷和建議單一的問題。