范廣坡 余學(xué)飛 盧廣文 林良卓 周地福
(南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,廣東 廣州 510515)
改進(jìn)PSO-BP算法的壓力導(dǎo)絲溫度及非線性補(bǔ)償研究
范廣坡余學(xué)飛盧廣文林良卓周地福
(南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,廣東 廣州510515)
摘要:測量冠狀動脈血管血流儲備分?jǐn)?shù)的壓力導(dǎo)絲中的超微型壓力傳感器,具有嚴(yán)重的溫度以及非線性漂移問題,且目前只有硬件方法進(jìn)行補(bǔ)償。針對硬件補(bǔ)償方法存在的補(bǔ)償精度不高及成本昂貴等問題,提出一種改進(jìn)粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法,對壓力導(dǎo)絲進(jìn)行溫度和非線性軟件補(bǔ)償。Matlab仿真結(jié)果表明,改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)與現(xiàn)有標(biāo)準(zhǔn)PSO-BP算法、BP神經(jīng)網(wǎng)絡(luò)等軟件以及硬件補(bǔ)償方法相比,具有成本低、穩(wěn)定性高、不易陷入局部最優(yōu)、泛化能力強(qiáng)等優(yōu)點。
關(guān)鍵詞:壓力導(dǎo)絲壓力傳感器溫度非線性補(bǔ)償非線性漂移粒子群算法(PSO)BP神經(jīng)網(wǎng)絡(luò)Matlab
0引言
近年來,血流儲備分?jǐn)?shù)(fractional flow reserve,F(xiàn)FR)成為評價人體冠狀動脈狹窄性病變是否需要介入治療的“金標(biāo)準(zhǔn)”。Pijls等人將FFR定義為:當(dāng)狹窄存在時,冠狀動脈可獲得的最大血流量與正常最大血流量的比值[1-2]。但壓力導(dǎo)絲作為FFR測量的核心元件,其遠(yuǎn)端超微型壓力傳感器受環(huán)境溫度以及本身制作工藝的影響,引入溫度及非線性誤差對FFR測量影響嚴(yán)重。
目前,壓力導(dǎo)絲溫度及非線性補(bǔ)償主要有硬件和軟件兩種方法。本課題組前期進(jìn)行了硬件方法的補(bǔ)償研究[3],發(fā)現(xiàn)硬件補(bǔ)償與軟件補(bǔ)償,都存在補(bǔ)償精度不高且成本昂貴等問題。因此,本文提出一種改進(jìn)的粒子群算法(particle swarm optimization,PSO)優(yōu)化(back-propagation,BP)神經(jīng)網(wǎng)絡(luò)。使用該算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,能有效避免BP神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)的問題,提高軟件方法的補(bǔ)償精度、泛化能力和穩(wěn)定性。
1軟件算法補(bǔ)償原理
軟件算法對壓力導(dǎo)絲溫度及非線性漂移進(jìn)行補(bǔ)償?shù)膶嵸|(zhì),是利用標(biāo)定的環(huán)境壓力點、溫度點以及在相應(yīng)環(huán)境下壓力導(dǎo)絲輸出的電壓值構(gòu)成樣本數(shù)據(jù),通過軟件算法擬合出壓力導(dǎo)絲測量逆模型,以達(dá)到補(bǔ)償?shù)哪康摹?/p>
溫度及非線性補(bǔ)償原理如圖1所示。

