董斌,王云濤,賈立男,王婭南
(1.河北大學附屬醫院 發展規劃辦公室,河北 保定 071002;2.河北大學 電子信息工程學院,河北 保定 071002;3.河北大學附屬醫院 病理科,河北 保定 071002)
醫學圖像的分類檢測方法目前主要為自適應強、學習能力強的機器學習算法中的分類器算法.然而,單個分類器在處理高維度圖像時識別率較低,多個分類器一起使用又會增加計算的復雜度.因此,分類器的優化問題成為了很多圖像處理領域的一個熱點問題[1].如何獲得理想狀態的目標極值就是最優化問題,而這個目標的實現則是在滿足約束條件的可行域上找到的,并且不需要對所有可能的結果進行檢驗[2].
優化算法因其簡單易用的特點獲得許多學者的關注[3].優化算法中最常用的是群智能優化算法,該算法的主要思想是模仿自然界中的生物種群行為.粒子群算法是群智能優化算法里面最新被提出的,該算法簡單易實現,收斂速度快,并且在算法的性能和分析上取得了眾多研究成果[4],因此被廣泛應用于優化問題[5].
本文通過提出自適應尋優函數來改進PSO(particle swarm optimization)優化算法,將改進的PSO算法應用于SVM(support vector machine)分類器,進行醫學圖像的分類檢測,從而提高SVM的分類準確率.
近年來,智能優化算法主要有:遺傳算法[6]、人工神經網絡算法、模擬退火算法[7]、螞蟻群優化算法[8]和粒子群優化算法[9].
粒子群優化算法的原理簡單易使用,且應用相較于其他算法更為廣泛.因此,本文選擇對粒子群算法進行改進,并通過使用改進的粒子群算法來優化分類器從而提高分類器分類結果的準確率.經典粒子群算法的缺點主要體現在2個方面:1)因為算法收斂速度快,粒子尋優存在趨同性,致使算法極易步入局部極小;2)算法在尋優后期出現嚴重的震蕩現象,從而對算法后期的收斂速度產生較大影響[10].針對算法所存在的問題,大部分學者的研究主要集中在分析算法中的粒子的運動軌跡和算法的收斂性[11]2個方面.粒子的運動軌跡相關的研究主要有:Clerc等[12]研究了粒子群算法中粒子的運動情況并進行了分析說明;Eberhart等[13]在粒子運動的參數選取上做了大量的實驗并提出了參數值的給定數值;Suganthan等[14]提出在迭代的過程中,2個學習因子線性遞減的方式可以改進粒子運動的軌跡;Ratnaweera等[15]則提出學習因子c1線性遞減、學習因子c2線性遞增的方法;在文獻[16]中的定理則提出粒子群算法可以不用考慮粒子的速率.算法的收斂性的相關研究主要有:Shi等[17]首次發表了慣性權重線性遞減概念的改進方法;文獻[18]針對慣性權重的調整提出了迭代次數增加而慣性權重減小的方法,以此實現算法收斂性能的改進;文獻[19]給出了隨機慣性權重策略;文獻[20]提出了新的改善慣性權重的方式;文獻[21]在標準粒子群算法中加入了收斂因子k來改進算法的收斂性.
粒子群算法[22]的混合應用在函數的優化[23-24]、神經網絡的權值訓練[25-26]、智能控制[27-28]、工程應用[29]和電力系統的優化[30-31]等方面較為廣泛.例如,在神經網絡的訓練中,有研究人員將遺傳算法和粒子群算法結合對神經網絡進行權值訓練[32],使該算法簡便好用[33].醫學圖像的分類檢測結果能夠直接影響醫生的臨床診斷和病人的后續治療,所以智能化的分類檢測算法是非常必要的.分類器的設計和優化成為了提高分類器性能的主要方法.例如,研究人員通過使用PSO算法來優化SVM參數從而提高SVM的性能,進而大大提高了病理圖像分析處理結果的精度[34].
經典粒子群算法是在對動物集群活動的行為觀察的基礎上,利用群體中的個體對信息的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,從而獲得最優解.
經典粒子群算法的速度位置更新公式如下:
假設搜索范圍維度為d,粒子個數為m,其中第i個粒子在時刻t的速度、位置更新公式為
(1)
(2)

適應性原則,即當改變行為模式帶來的回報是值得的時候,群體應該改變其行為模式.基于此原則,改進的粒子群算法中增加了位置權重和加強粒子之間相關性的函數,并將不再考慮粒子速度的影響.
首先,根據適應性原則,在現有PSO算法的位置更新公式的基礎上加入了位置權重w,使得粒子群在搜索最優位置的過程中,能夠更好地判斷最優位置.其次,引入了函數s*(maxt-t)/maxt,其中,系數s為相關性系數,加強粒子與粒子群位置之間的相關性.最后,去掉了速度更新公式,根據相關研究,由于粒子的速度只是代表了粒子移動的快慢程度,并不代表粒子能夠有效趨近最優解位置,所以防止粒子偏離正確的方向,影響后期收斂速度,本文將不再考慮速度的影響.
改進的粒子群算法的計算公式表示為
(3)

