吳明珠,陳瑛,李興民
1.廣州工程技術職業(yè)學院信息工程學院,廣東廣州510075;2.華南師范大學計算機學院,廣東廣州510631;3.南方醫(yī)科大學珠江醫(yī)院,廣東廣州510280
使用誤差BP算法的BP神經網絡,包括了兩段學習過程[21]:(1)信號的正向傳播,首先輸入信號,然后通過隱含層作用于輸出層的節(jié)點,經過非線性變換,產生輸出層每個節(jié)點的實際輸出值;(2)對輸出誤差進行BP,若前個過程得到的實際輸出值與理想的輸出值不相符合,則通過隱含層向輸入層逐層反傳,遞歸地計算出誤差,根據此誤差來循環(huán)調整權值,這也是神經網絡學習訓練的循環(huán)過程[22]。具體算法過程包括以下主要組成部分。
將BP 神經網絡定義為BPnet,樣本輸入向量Ak=(a1,a2,…,an),輸出向量Yk=(y1,y2,…yq)。在隱含層,輸入向量Sk=(s1,s2,…sp),輸出向量Bk=(b1,b2,…bp);在輸出層,輸入向量Lk=(l1,l2,…lq),輸出向量Ck=(c1,c2,…,cq)。其中,k= 1,2,…,m,為樣本數,輸入層設置的節(jié)點數為n,隱含層設置的節(jié)點數為p,輸出層設置的節(jié)點數為q[22]。
從輸入層到隱含層的權值設為wij,其中i=1,2,…,n;j= 1,2,…,p。從隱含層到輸出層的權值設為vjt,其中j= 1,2,…,p;t= 1,2,…,q。隱含層閾值為θj,j= 1,2,…,p;輸出層閾值為γt,t= 1,2…,q。
隱含層輸出為:
輸出層輸入為:
輸出層輸出為:
作者用詩意的筆調,描述了她在虛擬的“海邊草屋”,聽到“竹林聽雨”的誦讀聲,竟宿命般地被這位語言表達者磁性的聲音吸引了,變得如醉如癡。從此,“竹林聽雨”成為她尋尋覓覓的知音。作者對他們在虛擬空間的聊天,寫得詩意雋永,禪味幽遠,又恣意汪洋,顯示兩個人精神的標高。這樣的聊天,是知的相遇,也應當是情的融合,愛的訴說,以至夜夜相見,不見不散。這一聊就是七年時光。
把輸出誤差經過隱含層向輸入層逐層進行BP,在這個過程中,誤差沿梯度方向減小,并且對應于最小誤差的權值和閾值在反復訓練和學習后得以確定[23]。
輸出層權值調整量為:
其中,α∈(0,1),t= 1,2,…,q;j= 1,2,…,p。
輸出層閾值調整量為:
隱含層到輸入層連接權值調整量為:
隱含層閾值調整量為:
每個節(jié)點的權值調整與每個學習樣本的誤差Ek成比例,這種思想即為標準誤差BP 算法。但是如果把所有學習樣本的全局誤差全部輸入到網絡后再統(tǒng)一進行連接權值的調整,這種思想即為累積誤差BP算法[23],本研究使用的便是全局誤差。
將一組樣本輸入網絡后反復進行學習訓練,通過調整網絡參數即權值和閾值來控制實際輸出值在規(guī)定的范圍內。
網絡的全局誤差通過多次訓練之后趨于最小值。在訓練過程中,為避免收斂到局部最小點,本研究將一個小隨機數即動量因子添加到每個權值上,并且適當改變隱含層單元的個數。
Stein[24]在高維的Hardy空間中推廣解析函數,引進了Stein-Weiss 解析函數的定義。設在Rn區(qū)域中的向量函數集F=(μ1,μ2,…,μn) ,若F是該區(qū)域上實調和函數的梯度,則稱F是該區(qū)域的Stein-Weiss解析函數,也稱為共軛調和函數系[21]。
F=(μ1,μ2,…,μn) 滿足廣義Cauchy-Riemann 方程:,特別當n=2 時,F(xiàn)=u+iv的解析充要條件是:(u,v)是Stein-Weiss解析函數[21]。
設:
血管的生長恰好是多方向的,而Stein-Weiss 解析函數是高維函數理論,這為研究血管分割提供了適合的高維數學工具。與同為高維數學理論的八元數分析相比較,Stein-Weiss 相比八元數解析性更好。文獻[21]中首次使用Stein-Weiss 解析函數特征進行血管分割,實驗結果表明該方法分割出的血管更加精細。然而隨著人工智能技術的發(fā)展,人工神經網絡在醫(yī)學圖像分割技術領域也應用廣泛,為了更好地提高自動診斷的準確度,本研究將Stein-Weiss 解析函數與神經網絡技術相結合,提出一種新的血管分割算法。
傳統(tǒng)的BP神經網絡血管分割算法由于對血管樣本進行反復訓練,網絡學習收斂的速度較慢,所以花費時間較長;而且網絡的訓練程度也會影響識別效果,這也可能會導致識別率不高[25]。因此本研究提出了一種新的基于Stein-Weiss解析性的BP神經網絡血管分割算法。因為在三維醫(yī)學圖像數據中血管的分布方向大多數是垂直的或者是傾斜的,所以本研究的算法綜合考慮三維體素在斜方向和垂直方向的結構特征,即使用了體素的六鄰域結構,然后將依據Stein-Weiss 函數解析性質所得到的特征值輸入到BP神經網絡的輸入層進行反復訓練,最終得到血管的分割結果。
定義六維向量空間中的向量函數f(x),f(x)=f1e1+f2e2+f3e3+f4e4+f5e5+f6e6。其中f1、f2、f3、f4、f5、f6分別是體素點6個鄰域的灰度值。向量函數的虛部e1、e2、e3、e4、e5、e6對應的數值是體素的上、下、左、右、前、后這6 鄰域的坐標值[21]。體素的6 鄰域如圖1所示。
將向量函數f(x)代入廣義Cauchy-Riemann 式,得到差分形式,其中i≠j。
圖1 體素的6鄰域示意圖Fig.1 Six neighborhoods of a voxel
實際圖像的解析性不會都完全符合上面公式,根據Stein-Weiss 函數的解析性定理,使用恰當的閾值T來判斷該體素點是否滿足解析性。將步驟3.2中得到的公式改寫成,并將它們展開得到如下16個特征值:
設閾值T=0.6,若a0,a1,…,a15這16 個特征值均小于T,則認為該體素在血管內部,反之,則視該體素處于血管邊緣。重復以上步驟。
將步驟3.4 即基于Stein-Weiss 解析函數的特性分割所得到的血管樹作為BP 神經網絡的樣本,輸入樣本向量進行訓練,直至誤差達到設定閾值時停止,并保存權值和閾值。
選擇待分割血管圖像,提取該血管的特征值a0,a1,…,a15,以這16 個特征值輸入到BP 網絡的輸入層,利用步驟3.5 已經訓練好的網絡對輸入向量進行訓練,動量因子設置為0.85,直到誤差收斂到指定值0.001,最后輸出的即為分割結果。本研究使用的BP神經網絡的輸入層有16節(jié)點,輸出層有2個節(jié)點。合適的隱含層節(jié)點數的設置對網絡的訓練影響很大,故本研究根據文獻[26]所提出來的確定方法進行實驗測試,選取最佳節(jié)點個數為8。
本研究是在Window7 系統(tǒng)上做的實驗;算法是使用Visual Studio 和MATLAB7.0 編程工具來實現(xiàn);所有腹部CT 序列實驗數據都是由南方醫(yī)科大學珠江醫(yī)院提供。選取肝靜脈的造影數據S70 中的300張CT 切片進行實驗,CT 數據大小為512×512×320。隨機選取其中200 張CT 切片,將其作為文獻[25]中的傳統(tǒng)BP神經網絡算法的輸入樣本;同時,分別利用文獻[20]中提出的八元數和本研究提出的Stein-Weiss 解析函數的特性對這200 張CT 切片先進行分割并得到血管樹邊緣,然后將它們分別作為文獻[20]提出的算法和本文算法中的BP 網絡的輸入樣本。余下的100 張CT 切片圖像作為網絡測試樣本,并將造影數據S70 中的第109 張CT 切片作為測試樣本(圖2)。
圖2 S70第109張CT切片F(xiàn)ig.2 The 109th CT slice of S70
本研究對比了文獻[20]中提出的基于八元數函數解析性質的BP神經網絡分割算法以及文獻[25]中的傳統(tǒng)BP神經網絡算法,分別對圖2進行了血管分割,實驗結果如圖3所示。從這3個分割結果切片可以看出這3種算法都可以將大部分血管提取出來,然而相對于圖3b和圖3c,圖3a能夠分割出更多的血管分支。
圖3 3種算法對S70的分割切片圖Fig.3 Results of S70 segmentation by 3 algorithms
為了更直觀地進行比較,分別對這3種算法的分割結果進行三維重建,得到的血管模型如圖4所示。從這3 個三維重建結果比較可以看出圖4a 利用本文算法分割出來的血管相對于圖4b和圖4c而言分割出來的分支要多,而且噪聲點要少,所以本文算法分割效果更精細、更清晰。
為了客觀評價本文算法的分割效果,使用醫(yī)生手工分割結果作為分割評價的金標準[27]。對上述實驗數據S70,分別運用本文算法、基于八元數解析性的BP 神經網絡分割算法以及傳統(tǒng)的BP 神經網絡算法,計算出血管分割效果的敏感度和特異度,同時記錄下3種算法各自所用的平均運行時間,最終測試結果如表1所示。
圖4 3種算法對S70肝血管分割重建結果圖Fig.4 Reconstruction results based on S70 hepatic vessel segmentation by 3 algorithms
表1 3種算法的分割效果評價Tab.1 Evaluation of results of segmentation by 3 algorithms
從表1可以看出本研究所提出的基于Stein-Weiss 解析性的BP 神經網絡血管分割算法對血管圖像的分割有較好的實驗效果。從實驗結果的敏感度和特異度分析來看,相對于基于八元數解析性的BP神經網絡血管分割算法和傳統(tǒng)BP 神經網絡算法,本文算法分割出的血管會更清晰、更精細。在運行時間方面,使用相同的機器配置,實驗中選取200張S70數據圖像作為樣本進行訓練,傳統(tǒng)BP 神經網絡需要訓練迭代的次數較多,比較耗時,算法平均運行時間為68 s;基于八元數解析性的BP 神經網絡分割算法雖然訓練迭代的次數較少,但是前期進行八元數血管分割也需要耗費一些時間,所以該算法的平均運行時間為50 s;本研究所使用的血管分割算法,需要訓練迭代的次數最少,然而同樣需要前期進行Stein-Weiss 解析函數的血管分割,本文算法的平均運行時間為35 s,相對于前面兩種算法而言,節(jié)省了時間。本研究所提出的基于Stein-Weiss解析性的BP神經網絡血管分割算法具有較大的優(yōu)勢。
本研究結合高維數學工具Stein-Weiss 解析函數與神經網絡,提出一種基于Stein-Weiss 解析性的BP神經網絡血管分割算法。和傳統(tǒng)的BP神經網絡算法比較,該算法提高了三維重建圖像的精度,運算時間也達到了實時應用。不過從重建出來的三維血管樹中可以看到一些噪聲點,因此接下來的研究方向是:如何在保證分割精度和效率的前提下,提高分割的抗噪性。