圖1 溫度及非線性補(bǔ)償原理圖
由圖1可以看出,環(huán)境壓力p和環(huán)境溫度t經(jīng)過壓力導(dǎo)絲測量模型和改進(jìn)PSO-BP算法構(gòu)建壓力導(dǎo)絲測量逆模型后,消除環(huán)境溫度因素以及壓力導(dǎo)絲本身非線性因素的影響,進(jìn)而達(dá)到溫度及非線性補(bǔ)償?shù)哪康摹?/p>
2改進(jìn)PSO-BP神經(jīng)網(wǎng)絡(luò)算法
2.1BP神經(jīng)網(wǎng)絡(luò)算法
BP神經(jīng)網(wǎng)絡(luò)算法是一種帶有誤差反向傳播的多層網(wǎng)絡(luò)人工智能算法,具有獨特的非線性映射能力和很強(qiáng)的環(huán)境適應(yīng)能力,目前應(yīng)用領(lǐng)域非常廣泛[4-5]。軟件算法對壓力導(dǎo)絲的溫度和非線性誤差補(bǔ)償屬于非線性系統(tǒng)的擬合過程。現(xiàn)已證明:利用BP神經(jīng)網(wǎng)絡(luò),只要神經(jīng)元傳遞函數(shù)合適,收斂步數(shù)足夠多,即可以任意精度逼近一個非線性系統(tǒng)[6]。
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)過程的實質(zhì),是根據(jù)樣本實際輸出與網(wǎng)絡(luò)擬合輸出之間的誤差,利用最小梯度法,不斷調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值等參數(shù),直到訓(xùn)練次數(shù)達(dá)到最大值或誤差達(dá)到要求精度,則結(jié)束訓(xùn)練,即找到全局最優(yōu)解。因此,利用BP神經(jīng)網(wǎng)絡(luò)對非線性系統(tǒng)擬合時,若非線性系統(tǒng)除了目標(biāo)極值點外,還有多個其他極值點,訓(xùn)練隨機(jī)產(chǎn)生不同的初始位置就會得到不同的極小值,即無法找到全局最優(yōu)解而陷入局部最優(yōu)。
2.2標(biāo)準(zhǔn)PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
PSO算法是一種基于迭代原理的模擬鳥類等動物覓食活動的智能算法,具有實現(xiàn)簡單、全局搜索能力強(qiáng)且性能優(yōu)越等特點。該算法通過群體中個體間的合作尋找最優(yōu)解[7],尋優(yōu)過程實質(zhì)上是對算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)進(jìn)行壓力導(dǎo)絲非線性補(bǔ)償,步驟如下。
步驟1:采集壓力導(dǎo)絲輸出電壓以及所處環(huán)境相關(guān)參數(shù)并進(jìn)行歸一化。
步驟2:構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,設(shè)置網(wǎng)絡(luò)參數(shù)。
步驟3:利用PSO算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
①初始化構(gòu)建粒子群算法,并設(shè)置粒子群相關(guān)參數(shù)。
②計算每個粒子適應(yīng)度值,并記錄每個粒子在歷史最優(yōu)適應(yīng)度值時的粒子位置pibest,以及粒子群所有粒子在歷史最優(yōu)適應(yīng)度值時的粒子位置gbest。
③判斷最優(yōu)適應(yīng)度是否達(dá)到要求或迭代次數(shù)是否達(dá)到最大:若達(dá)到,進(jìn)行步驟④;若未達(dá)到,繼續(xù)步驟④。
④按照以下速度公式(1)和位置公式(2),更新所有粒子的速度和位置:

(1)
(2)