公式(3)中新引入的函數s*(maxt-t)/maxt是為了增強粒子間的相關性,其中s是范圍為[0,2]的相關性系數,maxt表示最大迭代次數,t為當前迭代次數,xbest表示群體的位置最優值.

通過對腺癌病理圖像進行分類實驗,驗證本文算法的有效性.實驗中用于進行分類檢測的特征是HOG特征.本章將通過比較5種算法的分類結果來驗證算法的性能.這5種算法分別是:1)沒有使用粒子群算法優化的SVM分類算法;2)經過經典粒子群算法優化的SVM分類算法;3)引入了慣性權重w的PSO優化SVM的分類算法;4)引入了收斂因子k的PSO優化SVM的分類算法;5)本文提出的改進的粒子群算法優化的SVM分類算法.這5種算法均在MATLAB下實現.
本實驗的算法是在MATLAB R2016a版本下實現的.實驗測試數據是500張隨機在網絡中選取的經由專家診斷的腺癌病理圖像,每張圖像的像素為128*64.在實驗過程中,將圖像分為訓練集、測試集和驗證集3個部分,其中,訓練集和測試集分別由200張圖像組成,并根據標本的性質分為100張正樣本和100張負樣本.訓練集和測試集將用于對SVM分類器進行初始化的訓練和測試,其余的100張病理圖像將作為驗證集用于驗證不同算法的分類有效性.
改進的PSO算法以及經典PSO算法的2個學習因子c1和c2根據前人經驗分別初始化為1.7和1.5.改進PSO算法中引入的迭代尋優函數中的系數s,取值范圍設定為[0,2].
改進的PSO優化SVM參數算法,主要是在位置更新公式中加入了原來公式中沒有的位置權重以及用于增強粒子之間相關度的函數公式,然后去掉了速度更新公式.在運行算法時,首先通過改進的PSO算法優化SVM的參數c和g;然后建立SVM并進行訓練;最后訓練好的SVM對驗證集里的圖像進行分類驗證,得到分類結果.
本文改進粒子群優化SVM算法的程序步驟如下.
Step1:首先對輸入的病理圖像進行處理,將輸入的圖像轉換為灰度圖像,并歸一化處理.
Step2:然后對訓練集以及測試集里面的每一幅圖像進行HOG特征提取,HOG特征提取公式為
(4)
其中,s(x,y)是像素點(x,y)的特征信息,Gx和Gy是像素點(x,y)在水平和垂直方向的特征信息.
Step3:特征提取結束后,建立所有訓練圖像標簽
Trainlabels=imdsTrain.labels,
(5)
Trainlabels表示建立的訓練標簽,imdsTrain.labels表示訓練圖像建立的標簽名.
Step4:改進的PSO尋優算法優化SVM參數c和g,進行數據訓練完成SVM模型建立以及訓練,PSO優化公式為
(6)

Step5:測試并計算準確率,準確率公式為
Accuracy∶ACC=((PT+NT)/Dsamples)×100%,
(7)
其中,PT表示正樣本正確檢出數,NT表示負樣本正確檢出數.Dsamples表示樣本圖像數目.
Step6:驗證集驗證分類結果,1表示分類正確,0表示分類錯誤

(8)
圖1表示分別使用測試集200張圖像、驗證集100張圖像進行檢驗的分類結果.圖1表示的是改進的PSO優化SVM分類算法分別在測試集和驗證集上的分類檢測結果.橫坐標表示分類結果,1表示正確檢出數,0表示誤檢數;縱坐標表示樣本數量.本文算法在測試集中的檢出數為197張,誤檢數為3張,分類準確率為98.5%;驗證集中的檢出數為99張,誤檢數為1張,分類準確率為99%.

圖1 改進粒子群優化算法優化SVM分類器的分類結果Fig.1 Classification results of SVM classifiers optimized by improved particle swarm optimization algorithm
由于改進的粒子群算法不再考慮速度對粒子運動的影響,所以不存在算法后期由于粒子速度的影響,導致微粒失去探索新區域的能力.此外,粒子的個體以及群體的綜合位置信息通過自適應迭代尋優函數的處理,能夠使得粒子搜索到的最優解更加可靠,所以驗證效果較好.
本節中PSO優化算法的改進在速度更新公式中引入了慣性權重w,實驗結果為圖2所示.

圖2 帶有慣性權重的粒子群優化算法優化SVM分類器的分類結果Fig.2 Classification results of SVM classifiers optimized by particle swarm optimization algorithm with inertial weight
圖2為該算法分別在測試集和驗證集上的分類結果,橫坐標表示分類結果,1和0分別表示檢出數和誤檢數;縱坐標表示測試集樣本數量.該算法在測試集中的檢出數為190張,誤檢數為10張,分類準確率為95%;在驗證集中的檢出數為92張,誤檢數為8張,分類準確率為92%.算法引入了慣性權重,提高了PSO性能,由于粒子后期震蕩的出現會導致分類出現誤差的情況.
本節中PSO算法的改進是在速度更新公式中引入了收斂因子k,實驗結果為圖3所示.圖3為該算法分別在測試集和驗證集上的分類結果,橫坐標表示分類結果,1 和0分別表示檢出數和誤檢數;縱坐標表示測試集樣本數量.該算法在測試集中的檢出數為170張,誤檢數為30張,分類準確率為85%;在驗證集中的檢出數83張,誤檢數為17張,分類準確率為83%.算法引入了收斂因子,加快了粒子收斂速度的同時但是由于粒子速度容易陷入局部極小值,出現局部最優的情況,所以分類結果較差.

