TR-1100HX 基于人工智能的呼吸暫停綜合征診斷研究
- 公司名稱 深圳通瑞人工智能有限公司
- 品牌 其他品牌
- 型號 TR-1100HX
- 產(chǎn)地 深圳
- 廠商性質(zhì) 生產(chǎn)廠家
- 更新時間 2025/7/28 16:35:42
- 訪問次數(shù) 86
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
人工智能開發(fā)平臺含:開發(fā)板、AI算法、行業(yè)數(shù)據(jù)集、傳感器、GPIO板卡、顯卡及套件,基于人工智能控制技術(shù)的多行業(yè)項目整體解決方案
應(yīng)用領(lǐng)域 | 醫(yī)療衛(wèi)生,環(huán)保,食品/農(nóng)產(chǎn)品,化工,制藥/生物制藥 |
---|
基于人工智能的呼吸暫停綜合征診斷研究
TR-1100HX
1.1、背景、意義與目的
阻塞性睡眠呼吸暫停低通氣綜合征(OSAHS)是一種病因不明的睡眠呼吸疾病,臨床表現(xiàn)有夜間睡眠打鼾伴呼吸暫停和白天嗜睡。由于呼吸暫停引起反復(fù)發(fā)作的夜間低氧和高碳酸血癥,可導(dǎo)致高血壓,冠心病,糖尿病和腦血管疾病等并發(fā)癥及交通事故,甚至出現(xiàn)夜間猝死。因此OSAHS是一種有潛在致死性的睡眠呼吸疾病。OSAHS的直接發(fā)病機(jī)制是上氣道的狹窄和阻塞,但其發(fā)病并非簡單的氣道阻塞,實際是上氣道塌陷,并伴有呼吸中樞神經(jīng)調(diào)節(jié)因素障礙。引起上氣道狹窄和阻塞的原因很多,主要為腺樣體肥大。
當(dāng)前,人工智能和深度學(xué)習(xí)發(fā)展趨勢越發(fā)壯大,智慧醫(yī)療和深度學(xué)習(xí)的結(jié)合越來越受到資本市場的關(guān)注,自2017年,國家將人工智能加入國家發(fā)展戰(zhàn)略后,2018年至2021年,AI醫(yī)療融資金額數(shù)量呈高速增長狀態(tài),在2019年到2020年間,增長率高達(dá)600%,在2021年十月融資金額高達(dá)140億。
表1:2018 -2021年10月中國AI醫(yī)療融資金額(數(shù)據(jù)來源:艾瑞咨詢)
近幾年,市場規(guī)模持續(xù)高速增長,且預(yù)計在未來10年會呈現(xiàn)快速增長態(tài)勢,有著良好的發(fā)展前景。目前,該市場正在進(jìn)入商業(yè)化階段,國內(nèi)已有許多大型企業(yè)及初創(chuàng)公司投入到AI 醫(yī)學(xué)影像產(chǎn)品開發(fā),有少量產(chǎn)品已經(jīng)步入試用期。AI醫(yī)療影像市場還可細(xì)分為治療市場和診斷市場,但是,目前,診斷市場占據(jù)了主導(dǎo)地位,治療市場仍處于初步發(fā)展階段。
表2 2019-2025中國醫(yī)療影像市場規(guī)模(數(shù)據(jù)來源:艾瑞咨詢)
深度學(xué)習(xí)擅長識別大量成像數(shù)據(jù)中的復(fù)雜模式,并能夠以自動化方式提供定量評估,因此,深度學(xué)習(xí)可以被整合到臨床工作流程中,作為影像學(xué)的評估 。[2]在此趨勢下,我們結(jié)合了深度學(xué)習(xí)、智慧醫(yī)療、互聯(lián)網(wǎng)平臺,構(gòu)造了基于神經(jīng)網(wǎng)絡(luò)對肺結(jié)核患者進(jìn)行輔助診斷的智慧醫(yī)療診斷平臺。
輔助智慧醫(yī)療診斷平臺幫助醫(yī)生提高對患者病情的判斷能力和病灶的相關(guān)情況,減輕醫(yī)生的工作量,高效的對肺結(jié)核患者進(jìn)行診斷治療,在一定程度上有利于緩解醫(yī)療資源不足的問題,助力醫(yī)療衛(wèi)生服務(wù)系統(tǒng)信息化轉(zhuǎn)型。
1.2、關(guān)于呼吸暫停綜合征的介紹與診斷對策
1.2.1.呼吸暫停綜合征
阻塞性睡眠呼吸暫停低通氣綜合征(OSAHS) 是一種臨床常見的睡眠呼吸紊亂疾病,以睡眠中間 斷呼吸暫停和(或)通氣量減低為特征,主要表現(xiàn)為 夜間睡眠打鼾,白天嗜睡、疲乏無力等。這種睡眠過 程中間斷發(fā)生的呼吸暫停和(或)低通氣造成的反復(fù) 間歇性低氧與缺血/再灌注損傷機(jī)制類似,可引起全 身氧化應(yīng)激、炎癥反應(yīng)及交感神經(jīng)活性增強(qiáng),引發(fā)多 種合并癥,涉及心腦血管、神經(jīng)、內(nèi)分泌、泌尿生殖、 消化、血液等多個系統(tǒng)。OSAHS是多種疾病的源頭 疾病,甚至與腫瘤疾病密切相關(guān) 。OSAHS的發(fā)病 率高,合并癥多,嚴(yán)重影響患者生活質(zhì)量,甚至威脅 生命。因此盡早和有效地治療 OSAHS 可顯著改善 患者健康狀況。目前主要治療方法有體位療法、減輕體質(zhì)量、正壓tongqi治療、上氣道刺激療法等治療手段
1.3、研究現(xiàn)狀與存在的問題
近年來,人工智能在對于肺部圖像分類的方面取得重大成就,對病灶的準(zhǔn)確識別和分割可以更加有利于醫(yī)生對病灶的判斷和肺結(jié)核的診斷治療。醫(yī)學(xué)圖像識別一般是利用卷積神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行分類,基于權(quán)wei人士提供的帶有標(biāo)注的數(shù)據(jù),通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練,捕捉其中的相同之處,調(diào)整網(wǎng)絡(luò)參數(shù),最終實現(xiàn)分類的功能。
呼吸暫停綜合征的醫(yī)學(xué)圖像有以下特點:語義比較簡單,結(jié)構(gòu)單一,數(shù)據(jù)比較少,因為醫(yī)學(xué)影像的數(shù)據(jù)比較少,如果網(wǎng)絡(luò)的結(jié)構(gòu)模型過于復(fù)雜、和參數(shù)過多(過大)的話,就會導(dǎo)致我們訓(xùn)練的模型過擬合,而造成偏差。這就需要我們有更好的網(wǎng)絡(luò)對數(shù)據(jù)的特征進(jìn)行提取。可解釋性重要。我們不僅僅需要的是一張3D的CT模型圖,我們可能還需要知道病灶的體積、和具體在哪一層。
所有我們希望通過深度學(xué)習(xí),綜合來判斷病人患病的情況。我們將數(shù)據(jù)集使用2Dunet模型進(jìn)行訓(xùn)練,對相應(yīng)的病灶進(jìn)行識別,使用V-net模型對數(shù)據(jù)進(jìn)行二分類,結(jié)合兩個模型的預(yù)測結(jié)果使得醫(yī)生可以綜合判斷病人的病情。
但目前的研究還都依賴于對回顧性數(shù)據(jù)的分析,尚沒有前瞻性地應(yīng)用于臨床,其準(zhǔn)確率有待進(jìn)一步驗證,同時,在醫(yī)學(xué)領(lǐng)域,具有準(zhǔn)確專家標(biāo)注的數(shù)據(jù)集較為缺少且價格昂貴,這是我們進(jìn)行深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的一個較大阻礙。但不可否認(rèn),人工智能在醫(yī)學(xué)上存在巨大的潛力。
2.1 V-net對數(shù)據(jù)集進(jìn)行深度學(xué)習(xí)
2.1.1 V-net模型
下圖是V-Net的網(wǎng)絡(luò)架構(gòu)。我們進(jìn)行卷積的目的是從數(shù)據(jù)中提取特征,并在每個階段的最后通過使用適當(dāng)?shù)牟椒档推浞直媛省?/span> 網(wǎng)絡(luò)的左側(cè)部分由編碼路徑組成,而右側(cè)部分對信號進(jìn)行解碼,直到達(dá)到其原始大小為止。卷積全部使用適當(dāng)?shù)?/span>padding。
左邊的網(wǎng)絡(luò)被不同分辨率下的操作分為不同的階段。每個階段由1-3個卷積層組成。由于受到了ResNet的影響,每個階段的卷積過程都會去學(xué)習(xí)殘差,輸入的feature map在幾次卷積和非線性激活后會和原先輸入地逐點相加,然后進(jìn)行下采樣。正如我們的經(jīng)驗觀察所證實的那樣,此結(jié)構(gòu)能比沒有殘差的模型更快的收斂。
圖1 V-net模型示意圖
2.1.2 V-net對CT影像中病灶進(jìn)行識別
對于呼吸暫停綜合征的數(shù)據(jù)集,因為在chest X-ray中的數(shù)據(jù)中發(fā)現(xiàn),只有部分圖片含有標(biāo)簽,我們將含有標(biāo)簽的圖片提取出來,再將較為模糊的數(shù)據(jù)手動刪除。對于光數(shù)據(jù)集,并不用采用過多的旋轉(zhuǎn),剪切等數(shù)據(jù)處理,所以我們將hyp.scratch.yaml中的各種數(shù)據(jù)增強(qiáng)的權(quán)重參數(shù)如:degrees、translate、scale等等修改。調(diào)節(jié)損失函數(shù)的權(quán)重,降低學(xué)習(xí)速率,避免模型訓(xùn)練的結(jié)果過擬合。
2.2 2Dunet對數(shù)據(jù)集進(jìn)行深度學(xué)習(xí)
下采樣:傳統(tǒng)的特征提取路徑,簡稱壓縮路徑,將特征壓縮成由特征組成的特征圖。
上采樣:經(jīng)過復(fù)原路徑,簡稱擴(kuò)展路徑,將提取的特征圖解碼為和原來圖像尺寸一致的分割后的預(yù)測圖像。
另外,copy and crop 即大紅色箭頭所指的操作,是為了降低壓縮路徑中圖像信息的丟失,將壓縮后的特征圖疊加在擴(kuò)展路徑上同尺寸大小的特征圖上,再進(jìn)行卷積核上采樣操作,以此來整合更多信息進(jìn)行圖像分割。
結(jié)構(gòu)理解如是:從左上方開始到右上方結(jié)束就是一個完整的Unet路徑。
左側(cè)第1層stage1-----輸入5725721的單通道圖像,經(jīng)過藍(lán)色箭頭33的卷積核的卷積,Relu激活,變?yōu)?/span>57057064的64通道圖像(n-f+1=572-3+1=570)。同理,變?yōu)?/span>568568*64的64通道圖像。
在stage1結(jié)束后,經(jīng)過紅色箭頭zui大池化22,圖像尺寸縮小一倍,得到28428464的64通道圖像。然后進(jìn)入左側(cè)第2層stage2,每次圖像尺寸縮小一倍,特征圖的通道數(shù)要擴(kuò)大一倍,經(jīng)過藍(lán)色箭頭33的卷積核的卷積,Relu激活,變?yōu)?/span>282282128。同理,變?yōu)?/span>280280128的128通道圖像。
直到左側(cè)的第5層stage5,即zui底層,此時完成了壓縮路徑,此時特征圖大小為28281024。然后開始右側(cè)的擴(kuò)展路徑。
經(jīng)過綠色箭頭22的反卷積(轉(zhuǎn)置卷積),可以將圖像尺寸擴(kuò)大一倍,同時特征圖的通道數(shù)縮小一倍,得到5656512的圖像。再疊加上從壓縮路徑第4個stage池化前的特征圖復(fù)制過來的,組合成56561024的圖像。這里疊加的特征圖是為了降低壓縮路徑中圖像信息的損失。再經(jīng)過藍(lán)色箭頭的兩次卷積,得到5252*512的512通道圖像。
以此類推,上采樣,卷積,最后得到3883882的2通道圖像,之所以是2 是因為作者做的是前景和后景的分類,如果是多分類,改成相應(yīng)的類的數(shù)目即可。
圖2 2Dunet模型示意圖
2.2.3基于生成對抗網(wǎng)絡(luò)的優(yōu)化數(shù)據(jù)增強(qiáng)方法
許多計算機(jī)視覺和醫(yī)學(xué)圖像分析任務(wù)的技術(shù)都是有監(jiān)督的深度學(xué)習(xí)方法,但是它們的成功很大程度上都依賴于大規(guī)模的標(biāo)記訓(xùn)練數(shù)據(jù)。面對只有小規(guī)模數(shù)據(jù)訓(xùn)練時,深度學(xué)習(xí)模型通常會出現(xiàn)過擬合的現(xiàn)象。在醫(yī)學(xué)領(lǐng)域,這是一個根本問題,這種嚴(yán)重的數(shù)據(jù)匱乏問題是由于醫(yī)學(xué)圖像采集和標(biāo)注的繁瑣、耗時和昂貴導(dǎo)致的。因此我們采用GAN模型來解決這個問題,一個采用GAN進(jìn)行數(shù)據(jù)增強(qiáng)的流程通常如下:
但是傳統(tǒng)的 GAN 存在著訓(xùn)練十分不穩(wěn)定的問題,這很大程度上因為使用sigmoid損失函數(shù)導(dǎo)致的,sigmoid 函數(shù)容易達(dá)到飽和,本質(zhì)上并不能懲罰遠(yuǎn)離決策邊界的樣本,只滿足于將生成器生成的偽樣本標(biāo)注為正確,因此判別器的梯度很容易下降到 0。最小化目標(biāo)函數(shù)時可能發(fā)生梯度彌散而很難再去更新生成器。可以認(rèn)為,交叉熵并不關(guān)心距離,而是僅僅關(guān)注于是否正確分類。而最小二乘損失函數(shù)會懲罰那些遠(yuǎn)離決策邊界的樣本,這些樣本的梯度是梯度下降的決定方向。并且在后續(xù)對比實驗中也證明了使用了最小二乘損失函數(shù)的生成對抗網(wǎng)絡(luò)在實驗中表現(xiàn)的更好,因此我們沿用最小二乘的生成對抗網(wǎng)絡(luò),在此基礎(chǔ)上,引入 Attention 機(jī)制,如下圖所示。
2.2.4分型網(wǎng)絡(luò)結(jié)構(gòu)
為了提升我們設(shè)計的模型的準(zhǔn)確率,我們采用分型結(jié)構(gòu)。Fractal Block,通過一種分形的結(jié)構(gòu),達(dá)到了類似于教師-學(xué)生機(jī)制、深度監(jiān)督的效果。
分形結(jié)構(gòu):新路徑劃分的結(jié)構(gòu),一個輸入可以劃分成不同的輸出,基于路徑的結(jié)構(gòu)分形是連續(xù)的遞歸的,fc不是卷積和全連接,是一種路徑結(jié)構(gòu),紅色的才是卷積,fc+1也是這用結(jié)構(gòu),像是遞歸
1)基本結(jié)構(gòu)
最右邊是整體的結(jié)構(gòu),觀察其中一塊,z是輸入,經(jīng)過分型結(jié)構(gòu)(分形、卷積、合并)(+) 是一個聚合(join)操作,推薦使用均值,而不是常見的串聯(lián)或相加。分型結(jié)構(gòu)如上圖所示:
2)Drop-Path
ResNet收斂快,但還是要經(jīng)過基本的卷積結(jié)構(gòu),卷積通用的問題是缺少有效的正則化方法。對于深的如ResNet采用BN,對于寬的如WideResNet采用Dropout。而Fractal Block是基于路徑的正則化方法。另外Fractal Block對路徑舍棄采用了50% 局部以及 50% 全局的混合采樣。局部:連接層以固定幾率舍棄每個輸入,但我們保證至少一個輸入保留。如第1、3個。全局:為了整個網(wǎng)絡(luò)選出每條路徑,并限制其為單列結(jié)構(gòu),激勵每列成為有力的預(yù)測器,每列只做卷積。如第2、4個。如下所示:
2.2.5擴(kuò)張卷積:
局部圖像變換的不變性可能會妨礙密集預(yù)測任務(wù),因為在密集預(yù)測任務(wù)中需要詳細(xì)的空間信息。為了克服這個問題,我們使用擴(kuò)張卷積。擴(kuò)張卷積,也稱為孔洞卷積,通過移除最后幾層的下采樣操作并對相應(yīng)的濾波器核進(jìn)行上采樣來提取更密集的特征圖,相當(dāng)于在濾波器權(quán)重之間插入孔。使用擴(kuò)張卷積,可以控制在DCNN內(nèi)計算特征響應(yīng)的分辨率,而無需學(xué)習(xí)額外的參數(shù)。擴(kuò)張卷積結(jié)構(gòu)如下:
2.2.6空間金字塔池化:
另一個困難來自多尺度物體的存在,由于肺部病變的區(qū)域具有尺度不確定性。我們采用空間金字塔解決這個問題。不管輸入尺寸是怎么樣,空間金字塔可以產(chǎn)生固定大小的輸出,提高了圖像的尺度不變和降低了過擬合。使用多個窗口讓空間金字塔可以使用同一圖像不同尺寸作為輸入, 得到同樣長度的池化特征。由于把一個feature map從不同的角度進(jìn)行特征提取,再聚合的特點,顯示了算法的魯棒的特性。同時也在目標(biāo)識別增加了精度,在卷積層的后面對每一張圖片都進(jìn)行了多方面的特征提取,就可以提高任務(wù)的精度。好比是不同大小的圖片在不同的網(wǎng)絡(luò)中進(jìn)行訓(xùn)練一樣,大大提高了模型的精度。空間金字塔池化基本結(jié)構(gòu)如下圖所示:
2.2.7算法的模型壓縮
算法模型由于模型大小十分龐大,無法在低功耗嵌入式設(shè)備上運行,因此需要經(jīng)過模型壓縮后再寫入系統(tǒng)設(shè)備中,我們采用的模型壓縮技術(shù)主要分為經(jīng)過通道剪枝、權(quán)重共享、權(quán)重量化三個方向:
通道剪枝:深度學(xué)習(xí)模型可以看作是一個復(fù)雜樹狀結(jié)構(gòu),如果能減去一些對結(jié)果沒什么影響的旁枝,就可以實現(xiàn)模型的減小。我們通過訓(xùn)練BN層中的γ參數(shù),來作為每一層的稀疏因子,在訓(xùn)練完之后,對所有通道的該系數(shù)進(jìn)行排序,然后通過預(yù)先設(shè)置的剪枝比例,確定γ系數(shù)的閾值,再將閾值以下的對應(yīng)通道剪掉即可。示意圖如下:
權(quán)重共享:權(quán)重共享的概念指的是模型在構(gòu)建的過程中是否有些局部的信息在全局是多次出現(xiàn)并重復(fù)使用的,舉一個卷積神經(jīng)網(wǎng)絡(luò)的例子。當(dāng)CNN模型在識別以下這個圖像的時候,需要卷積核去全圖掃描這個圖像,找出每個邊緣的特點,但是這種對稱圖像一定存在一些形狀的重復(fù)性,比如下圖我框出的這些結(jié)構(gòu)。這些重復(fù)結(jié)構(gòu)意味著卷積核在計算權(quán)重的時候會有部分權(quán)重的相似性,這些相似性是全局可共享的。那么如果可以通過聚類的方式挖掘出這些可以共享的權(quán)重系數(shù),并且以類別的方式讓它們共享一些權(quán)重,就可以實現(xiàn)模型的壓縮。
權(quán)重量化:模型的精度量化并不是簡單的將高精度的權(quán)重用低精度權(quán)重表示就好了,這里面涉及到許多適配硬件的因素。目前深度學(xué)習(xí)中大部分都是用32bit float類型進(jìn)行計算的,bit位數(shù)的多少直接限制了數(shù)據(jù)類型能夠表達(dá)的數(shù)據(jù)范圍,比如float 32的數(shù)據(jù)是由1bit表示符號,8bit表示整數(shù)部,23位表示分?jǐn)?shù)部組成:
用更低位的數(shù)值類型意味著更小的數(shù)據(jù)表示范圍和更稀疏的數(shù)值,量化的時候就會造成數(shù)值精度損失。比如要把float數(shù)值量化到int類型,那么首先小數(shù)部分會損失,而那些超過int類型能夠表達(dá)的范圍的值也會被壓縮到int能夠表達(dá)的zui大或最小值。權(quán)重量化主要分為線性量化和非線性量化兩種。線性量化采用均勻分布的聚類中心,原始數(shù)據(jù)跟量化后的數(shù)據(jù)存在一個簡單的線性變換關(guān)系。而卷積、全連接本身也只是簡單的線性計算,因此在線性量化中可以直接用量化后的數(shù)據(jù)進(jìn)行直接計算,不僅可以壓縮模型文件的大小,還能帶來明顯的速度提升。因此我們采用線性量化。由于圖像數(shù)據(jù)的數(shù)據(jù)分布不均,主要集中在正數(shù)區(qū)域。如下圖所示:
因此我們采用線性量化中的非對稱量化,量化公式如下:
?
1 2Dunet對CT圖像的識別
針對這個數(shù)據(jù)集上面上,我們針對不同標(biāo)簽對模型進(jìn)行了一定修改,根據(jù)這些標(biāo)簽綜合輔助醫(yī)生診斷病人患病的情況,相較于于其他項目,本項目更加全面的對呼吸暫停綜合征的病灶都進(jìn)行檢測,使得在診斷的過程中更加全面,讓醫(yī)生和患者更加了解病情。
而且對于模型方面,針對醫(yī)學(xué)CT圖像模糊和數(shù)據(jù)量少的特點,我們也對模型進(jìn)行一定的修改,在數(shù)據(jù)處理方面對淺層的特征保留的更多,使得病灶區(qū)域更容易被識別,特征提取更加好。而且測試效果良好,符合預(yù)期效果。
2 V-net分類模型
在原V-net模型的結(jié)構(gòu)上,我們考慮了實際情況,修改了V-net的結(jié)構(gòu),使之更加符合我們的需求。在V-net中嵌入了位置注意力模塊,增強(qiáng)其特征表達(dá)能力,最終取得了較為滿意的結(jié)果。在分類問題上的精確度也達(dá)到了70%以上,有較好的表現(xiàn)。
3 數(shù)據(jù)綜合判斷
本項目一大創(chuàng)新點是結(jié)合了診斷肺結(jié)核的多個方向來綜合判斷考慮,結(jié)合了結(jié)核桿菌和肺部x光圖像兩個重要的判斷標(biāo)準(zhǔn)來輔助醫(yī)生診斷患者患病的情況。而且在CT圖像上使用了V-ne模型和2Dunet模型來對同樣的數(shù)據(jù)進(jìn)行預(yù)測,并通過數(shù)據(jù)可視化將圖片和數(shù)據(jù)相結(jié)合,在診斷系統(tǒng)平臺上進(jìn)行展示,使得醫(yī)生對于呼吸暫停綜合征判斷的依據(jù)更豐富,而且預(yù)測的效果也會更好。
4 數(shù)據(jù)可視化
本項目更加注重項目能否落地、推廣應(yīng)用和商業(yè)價值。我們通過在阿里云平臺上搭建云平臺,將數(shù)據(jù)上傳到平臺使用模型進(jìn)行預(yù)測,將數(shù)據(jù)結(jié)果可視化,將圖片和數(shù)據(jù)相結(jié)合,在平臺上進(jìn)行展示,肺結(jié)核部分輸出預(yù)測好的圖片,標(biāo)簽的種類和概率值用直方圖展示,二分類的結(jié)果也在直方圖下面進(jìn)行展示。結(jié)合桿菌部分輸出預(yù)測好的圖片,結(jié)核桿菌的數(shù)量也用直方圖進(jìn)行表示。將數(shù)據(jù)可視化的展示,更有利于輔助醫(yī)生診斷。
5 項目實際部署
本項目通過前期的模型搭建,AI可視化界面搭建,最終將整個呼吸暫停綜合征診斷系統(tǒng)部署于公共主機(jī)上并用于實際的診斷,真正實現(xiàn)產(chǎn)品落地使用,后期將會免費給醫(yī)院試用,并根據(jù)醫(yī)生的反饋來對模型進(jìn)行不斷的調(diào)優(yōu)。
2.3 搭建網(wǎng)頁將數(shù)據(jù)進(jìn)行可視化
2.3.1 網(wǎng)頁設(shè)計
網(wǎng)頁的設(shè)計我們希望制作出來的界面簡介美觀,并且有高科技感。在制作前端界面的時候我使用了echarts前端插件,這樣可以實現(xiàn)更好的排版布局。首頁當(dāng)中有四個按鍵、分別對應(yīng)文件傳輸、進(jìn)行檢測、獲取檢測報告以及數(shù)據(jù)可視化使用HTML進(jìn)行網(wǎng)頁骨架的搭建,再使用css進(jìn)行美觀優(yōu)化。整體主頁面效果如下圖。
圖3 呼吸暫停綜合征輔助診斷可視化平臺
2.3.2 服務(wù)器搭建
若要實現(xiàn)從網(wǎng)頁上調(diào)用python文件,則需要一個服務(wù)器端進(jìn)行調(diào)用,因為在網(wǎng)頁上不能夠直接調(diào)用本地文件,需要一個服務(wù)器進(jìn)行調(diào)用。我們使用的是Node.js作為王爺?shù)姆?wù)器。Node.js是一個基于Chrome V8引擎的JavaScript運行環(huán)境,使用了一個事件驅(qū)動、非阻塞式I/O模型, 讓JavaScript 運行在服務(wù)端的開發(fā)平臺。使用Node.js即可實現(xiàn)前端與后臺的鏈接。由于我們需要使用命令行調(diào)用conda虛擬環(huán)境才能運行python文件,所以我們先使用Node.js直接調(diào)用windows命令行來調(diào)用python文件。
在Node.js中,我們可以調(diào)用node中的node-cmd模塊進(jìn)行命令行指令,先使用npm進(jìn)行下載相應(yīng)的node-cmd模塊,從而調(diào)用該模塊執(zhí)行cmd指令。
2.3.3 文件的上傳
在網(wǎng)頁前端中,我們通過前端form表格的形式進(jìn)行傳遞文件。點擊提交將數(shù)據(jù)傳遞給后臺服務(wù)器,后臺服務(wù)其將接受到的數(shù)據(jù)放置在zhi定的文件夾里面。
運行python文件會直接在上傳的圖片文件夾中輸入,然后輸出到zhi定的文件夾當(dāng)中。接著node.js會獲取到每個文件的名稱傳輸?shù)角岸诉M(jìn)行顯示。點擊圖片可以放大看大圖。
2.3.4 數(shù)據(jù)可視化
網(wǎng)頁數(shù)據(jù)的可視化我們使用的是echarts插件進(jìn)行可視化的實現(xiàn)。echart.js是一個基于數(shù)據(jù)操作文檔的JavaScript庫。在調(diào)用Python程序之后,會產(chǎn)生一個CSV文件,里面有相應(yīng)的每個患病部位的百分比數(shù)據(jù),通過echarts將數(shù)據(jù)獲取后以圖表的形式呈現(xiàn)到網(wǎng)頁上。
圖4 數(shù)據(jù)展示
2.3.5** 前后端連接**
在前后端連接這個問題上,我們采用了django框架。Django 是一個由 Python 編寫的一個開放源代碼的 Web 應(yīng)用框架。使用 Django,只要很少的代碼,Python 的程序開發(fā)人員就可以輕松地完成一個正式網(wǎng)站所需要的大部分內(nèi)容,并進(jìn)一步開發(fā)出全功能的 Web 服務(wù) Django 本身基于 MVC 模型,即 Model(模型)+ View(視圖)+ Controller(控制器)設(shè)計模式,MVC 模式使后續(xù)對程序的修改和擴(kuò)展簡化,并且使程序某一部分的重復(fù)利用成為可能。
圖5 django框架簡圖
2.4硬件模塊
圖6 硬件模塊示意圖
2.4.1工控主機(jī):
我們的硬件模塊的硬件系統(tǒng)包括五個部分,核心人工智能計算板,GPIO擴(kuò)展板,NPU協(xié)處理器,實驗擴(kuò)展板,顯示屏擴(kuò)展板。
1)核心人工智能計算板:該模塊主要用于實現(xiàn)人工智能邊緣計算的主控系統(tǒng),其中CPU采用Nvidia的ARM四核Cortex-A57處理器,該處理器包含NVIDIA Maxwell架構(gòu)的GPU,128 個 NVIDIA CUDA 核心,視頻編解碼性能為4路1080p@30。計算板中的內(nèi)存采用2G-4G的DDR4內(nèi)存。
2)GPIO擴(kuò)展板:該模塊主要用于實現(xiàn)各種外接端口和硬件通訊協(xié)議,其中包含20個左右的GPIO,1路UART,2路SPI,3路IIC,1路IIS,3路USB,1路HDMI,1路以太網(wǎng),1路MIPI CSI-2攝像頭接口。
3)NPU協(xié)處理器:該模塊主要用于實現(xiàn)人工智能邊緣計算的協(xié)處理器計算,采用Intel的MA2485 Myriad X人工智能NPU協(xié)處理器,該芯片有4個可C編程的128位VLIW矢量處理器和可配置的MIPI通道,該芯片可以提供超過4TOPS 的總體性能表現(xiàn),能夠為基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)推理提供超過1TOPS的計算性能。
軟件系統(tǒng):
NPU協(xié)處理器人工智能模型部署工具鏈:我們的的NPU協(xié)處理器的工具鏈為基于英特爾OpenVINO的arm定制版本,OpenVINO是英特爾推出的一款全面的工具套件,用于快速部署人工智能應(yīng)用和解決方案,對訓(xùn)練好的人工智能模型進(jìn)行壓縮和量化,支持計算機(jī)視覺的CNN網(wǎng)絡(luò)結(jié)構(gòu)超過200余種。OpenVINO的基本工作流程如下圖所示:
基于人工智能的呼吸暫停綜合征診斷研究