⑤重新返回步驟②。
步驟4:將優(yōu)化過的權(quán)值和閾值賦給神經(jīng)網(wǎng)絡(luò),并判斷是否達(dá)到神經(jīng)網(wǎng)絡(luò)訓(xùn)練要求。若達(dá)到,直接進(jìn)行步驟5;若未達(dá)到,對神經(jīng)網(wǎng)絡(luò)進(jìn)行二次優(yōu)化,達(dá)到訓(xùn)練要求后進(jìn)行步驟⑤。
步驟5:結(jié)束BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,完成對非線性系統(tǒng)的擬合過程。
然而,在PSO算法的粒子尋優(yōu)過程中,粒子運(yùn)動的速度更新公式會直接影響尋優(yōu)結(jié)果。一般而言,較大的運(yùn)動速度可以增強(qiáng)PSO算法的全局搜索能力而不至于陷入局部最優(yōu),較小的運(yùn)動速度也可以增強(qiáng)PSO算法的局部搜索能力而不至于跳過最優(yōu)解。因此,如何平衡PSO算法的全局和局部搜索能力成為PSO算法改進(jìn)的核心問題。
2.3改進(jìn)PSO-BP算法
到目前為止,對PSO算法的改進(jìn)研究已有很多,并且主要集中在對PSO算法的全局和局部搜索能力的平衡上[8-12]。為了進(jìn)一步提高PSO算法的全局搜索能力,避免陷入局部最優(yōu)且不錯過全局最優(yōu),本文一方面綜合考慮PSO算法中的粒子適應(yīng)度以及迭代次數(shù)兩方面因素,對慣性權(quán)重變化進(jìn)行改進(jìn);另一方面對速度更新公式中的rand()項提出增加限值系數(shù)的改進(jìn)方法。
①慣性權(quán)重按照下凹函數(shù)規(guī)律從大到小對數(shù)變化[13-15]的同時,綜合考慮粒子適應(yīng)度以及迭代次數(shù)兩方面因素,達(dá)到提高PSO算法搜索能力的目的。慣性權(quán)重改進(jìn)公式為:
ω=ωmax+(ωmin-ωmax)×
(3)
式中:ωmax、ωmin分別為慣性權(quán)重的最大值、最小值;t為PSO算法當(dāng)前迭代次數(shù);tmax為最大迭代次數(shù);k控制下凹程度;fitgoal為目標(biāo)適應(yīng)度,fit(i)為當(dāng)前粒子的適應(yīng)度。
根據(jù)迭代次數(shù)和適應(yīng)度動態(tài)改變慣性權(quán)重ω,在保證PSO算法前期的全局搜索能力、提高后期局部搜索能力的同時,綜合考慮適應(yīng)度,即離目標(biāo)位置距離遠(yuǎn)時增強(qiáng)全局搜索能力、離目標(biāo)位置距離近時增強(qiáng)局部搜索能力,從而提高了PSO算法的性能。
②首次將對粒子速度更新公式中的隨機(jī)項rand()添加限制條件的改進(jìn)方案應(yīng)用于非線性系統(tǒng)擬合中,當(dāng)rand()隨機(jī)產(chǎn)生的系數(shù)超出限值系數(shù)a時,重新產(chǎn)生一個新的rand()系數(shù)。此改進(jìn)可以在一定程度上限制粒子朝當(dāng)前最優(yōu)位置靠近的速度過快,在避免粒子群出現(xiàn)早熟現(xiàn)象的同時,提高粒子群的收斂速度和尋優(yōu)能力。
③仿真測試。本試驗數(shù)據(jù)來自南方醫(yī)科大學(xué)醫(yī)工系實驗室。所選壓力導(dǎo)絲為St.Jude公司的FFR測量導(dǎo)絲,在數(shù)字氣壓計和恒溫箱標(biāo)定的氣壓和溫度下測得試驗數(shù)據(jù)。試驗仿真樣本數(shù)據(jù)如表1所示。溫度范圍根據(jù)人體血液情況控制為36~40.5 ℃之間,壓力范圍根據(jù)人體血壓范圍控制在0~300mmHg之間。測試數(shù)據(jù)是在采集樣本數(shù)據(jù)的同時,隨機(jī)記錄的非樣本溫度和壓力點處壓力導(dǎo)絲的輸出。

表1 部分仿真樣本數(shù)據(jù)
壓力導(dǎo)絲溫度及非線性誤差如圖2所示。為了驗證本文提出的改進(jìn)方案的補(bǔ)償效果,使用BP神經(jīng)網(wǎng)絡(luò)和未改進(jìn)的PSO-BP算法作對比,通過Matlab仿真軟件,利用樣本數(shù)據(jù)對壓力導(dǎo)絲測量逆模型進(jìn)行擬合,比較補(bǔ)償結(jié)果。

圖2 溫度和非線性誤差關(guān)系圖
隱含層神經(jīng)元個數(shù)與補(bǔ)償精度關(guān)系如圖3所示,滿足精度要求8×10-6的最少個數(shù)為30。

圖3 隱含層神經(jīng)元個數(shù)與補(bǔ)償精度關(guān)系圖
根據(jù)前面所述的步驟,對算法參數(shù)進(jìn)行設(shè)定,完成壓力導(dǎo)絲的溫度和非線性補(bǔ)償,具體參數(shù)設(shè)置如下。BP神經(jīng)網(wǎng)絡(luò)參數(shù):神經(jīng)元層數(shù)為3層,輸入層神經(jīng)元個數(shù)為2,隱含層神經(jīng)元個數(shù)根據(jù)圖3結(jié)果確定為30,輸出層神經(jīng)元個數(shù)為1,迭代次數(shù)為3 000,精度要求為8×10-6,隱含層傳遞函數(shù)為“tansig”,輸出層為“pureline”,網(wǎng)絡(luò)訓(xùn)練函數(shù)為“trainlm”。PSO算法:粒子群種群大小為40,迭代次數(shù)為60;慣性權(quán)重按照不同的補(bǔ)償算法設(shè)定,ωmax取0.95,ωmin取0.4[13]。
限制系數(shù)a取0.2、0.4、0.6、0.8、0.9、1,對粒子群適應(yīng)度影響如圖4所示。當(dāng)a取0.8時,粒子群尋優(yōu)能力最好。