圖3 帶有收斂因子的粒子群優化算法優化SVM分類器的分類結果Fig.3 Classification results of SVM classifiers optimized by Particle swarm optimization algorithm with convergence factor on test set and verification set
經典PSO優化的SVM算法在測試集和驗證集上的分類結果為圖4所示.圖4為經典PSO優化SVM算法分別在測試集和驗證集上的分類結果,橫坐標表示分類結果,1和0分別表示檢出數和誤檢數;縱坐標表示測試集樣本數量.該算法在測試集中的檢出數為166張,誤檢數為34張,分類準確率為83%;在驗證集中的檢出數為75張,誤檢數為25張,分類準確率為75%.
經典粒子群算法中,粒子在解空間中進行搜索時,由于位置更新公式中的速度這一屬性的影響,在尋優后期出現了慣性權值過小而不能探索新領域的問題,從而導致算法陷入局部最優.圖4說明這種局部最優的問題嚴重影響了粒子最優位置的尋找,所以在進行優化SVM分類檢測時效果欠佳.

圖4 經典粒子群優化算法優化SVM分類器的分類結果Fig.4 Classification results of SVM classifiers optimized by classical particle swarm optimization algorithm on test set and validation set
使用原始的SVM分類算法來進行分類檢測.圖5為無PSO優化的SVM分類器的分類結果.

圖5 無優化的SVM分類器的分類結果Fig.5 Classification results of non-optimized SVM classifiers on test set and validation set
圖5表示無PSO優化的SVM算法分別在測試集和驗證集上的分類結果,橫坐標表示分類結果,1和0分別表示檢出數和誤檢數;縱坐標表示樣本數量.在測試集中的檢出數為134張,誤檢數為66張,分類準確率為67%;在驗證集中的檢出數為50張,誤檢數為50張,無PSO優化的算法在驗證集上的分類準確率為50%.在沒有使用PSO算法優化SVM參數的情況下,算法的分類檢測結果較差.
前面提到的各個算法的分類結果,本文定義準確率為正確檢測出的圖像數目占所有圖像數目的百分比,其中測試集的分類準確率的計算公式為
Accuracy:ACC=((PT+NT)/Dsamples)×100%.
(9)
公式(9)為計算準確率的公式,其中PT表示正樣本正確檢出數,NT表示負樣本正確檢出數.Dsamples表示測試集里面的樣本圖像數目.
驗證集的分類準確率為
Accuracy:ACC=((PT+NT)/Dsamples)×100%,
(10)
其中,PT表示驗證集中正樣本正確分類的圖像數,NT表示驗證集中負樣本正確分類的圖像數,Dsamples表示驗證集樣本總數.
5種算法的實驗結果對比如表1所示.

表1 5種算法結果數據對比Tab.1 Comparison of the results of the five algorithms
根據表1所示,5種算法中本文算法在測試集和驗證集上的分類準確率明顯要較高于其他算法.表1中每個算法在測試集上和驗證集上的分類準確率的對比,表明了:1)測試集的分類結果表明,本文算法引入位置權重和相關度函數能夠考慮到粒子當前時刻的個體位置信息和粒子整體的最優位置信息來更新粒子的位置,這種方法是可行的.2)驗證集的分類結果表明,這幾種算法得到的SVM分類器在進行實際操作時本文算法得到的SVM分類器分類性能較好,進一步表明分類器的優化是提高分類器分類性能的有效方式.
本文所提出的方法通過不斷改進的粒子群算法使得函數尋優跳出了局部最優值,尋找到了位置最優解,從而使得分類檢測結果得到提高.實驗結果表明本文提出的改進的粒子群算法在圖像分類檢測的精確度上得到了較好的效果.
針對粒子群算法在易陷入局部最優解、后期震蕩等問題,采用在位置公示中引入了粒子的慣性權重以及表示粒子之間相關度的公式的方法,改進了PSO算法,避免了局部最優的出現,有效提高了算法的穩定性和可靠性,減少了后期易陷入局部最優的情況.通過使用腺癌病理圖像進行實驗證明本文算法在分類檢測病理圖像上是實用有效的.下一步將繼續在參數優化和分類器檢測方面展開研究,從多樣本分類檢測和多算法結合角度研究算法的性能.本文給出了優化支持向量機參數的改進PSO算法,在不考慮速度因素的影響下,使得PSO優化性能得到提升,并且支持向量機分類檢測的準確率提高.