圖4 限制系數(shù)a對粒子群適應(yīng)度的影響圖
為了驗證改進(jìn)PSO-BP算法的補(bǔ)償效果,對樣本數(shù)據(jù)分別使用BP神經(jīng)網(wǎng)絡(luò)、標(biāo)準(zhǔn)PSO-BP算法和改進(jìn)PSO-BP算法,進(jìn)行50次擬合訓(xùn)練,確定了以全局最優(yōu)解的次數(shù)、平均均方誤差、最大均方誤差和最小均方誤差為評判標(biāo)準(zhǔn)。樣本數(shù)據(jù)的補(bǔ)償結(jié)果如圖5所示。仿真測試數(shù)據(jù)如表2所示。利用表2測試數(shù)據(jù),驗證每次訓(xùn)練擬合出來的非線性系統(tǒng)模型的泛化能力,仿真結(jié)果如表3和表4所示。

圖5 改進(jìn)PSO-BP算法補(bǔ)償效果圖

壓力/mmHg溫度/℃電壓值/V壓力/mmHg溫度/℃電壓值/V5536.91.77411339.62.8516837.21.89212938.82.7407537.52.03313137.72.3558938.02.22915037.92.5139538.22.31018840.23.46910038.52.45222339.83.459

表3 樣本數(shù)據(jù)補(bǔ)償結(jié)果

表4 測試數(shù)據(jù)補(bǔ)償結(jié)果
為了驗證改進(jìn)PSO-BP算法的泛化能力,用測試數(shù)據(jù)的滿量程誤差(fullscaleoffset,F(xiàn)SO)來衡量算法預(yù)測值與實際壓力值之間的偏差,這也直接反映了改進(jìn)算法擬合非線性系統(tǒng)的泛化能力。仿真結(jié)果如圖6所示,改進(jìn)PSO-BP算法擬合出來的結(jié)果偏離實際壓力值的程度明顯低于其他兩種算法。FSO定義公式為:
FSO=(Pp-Pt)/(Pmax-Pmin)×100%
(4)
式中:Pp為算法預(yù)測壓力值;Pt為實際壓力值;Pmax為測量范圍的最大壓力值;Pmin為測量范圍的最小壓力值。

圖6 測試數(shù)據(jù)補(bǔ)償效果對比圖
3結(jié)束語
根據(jù)仿真測試結(jié)果,對比圖2和圖5可以看出,改進(jìn)PSO-BP算法有效補(bǔ)償了FFR壓力導(dǎo)絲的溫度和非線性誤差。同時此改進(jìn)算法也有效地解決了BP神經(jīng)網(wǎng)絡(luò)算法和標(biāo)準(zhǔn)的PSO-BP算法存在的容易陷入局部最優(yōu)或無法找到全局最優(yōu)解、穩(wěn)定性和可靠性有待提高等問題。從表3樣本數(shù)據(jù)補(bǔ)償結(jié)果可以看出,改進(jìn)PSO-BP算法明顯提高了軟件算法的補(bǔ)償精度、穩(wěn)定性以及可靠性。從表4和圖6可以明顯看出,改進(jìn)PSO-BP算法的泛化能力與其他算法相比,也得到了一定程度的提升。綜上所述,本文提出的改進(jìn)PSO-BP算法具有結(jié)構(gòu)簡單、參數(shù)少、補(bǔ)償精度高、穩(wěn)定性好以及泛化能力強(qiáng)等優(yōu)點,在本項目后續(xù)低成本、高精度、高穩(wěn)定性的FFR測量系統(tǒng)中的壓力導(dǎo)絲測量信號溫度和非線性補(bǔ)償上具有很高的應(yīng)用價值。
參考文獻(xiàn)
[1] 王林林,黃進(jìn).血流儲備分?jǐn)?shù)在冠狀動脈介入策略選擇中的應(yīng)用價值[J].心血管病學(xué)進(jìn)展,2010,31(4):521-524.
[2] PIJLS N H J, FEARON W F, TONINO P A L, et al. Fractional flow reserve versus angiography for guiding percutaneous coronary intervention in patients with multivessel coronary artery disease:
2-year follow-up of the FAME (Fractional Flow Reserve Versus Angiography for Multivessel Evaluation) study[J]. Journal of the American College of Cardiology, 2010, 56(3): 177-184.
[3] 余學(xué)飛,梁維樂.基于Android的無線血流儲備分?jǐn)?shù)實時測量系統(tǒng)設(shè)計[J].河南理工大學(xué)學(xué)報(自然科學(xué)版),2014,33(2):202-209.
[4] 王正宏,馬以武,陳建群.基于BP網(wǎng)絡(luò)的厚膜壓力傳感器非線性校正[J].傳感器與微系統(tǒng),2007,26(2):82-84.
[5] 崔棟,劉敏敏,張光玉.BP神經(jīng)網(wǎng)絡(luò)在眼底造影圖像分割中的應(yīng)用[J].中國醫(yī)學(xué)物理學(xué)雜志,2011,28(1):2395-2398
[6] 趙輝, 王秀峰.LM算法在傳感器數(shù)據(jù)融合中的應(yīng)用[J].傳感器技術(shù), 2005, 24(5) : 77- 79.
[7] 孫艷梅.基于PSO的BP神經(jīng)網(wǎng)絡(luò)在壓力傳感器溫度補(bǔ)償中的應(yīng)用[J].傳感器技術(shù)學(xué)報,2014,27(3):342-346.
[8] GENG H, HUANG Y, GAO J,et al.A self-guided particle swarm optimization with independent dynamic inertia weights setting on each particle[J]. Applied Mathematics and Information Science, 2013,7(2), 545-552.
[9] REZAEE J.Enhanced leader PSO (ELPSO): A new PSO variant for solving global optimization problems[J].Applied Soft Computing,2015,26(26):401-417.
[10]孟飛,蘭巨龍,胡宇翔.基于改進(jìn)的量子粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測[J].計算機(jī)應(yīng)用研究,2014,32(5):1450-1453.
[11]宋明智,楊樂.基于改進(jìn)自適應(yīng)PSO算法的WSN覆蓋優(yōu)化方法[J].計算機(jī)應(yīng)用研究,2013,30(11):3472-3475.
[12]郭曉燕,郭民,韓紅桂.基于改進(jìn)型PSO-BP神經(jīng)網(wǎng)絡(luò)的SVI軟測量[J].控制工程,2014,21(6):873-877.
[13]陳貴敏,賈建援,韓琪.粒子群優(yōu)化算法的慣性權(quán)值遞減策略研究[J].西安交通大學(xué)學(xué)報,2006,40(1):53-56.
[14]LIAO C C,ZHAO X L.Blade layers optimization of wind turbines using FAST and improved PSO Algorithm.Renewable Energy,2012,4(2):227-233.
[15]LING S H,LU H H,LEUNG F,et al.Improved hybrid particle swarm optimized wavelet neural network for modeling the development of fluid dispensing for electronic packaging[J] .IEEE Transactions on Industrial Electronics,2008,66(9):344-346.
Research on the Temperature and Nonlinear Compensation Based on Improved PSO-BP Algorithm for Pressure Guidewire
Abstract:The subminiature pressure sensor in pressure guidewire used for measuring fractional flow reserve (FFR) in coronary artery is provided with serious problems of temperature and nonlinear drifts, and at present, the hardware method is the only way to compensate.Aiming at the demerits existing in hardware compensation method, such as low compensation accuracy and high cost, etc., the improved PSO-BP algorithm is proposed for realizing temperature and nonlinear compensation with software.The results of Matlab simulation show that comparing with hardware compensation method, and the software compensation methods using PSO-BP algorithm, or using BP neural network, the proposed software method using improved PSO-BP algorithm features many merits, including low cost, high stability, strong generalization capability and avoid getting into local optimum.
Keywords:Pressure guidewirePressure sensorTemperatureNonlinear compensationNonlinear driftParticle swarm optimization(PSO)BP neural networkMatlab
通訊作者余學(xué)飛(1965-),男,博士,教授;主要從事智能醫(yī)療儀器的研究。E-mail:xuefeiyu@smu.edu.cn。
中圖分類號:TH811;TP212
文獻(xiàn)標(biāo)志碼:A
DOI:10.16086/j.cnki.issn 1000-0380.201606004
廣東省科技計劃基金資助項目(編號:2012A032200015)。
修改稿收到日期:2015-12-30。
第一作者范廣坡(1990-),男,現(xiàn)為南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程專業(yè)在讀碩士研究生;主要從事智能醫(yī)療儀器方向的研究。